error: depend on stdio
[gnulib.git] / ChangeLog
1 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
2
3         error: depend on stdio
4         Problem reported by Nikos Mavrogiannopoulos in
5         <http://lists.gnu.org/archive/html/bug-gnulib/2013-11/msg00084.html>
6         * modules/error (Depends-on): Add stdio.
7
8 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
9
10         * doc/relocatable-maint.texi (Supporting Relocation): Improve
11         wording.
12         Reported by Reuben Thomas <rrt@sc3d.org>.
13
14 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
15
16         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
17         New function and macro, to work around _DARWIN_C_SOURCE problem.
18         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
19
20 2013-11-11  Pádraig Brady <P@draigBrady.com>
21
22         base64: provide a fast path for encoding well sized buffers
23         Avoid conditionals in the base64 encoding loop,
24         which was seen to give 60% better throughput.
25         * lib/base64.c (base64_encode_fast): A new function to be called
26         when we don't want to NUL terminate, and we have enough space
27         in the output to encode the given input.
28         (base64_encode): Call the _fast() version when appropriate.
29         Also remove a redundant mask with 0x3F on the first encoded byte.
30
31 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
32
33         extern-inline: port better to OS X 10.9
34         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
35         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
36         OS X 10.9, except for g++ where the bug is still present.
37         See <http://trac.macports.org/ticket/41033>.
38
39 2013-11-08  Eric Blake  <eblake@redhat.com>
40
41         fpending: fix regression on DragonFly BSD
42         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
43         * lib/fpending.h (__fpending): Don't declare twice.
44         Reported by GW in
45         <https://lists.gnu.org/archive/html/bug-m4/2013-11/msg00000.html>
46
47 2013-11-05  Jim Meyering  <meyering@fb.com>
48
49         hash: relax license to LGPLv2+, for libguestfs
50         * modules/hash (License): Change from GPL to LGPLv2+.
51
52 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
53
54         intprops: port to Oracle Studio c99
55         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
56         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
57
58 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
59
60         obstack: pacify HP C
61         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
62         warning "conversion from pointer to smaller integer" from HP
63         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
64         C89 or later nowadays, so cast to void instead of int.  Privately
65         reported by H.Merijn Brand.  Also, change header to match glibc's,
66         to make checking against glibc easier.
67
68 2013-10-29  Jim Meyering  <meyering@fb.com>
69
70         maint.mk: prefer gpgv2 over gpgv
71         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
72         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
73         Reported by Gary Vaughan.
74
75 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76
77         isnan: port to VAX
78         Reported by John Klos for NetBSD-5/VAX in
79         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00133.html>.
80         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
81         (FUNC): Use it.
82
83 2013-10-28  Jim Meyering  <meyering@fb.com>
84
85         gnulib-tool: protect against CDPATH
86         * gnulib-tool: Many "cd" built-in functions print a directory name
87         to stdout when CDPATH is set, e.g.,
88           $ bash -c 'CDPATH=/; cd tmp'
89           /tmp
90         Unset it, when possible.  Prompted by a comment from Bruce Korb.
91
92         maint.mk: restore functionality removed by recent change...
93         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
94         the context of a shallow-cloned gnulib repository: "git describe"
95         would fail in such a directory.  However, that change made it so
96         the reported gnulib revision no longer includes the version number
97         or a commit count, even when run from a full clone.
98         * top/maint.mk (gnulib-version): Use the full "git describe"
99         output when possible, e.g., the form above, rather than the
100         abbreviated, no-tag, no-commit-count string, and fall back to
101         using a 10-byte hash, rather than the default minimal-length
102         hash prefix, since while the minimal-length one may be fine today,
103         it is likely not to be unique for very long.
104
105 2013-10-26  Jim Meyering  <meyering@fb.com>
106
107         maint.mk: fix "release" target to build _version
108         This fixes a bug in README-release whereby following the outlined
109         steps, one would publish a tarball whose programs would report
110         --version output not consistent with the package version number.
111         This bug caused grep-2.15 to produce a grep program whose
112         --version option made it print 2.14.56-1e3d rather than 2.15.
113         * top/maint.mk (release): Making this target build "_version"
114         ensures that the new version number is reflected in configure.
115
116 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
117
118         install-reloc: Support multi-binary installation.
119         * build-aux/install-reloc: Support installing multiple programs in
120         one invocation, as done by Automake starting with commit
121         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
122         Haible <bruno@clisp.org>, archived at
123         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
124         Reported by Sylvain <beuc@gnu.org>.
125
126 2013-10-21  Michael Haubenwallner <michael.haubenwallner@salomon.at>
127
128         selinux-h: Really build without selinux when library is missing.
129         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
130         continue without selinux, as already told in the warning message.
131
132 2013-10-21  Jim Meyering  <meyering@fb.com>
133
134         regex: also remove dependency on HAVE_WCSCOLL
135         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
136
137 2013-10-21  Reuben Thomas <rrt@sc3d.org>
138
139         xfreopen: Fix typo. s/frepoen/freopen/
140         * lib/xfreopen.c: Fix description.
141         * modules/xfreopen: Likewise.
142
143 2013-10-21  Jim Meyering  <meyering@fb.com>
144
145         regex: don't depend on wcscoll
146         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
147         It is no longer used.
148
149 2013-10-20  Jim Meyering  <meyering@fb.com>
150
151         error: add the printf attribute to a static function
152         * lib/error.c (error_tail): Add the printf attribute, to placate
153         gcc's -Werror=suggest-attribute=format option.
154
155 2013-09-30  Jim Meyering  <meyering@fb.com>
156
157         fpending, obstack, strerror-override: use pure+const function attrs
158         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
159         * lib/obstack.c (_obstack_allocated_p): Likewise.
160         * lib/obstack.h (_obstack_memory_used): Likewise.
161         (_obstack_memory_used): Likewise.
162         * lib/strerror-override.h (strerror_override): Declare with
163         the "const" attribute.
164
165 2013-10-18  Eric Blake  <eblake@redhat.com>
166
167         extern-inline: make safe for -Wundef usage
168         Reported by Vladimir 'phcoder' Serbinenko in
169         https://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00078.html
170         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
171
172 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
173
174         mkfifo-tests, etc.: allow HP-UX 11.11 bug
175         Problem reported by Daniel Richard G. in
176         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00068.html>.
177         * doc/posix-functions/mkfifo.texi (mkfifo):
178         * doc/posix-functions/mkfifoat.texi (mkfifoat):
179         * doc/posix-functions/mknod.texi (mknod):
180         * doc/posix-functions/mknodat.texi (mknodat):
181         Document the HP-UX 11.11 bug.
182         * tests/test-mkfifo.h (test_mkfifo):
183         Allow the HP-UX 11.11 bug.
184
185 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
186
187         acl: allow cross-compilation to Gentoo
188         Problem reported by Gabriel Marcano in
189         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00058.html>.
190         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
191         test only whether it links.
192
193 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
194
195         mgetgroups: remove dependency on realloc-gnu
196         The dependency violates the comment in realloc-gnu, which
197         says that tests can't depend on realloc-gnu; some tests depend
198         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
199         Problem reported by Daniel Richard G. in
200         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00056.html>.
201         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
202         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
203         not realloc-gnu.
204
205 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
206
207         regex-tests: port to HP-UX 11.11
208         Problem reported by Daniel Richard G. in
209         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00052.html>.
210         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
211
212 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
213
214         verify: document some 'assume' pitfalls
215         * doc/verify.texi (Compile-time Assertions):
216         Mention that 'assume (E)' can sometimes slow things down.
217         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
218
219 2013-10-10  Eric Blake  <eblake@redhat.com>
220
221         strtoumax: fix typo in previous commit.
222         * modules/strtoumax (Depends-on): Fix typo.
223         * modules/strtoimax (Depends-on): Likewise.
224
225 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
226
227         strtoumax: port to Solaris 8
228         This problem was introduced in the recent HP-UX patch.
229         Reported by Tom G. Christensen in
230         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00037.html>.
231         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
232         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
233
234 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
235
236         strtoimax, strtoumax: port to HP-UX 11.11
237         Problem reported by Daniel Richard G. in
238         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00023.html>.
239         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
240         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
241         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
242         REPLACE_STRTOUMAX.
243         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
244         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
245         Replace the function if defined as a macro but not as a function.
246         * modules/inttypes-incomplete (inttypes.h): Substitute
247         REPLACE_STRTOUMAX.
248         * modules/strtoumax (configure.ac): Replace strtoumax if
249         REPLACE_STRTOUMAX.
250
251 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
252
253         strtoimax: port to HP-UX 11.11
254         Problem reported by Daniel Richard G.
255         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
256         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
257         they might clash with inttypes.h.
258
259 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
260
261         New module 'count-trailing-zeros'.
262         * MODULES.html.sh: Mention it.
263         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
264         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
265         * modules/count-trailing-zeros-tests:
266         * tests/test-count-trailing-zeros.c:
267         New files.
268
269         count-leading-zeros: port to MSC; support types wider than 64 bits
270         The ideas behind the MSC port are stolen from Emacs.
271         * lib/count-leading-zeros.h:
272         Don't include verify.h: it's no longer needed, as types wider than
273         64 bits are now supported.
274         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
275         performance with MSC.  All uses changed.  Do not assume that TYPE
276         has at most 64 bits.
277         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
278         All uses changed.  Fold the subtraction from 31 into the table.
279
280         count-one-bits: port to MSC; support types wider than 64 bits
281         The ideas behind the MSC port are stolen from Emacs.
282         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
283         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
284         Don't include verify.h: it's no longer needed, as types wider than
285         64 bits are now supported.
286         (COUNT_ONE_BITS_GENERIC): New macro.
287         (popcount_supported) [_MSC_VER]: New inline function.
288         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
289         performance with MSC.  All uses changed.  Do not assume that TYPE
290         has at most 64 bits.
291         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
292
293 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
294
295         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
296         * lib/mountlist.c (read_file_system_list): fix leak of directory
297         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
298
299 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
300
301         tests: improve diagnostic when an assertion fails
302         * tests/macros.h (ASSERT): Report the assertion that failed.
303
304 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
305
306         verify: new macro 'assume'
307         This is taken from Emacs, and should be generally useful.
308         * doc/verify.texi (assume): Document it.
309         * lib/verify.h (assume): New macro.
310         (__has_builtin): Expand to 0 if not defined.
311
312 2013-09-26  Eric Blake  <eblake@redhat.com>
313
314         dup2, dup3: work around another cygwin crasher
315         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
316         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
317         * tests/test-dup2.c (main): Likewise.
318         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
319         * lib/dup3.c (dup3): Likewise.
320         * doc/posix-functions/dup2.texi (dup2): Document it.
321         * doc/glibc-functions/dup3.texi (dup3): Likewise.
322
323         getdtablesize: work around cygwin issue
324         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
325         * modules/getdtablesize (configure.ac): Build replacement.
326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
327         * modules/unistd (Makefile.am): Expose the witness.
328         * lib/unistd.in.h (getdtablesize): Declare replacement.
329         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
330         * tests/test-getdtablesize.c (main): Test it.
331         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
332
333 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
334
335         pmccabe2html: escaping of special characters
336         Escape all '<', '>', and '&' in HTML output.
337         * build-aux/pmccabe2html (html_fnc): Call gsub()
338         instead of sub() to capture all '<', '>', and '&'.
339         Neither of '<' and '>' is special in a regexp,
340         so first arguments to gsub() are corrected. Also,
341         in replacement strings, ampersand must be escaped.
342         Finally, '&' must be handled first, then '<' and '>'.
343
344 2013-09-24  Eric Blake  <eblake@redhat.com>
345
346         manywarnings: enable nicer gcc warning messages
347         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
348         some -f options for optimal warnings.
349
350 2013-09-21  Jim Meyering  <meyering@fb.com>
351
352         timespec: use the new TIMESPEC_RESOLUTION in a few more places
353         * lib/timespec-add.c (timespec_add): Also replace 999999999
354         with TIMESPEC_RESOLUTION - 1.
355         * lib/timespec-sub.c (timespec_sub): Likewise.
356
357 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
358
359         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
360         Problem reported by Dagobert Michelsen via Eric Blake in
361         <http://lists.gnu.org/archive/html/bug-gnulib/2013-09/msg00052.html>.
362         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
363         not AC_COMPILE_IFELSE.
364
365 2013-09-23  Eric Blake  <eblake@redhat.com>
366
367         configmake: support new --runstatedir option
368         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
369         even if autoconf was too old to provide the command line option.
370         * modules/configmake (Makefile.am): Propagate it to .h file.
371
372 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
373
374         ctype, string: depend on extern-inline
375         This is needed to complete the recent OS X fixes.
376         Also, fix related documentation as suggested by Eric Blake.
377         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
378         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
379         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
380         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
381         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
382         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
383         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
384         * doc/posix-functions/toupper.texi:
385         List the 'ctype' gnulib module.
386         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
387         * doc/posix-functions/strncpy.texi:
388         List the 'string' gnulib module.
389         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
390         Add string.
391         * modules/ctype, modules/string (Depends-on): Add extern-inline.
392
393 2013-09-19  Pádraig Brady  <P@draigBrady.com>
394
395         userspec: support optional parameters to parse_user_spec()
396         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
397         then avoid group processing and treat the full spec as a user.
398         (parse_with_separator): Allow the USERNAME and GROUPNAME to
399         be optional params (NULL), in which case they're ignored.
400
401 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
402
403         timespec: new function make_timespec, and new constants
404         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
405         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
406         (make_timespec): New function.
407         * lib/dtotimespec.c (dtotimespec):
408         * lib/timespec-add.c (timespec_add):
409         * lib/timespec-sub.c (timespec_sub):
410         * lib/utimens.c (validate_timespec):
411         * lib/utimensat.c (rpl_utimensat):
412         Use these new constants and functions.
413
414         stdio: OS X port of putc_unlocked + extern inline
415         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
416         * doc/posix-functions/putc_unlocked.texi:
417         * doc/posix-functions/putchar_unlocked.texi:
418         Document this portability problem.
419
420         signal: OS X port of sigaddset etc. + extern inline
421         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
422         (sigismember): #undef on problematic Apple platforms.
423         * doc/posix-functions/sigaddset.texi:
424         * doc/posix-functions/sigdelset.texi:
425         * doc/posix-functions/sigemptyset.texi:
426         * doc/posix-functions/sigfillset.texi:
427         * doc/posix-functions/sigismember.texi:
428         Document this portability problem.
429
430         extern-inline: do not always suppress extern inline on OS X
431         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
432         extern inline on Apple only if the particular compile-time
433         configuration is known to have the problem.
434         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
435         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
436         other Gnulib modules.
437
438         extern-inline: document fixes for ctype and wctype macros
439         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
440         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
441         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
442         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
443         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
444         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
445         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
446         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
447         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
448         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
449         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
450         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
451         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
452         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
453         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
454         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
455         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
456         * doc/posix-functions/strncpy.texi:
457         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
458         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
459         Document that Gnulib fixes portability problems with these
460         functions on OS X 10.8 and earlier when called from plain inline
461         or extern inline functions.
462
463 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
464
465         fflush, freadahead, fseeko: Fix for Android
466         Suggested by Bruno Haible in:
467         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00306.html>
468         * lib/stdio-impl.h: Use local __sfileext definition.
469
470 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
471
472         pmccabe2html: Portability to other awk versions.
473         The functions systime() and strftime() are available
474         in Gawk only.  Properly close two HTML-tags 'style'
475         and 'span'.
476         * build-aux/pmccabe2html (BEGIN): Store timing
477         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
478         systime() in HTML_COMMENT.
479         (html_header): Correctly close tag 'style'.
480         (END): Replace strftime() by CHRONOS_TIME.  Close
481         tag 'span' correctly, not as 'div'.
482
483 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
484
485         getgroups: statement without effect
486         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
487         Change equality conditional to expected assignment.
488
489 2013-09-09  Eric Blake  <eblake@redhat.com>
490
491         glob: fix compilation
492         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
493
494 2013-09-07  Eric Blake  <eblake@redhat.com>
495
496         glob: fix build for platforms without __THROW
497         * lib/glob.in.h (__THROW): Add definition again.
498
499 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
500
501         regex-quote: fix buffer access out of bounds
502         http://lists.gnu.org/archive/html/bug-gnulib/2013-09/msg00001.html
503         * lib/regex-quote.c (regex_quote_spec_pcre):
504         Fix typo that resulted in an out-of-bounds read.
505
506 2013-09-04  Eric Blake  <eblake@redhat.com>
507
508         glob: avoid -Wattribute warnings on glibc
509         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
510         __THROWNL, not __THROW, on static functions.
511         * lib/glob.in.h (__THROW): Adjust...
512         (__THROWNL): ...accordingly.
513
514 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
515
516         headers: check that _GL_INLINE_HEADER_BEGIN is defined
517         Suggested by Bruce Korb in:
518         http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00070.html
519         * doc/extern-inline.texi (extern inline):
520         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
521         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
522         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
523         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
524         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
525         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
526         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
527         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
528         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
529         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
530         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
531         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
532         * lib/xtime.h:
533         Check that _GL_INLINE_HEADER_BEGIN is defined.
534
535 2013-08-29  Pádraig Brady  <P@draigBrady.com>
536
537         bootstrap: remove the --version requirement from ancillary tools
538         * build-aux/bootstrap (check_exists): A new refactored function to
539         determine if a command exists.
540         (find_tool): Use the new function which does not require the
541         --version option to be supported.
542         (check_versions): Use the new function.
543
544 2013-08-26  Simon Josefsson  <simon@josefsson.org>
545
546         gc: support HMAC-SHA256 and HMAC-SHA512.
547         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
548         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
549         functions.
550         (gc_hmac_md5): Use symbolic constant.
551         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
552         (gc_hmac_sha256, gc_hmac_sha512): New functions.
553         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
554         * m4/sha256.m4: Protect against empty expansion.
555         * m4/sha512.m4: Likewise.
556         * lib/hmac-sha256.c: New file.
557         * lib/hmac-sha512.c: Likewise.
558         * m4/gc-hmac-sha256.m4: Likewise.
559         * m4/gc-hmac-sha512.m4: Likewise.
560         * m4/gc-sha256.m4: Likewise.
561         * m4/gc-sha512.m4: Likewise.
562         * modules/crypto/gc-hmac-sha256: Likewise.
563         * modules/crypto/gc-hmac-sha256-tests: Likewise.
564         * modules/crypto/gc-hmac-sha512: Likewise.
565         * modules/crypto/gc-hmac-sha512-tests: Likewise.
566         * modules/crypto/hmac-sha256: Likewise.
567         * modules/crypto/hmac-sha256-tests: Likewise.
568         * modules/crypto/hmac-sha512: Likewise.
569         * modules/crypto/hmac-sha512-tests: Likewise.
570         * tests/test-gc-hmac-sha256.c: Likewise.
571         * tests/test-gc-hmac-sha512.c: Likewise
572         * tests/test-hmac-sha256.c: Likewise.
573         * tests/test-hmac-sha512.c: Likewise
574
575 2013-08-24  Daiki Ueno  <ueno@gnu.org>
576
577         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
578         of AC_CHECK_DECLS.
579
580 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
581
582         selinux-at: omit unnecessary include
583         * lib/selinux-at.c: Don't include dosname.h; not needed, since
584         this source file doesn't use its macros, and subsidiary files that
585         use the macros already include it.
586
587 2013-08-21  Eric Blake  <eblake@redhat.com>
588
589         d-ino: avoid false negative on symlink
590         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
591         Reported by Stephane Chazelas.
592
593 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
594
595         bootstrap: port to OpenBSD sed
596         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
597         does not interpret `-' as a file argument to mean stdin.
598
599 2013-08-15  Eric Blake  <eblake@redhat.com>
600
601         warnings: minor optimization
602         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
603
604         warnings: check -Wfoo rather than -Wno-foo
605         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
606         -Wno-, test if the compiler recognizes the positive form instead.
607
608 2013-08-15  Karl Berry  <karl@gnu.org>
609
610         * config/srclist-update: add option "doclicense" to placate
611         pulling *.texi files from Emacs.  Write terse usage
612         documentation at the top.
613
614 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
615
616         xvasprintf-tests: port to GCC with hardening flags
617         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
618         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
619         http://lists.gnu.org/archive/html/bug-diffutils/2013-08/msg00002.html
620
621 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
622
623         fpending: port to recent Cygwin change to stdio_ext.h
624         Reported by LRN in
625         <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00028.html>.
626         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
627         just declare __fpending unless it's a macro.
628         A duplicate decl shouldn't hurt.
629         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
630         call compiles and links, instead of separately checking for
631         decl and lib function.
632         * modules/fpending (configure-ac):
633         Adjust to fpending.m4's renaming of shell variable.
634
635 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
636
637         sys_time: port to OpenBSD
638         * lib/sys_time.in.h: Simply delegate to the system's header
639         in the BSDish cases as well.  Problem reported by Mike Miller in
640         <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00016.html>.
641         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
642         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
643         wider than time_t.
644
645 2013-08-09  Pádraig Brady <P@draigBrady.com>
646
647         bootstrap: support checksum utils having -c but not --status
648         * build-aux/bootstrap: Only look for sha1sum if updating po files.
649         Add sha1 to the list of supported checksum utils since it's now
650         supported through adjustments below.
651         (update_po_files): Remove the use of --status
652         in a way that will suppress all error messages, but since this is
653         only used to minimize updates, it shouldn't cause an issue.
654         Exit early if there is a problem updating the po file checksums.
655         (find_tool): Remove the check for --version support as this
656         is optional as per commit 86186b17.  Don't even check for the
657         presence of the command as if that is needed, it's supported
658         through configuring prerequisites in bootstrap.conf.
659         Prompt that when a tool isn't found, one can define an environment
660         variable to add to the hardcoded search list.
661
662 2013-08-05  Jim Meyering  <meyering@fb.com>
663
664         regex: port to non-glibc/lock-using systems
665         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
666         system with GNULIB_LOCK would fail due to absence of the
667         included "glthread/lock.h".  This would affect any package
668         for which the "lock" module is used only by the regex module,
669         and not explicitly used.
670         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
671         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
672         Add a dependency on the "lock" module.
673
674 2013-07-20  Daiki Ueno  <ueno@gnu.org>
675
676         localecharset: make locale_charset thread-safe on Mac OS X
677         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
678         instead of MB_CUR_MAX.
679
680 2013-07-20  Daiki Ueno  <ueno@gnu.org>
681
682         gettext: update to version 0.18.3
683         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
684         require AC_PROG_SED to allow user to specify custom sed command when
685         generating en@quot PO file.
686
687 2013-07-18  Werner Lemberg <wl@gnu.org>  (tiny change)
688
689         bootstrap: use correct source when copying build-aux files
690         * build-aux/bootstrap (gnulib_extra_files): This variable is
691         relative to upstream gnulib layout, not downstream.
692
693 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
694
695         tmpdir: fix bug in VMS port
696         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
697         See Steven M. Schweda in
698         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00026.html>.
699
700 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
701
702         tmpdir: port to VMS, to // != /, and to long dirs
703         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
704         __secure_getenv, so that we're more like the glibc version.
705         All uses changed.
706         (path_search): Don't put slash after directory if __VMS.
707         Problem reported by Steven M. Schweda in
708         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00019.html>.
709         Simplify code to add slash; no need for a loop.
710         Do not remove trailing slash from "//".
711         Do not assume dlen <= INT_MAX.
712
713 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
714
715         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
716         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
717         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
718         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00015.html>.
719
720         accept4, dup3, pipe2: port to Cygwin
721         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
722         * lib/accept4.c (accept4) [O_BINARY]:
723         * lib/dup3.c (dup3) [O_BINARY]:
724         * lib/pipe2.c (pipe2) [O_BINARY]:
725         Use set_binary_mode, not setmode.
726         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
727         * modules/binary-io (Depends-on): Remove module indicator.
728         These last two bits undo the previous change to pipe2 and binary-io.
729
730 2013-07-09  Pádraig Brady  <P@draigBrady.com>
731
732         mountlist: add support for deallocating returned list entries
733         * lib/mountlist.c (free_mount_entry): A new exported function
734         to deallocate a mount list entry.
735         (read_file_system_list): Refactor to use the new deallocation function.
736         Suggested by Anton Ovchinnikov.
737
738 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
739
740         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
741         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
742         * lib/stdalign.in.h (_Alignas, _Alignof):
743         Port to FreeBSD 9.1, and to C11 and C++11.
744         (_Alignas): Also support ICC.
745         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
746         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
747
748 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
749
750         fnmatch: don't goto over declaration
751         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
752         undefined behavior for goto over a declaration.
753         Problem reported by Charlie Brown in
754         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00009.html>.
755
756         pipe2: decouple from binary-io a bit
757         This is for Emacs, which needs pipe2 but not binary-io.
758         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
759         * modules/binary-io (Depends-on): Add module indicator.
760
761 2013-07-03  Eric Blake  <eblake@redhat.com>
762
763         mgetgroups: relax license to LGPLv2+
764         * modules/getugroups (License): Change from GPLv3+.
765         * modules/mgetgroups (License): Likewise.
766         * modules/getgroups (License): Change from LGPLv3+.
767
768         xalloc-oversized: relax license to LGPLv2+
769         * modules/xalloc-oversized (License): Change from GPLv3+.
770
771         nproc: relax license to LGPLv2+
772         * modules/nproc (License): Change from LGPLv3+.
773
774         bootstrap: honor --no-git
775         * build-aux/bootstrap: Don't even try to use git when user is
776         pointing to a static checkout.
777
778 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
779
780         ignore-value: port to gcc -pedantic
781         * lib/ignore-value.h (ignore_value):
782         Port to gcc -pedantic, by using __extension__.
783         Reindent as per usual gnulib style nowadays.
784         Simplify GCC version check.
785
786 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
787
788         extern-inline: port to gcc -std=c89
789         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
790         Do not use __gnu_inline__ if pedantic and pre-C99.
791
792 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
793
794         doc: document extern-inline
795         * doc/extern-inline.texi: New file.
796         * doc/gnulib.texi (alloca-opt): Include it.
797         * m4/extern-inline.m4: Move some comments to documentation,
798         and others closer to what they describe.
799
800         doc: chatter less
801         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
802         (updated-stamp): Use it.  This causes 'make' to output just
803         one file name rather than zillions.
804
805         fflush, fseeko: port to musl cross-compiles
806         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
807         on some implementation that (1) is not known to be buggy,
808         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
809         cross-compiled to so we can't easily check for lack of
810         conformance.  This is for cross-compiling to musl.
811         Reported by Rich Felker in
812         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00043.html>.
813         * m4/fclose.m4 (gl_FUNC_FCLOSE):
814         * m4/fflush.m4 (gl_FUNC_FFLUSH):
815         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
816         Adjust to above change.
817         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
818         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
819         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
820         known not to work, or unknown.
821
822 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
823
824         msvc-inval: port to mingw-w64
825         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
826         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
827         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00039.html>.
828
829 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
830
831         getcwd-lgpl: port to Tru64
832         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
833         Problem reported by Steven M. Schweda in
834         <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.
835
836         tests: port large-fd POSIX spawn tests to OS X
837         Problem reported by Daiki Ueno in
838         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00031.html>.
839         * tests/test-posix_spawn_file_actions_addclose.c:
840         * tests/test-posix_spawn_file_actions_adddup2.c:
841         * tests/test-posix_spawn_file_actions_addopen.c:
842         Include <limits.h>, for OPEN_MAX, if available.
843         (big_fd): New static function.
844         (main): Use it.
845
846 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
847
848         tests/nap.h: use an adaptive delay to avoid ctime update issues
849         The recent change in nap.h (5191133e) decreased the probability of lost
850         races to about a third, however such problems could still be observed
851         in virtual machines and openSUSE's OBS.
852         Before, nap() detected the needed time once empirically and then used
853         that delay (together with a small correction multiplier) in further
854         calls.  This problem has been reported and discussed several times,
855         including guesses about possible kernel issues:
856         https://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html
857         http://lists.gnu.org/archive/html/coreutils/2012-03/msg00088.html
858         https://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00226.html
859         http://bugs.gnu.org/12820
860         https://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html
861         https://lists.gnu.org/archive/html/bug-gnulib/2009-11/msg00007.html
862         Now, nap() avoids the race alltogether by verifying on a reference
863         file whether a timestamp difference has happened.
864         * tests/nap.h (nap_fd): Define file descriptor variable for the
865         witness file.
866         (nap_works): Change return value to bool.  Change passing
867         the old file's status by value instead of by reference as this function
868         does no longer update that timestamp; rename the function argument from
869         st to old_st.  Remove the local variables cdiff and mdiff because that
870         function now returns true/false instead of the precise delay.
871         (guess_delay): Remove function.
872         (clear_tmp_file): Add new function to close and unlink the witness file.
873         (nap): Instead of re-using the delay which has been calculated during
874         the first call, avoid the race by actually verifying that a timestamp
875         difference can be observed on the current file system.  Use an adaptive
876         approach for the delay to minimize execution time.  Assert that the
877         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
878         = 2^31 - 1 = 2.1s.
879         Use atexit to call clear_tmp_file when the process terminates.
880
881 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
882
883         sig2str: port to C++
884         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
885         Reported by Daniel J Sebald in
886         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00000.html>.
887
888 2013-05-30  Eric Blake  <eblake@redhat.com>
889
890         docs: mention cygwin shortcoming in <sys/un.h>
891         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
892
893         vasnprintf: silence mingw compiler warning
894         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
895
896 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
897
898         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
899         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
900         This fixes a porting bug I recently reintroduced in regex, and
901         some other instances that I discovered while testing the fix.
902         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
903         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
904         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
905         with an empty argument if this is a pedantic pre-C99 GCC.
906         * lib/verify.h: Do not use _Static_assert if this is a pedantic
907         pre-C11 GCC.
908
909         regex: adapt to locking regime instead of depending on pthread
910         Instead of depending on pthread, adapt to whatever thread
911         modules are in use.  Problem reported by Ludovic Courtès in
912         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00082.html>
913         and by Mats Erik Andersson in
914         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00100.html>.
915         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
916         Support either the 'lock' module, or the 'pthread' module, or
917         no module.
918         (lock_lock, lock_unlock): New macros.
919         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
920         * modules/lock, modules/pthread (configure.ac): Add module indicator.
921         * modules/regex (Depends-on): Remove pthread.
922
923 2013-05-22  Eric Blake  <eblake@redhat.com>
924
925         getgroups: document portability issues
926         * doc/glibc-functions/initgroups.texi (initgroups): Mention
927         multithread safety.
928         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
929         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
930         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
931         getugroups.
932         * doc/posix-functions/getgroups.texi (getgroups): Mention
933         multithread safety and mgetgroups.
934
935 2013-05-22  Bernhard Voelker <mail@bernhard-voelker.de>
936
937         test-lchown, test-chown: also skip test if chown fails with EPERM
938         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
939         skip this test, to handle FAT file systems.
940         * tests/test-chown.h (test_chown): Likewise.
941
942 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
943
944         regex: fix dfa race in multithreaded uses
945         Problem reported by Ludovic Courtès in
946         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00058.html>.
947         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
948         New macros.  All uses of __libc_lock_define, __libc_lock_init
949         changed to use the first two of these.
950         (__libc_lock_lock, __libc_lock_unlock): New macros, for
951         non-glibc platforms.
952         (struct re_dfa_t): Define the lock unconditionally.
953         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
954         '#ifdef _LIBC"s.
955         * modules/regex (Depends-on): Add pthread, if we use the
956         included regex.
957
958         * lib/regcomp.c: Do actions that are not needed for glibc,
959         but may be needed elsewhere.
960         (regfree, re_compile_internal): Destroy the lock.
961         (re_compile_internal): Check for lock-initialization failure.
962
963         malloca: port to compilers that reject size-zero arrays
964         This fixes a bug introduced in my previous patch.
965         * lib/malloca.c (struct preliminary_header): Use an int
966         rather than a character array of size int; that's simpler.
967         (struct header): Remove, replacing with ...
968         (union header): New type.  This avoids the need for declaring a
969         character array of size zero, which is not allowed on some platforms.
970         All uses changed.
971
972 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
973
974         parse-datetime, tests: don't use "string" + int
975         Recent versions of 'clang' complain about C source code that
976         uses expressions of the form '"string literal" + integer',
977         I guess on the theory that it's confusing for readers who are
978         used to C++.  On those grounds I suppose it's OK to make this
979         minor style change.
980         * lib/parse-datetime.y (parse_datetime):
981         * tests/test-fchdir.c (main):
982         * tests/test-snprintf-posix.h (test_function):
983         * tests/test-snprintf.c (main):
984         * tests/test-vasnprintf-posix.c (test_function):
985         * tests/test-vasnprintf.c (test_function):
986         * tests/test-vsnprintf.c (main):
987         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
988         Rewrite '"str" + E' to '&"str"[E]'.
989
990 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
991
992         argmatch: port to C++
993         * lib/argmatch.h [__cplusplus]: Add extern "C".
994
995         argp: typo fix
996         * lib/argp-help.c: Typo in comment.
997
998 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
999
1000         manywarnings: update for GCC 4.8.0
1001         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
1002         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
1003         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
1004         -Wmissing-noreturn, as they are duplicates of other warnings.
1005         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
1006         was documented to be flaky in earlier versions of GCC.
1007
1008         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
1009         * tests/test-spawn.c (main):
1010         * tests/test-sys_socket.c (main):
1011         * tests/test-sys_wait.c (main):
1012         Don't have a switch value that isn't covered by a case.
1013
1014         getaddrinfo-tests: port --enable-gcc-warnings to clang
1015         * tests/test-getaddrinfo.c (simple):
1016         Avoid casts from looser to stricter-aligned pointers.
1017
1018         thread: port --enable-gcc-warnings to clang
1019         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
1020         Include <signal.h>, to pacify a warning about pthread_sigmask.
1021
1022         stdio: use __REDIRECT for fwrite, fwrite_unlocked
1023         * lib/stdio.in.h (fwrite):
1024         When working around bug 11959, use __REDIRECT rather than '#define
1025         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
1026         fix the -Wunused-value issue with clang, and it works with GCC too.
1027         Problem with targeting reported by Eric Blake in
1028         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00067.html>.
1029         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
1030         debugging the fwrite issue.
1031
1032         stdio: port --enable-gcc-warnings to clang
1033         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
1034         since the GCC workaround for fwrite does not pacify clang.
1035
1036         sig2str: port --enable-gcc-warnings to clang
1037         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
1038
1039         obstack: port --enable-gcc-warnings to clang
1040         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
1041         Avoid casts from looser to stricter-aligned pointers.
1042
1043         memchr2: port --enable-gcc-warnings to clang
1044         * lib/memchr2.c (memchr2):
1045         Avoid casts from looser to stricter-aligned pointers.
1046
1047         mbsstr: port --enable-gcc-warnings to clang
1048         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
1049         Avoid casts from looser to stricter-aligned pointers.
1050
1051         malloca: port --enable-gcc-warnings to clang
1052         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
1053         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
1054
1055         inttostr: port --enable-gcc-warnings to clang
1056         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
1057
1058         warnings: port to clang
1059         Problem reported by Daniel P. Berrange via Eric Blake in
1060         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
1061         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
1062         (gl_WARN_ADD): Use it.
1063
1064 2013-05-11  Jim Meyering  <meyering@fb.com>
1065
1066         quotearg: do not read beyond end of buffer
1067         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
1068         end of an ARG for which no length was specified.  With an N-byte
1069         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
1070         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
1071         via coreutils' misc/sort-debug-keys.sh test and detected by running
1072         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
1073         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
1074         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
1075         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
1076         characters correctly."
1077
1078 2013-05-11  Daiki Ueno  <ueno@gnu.org>
1079
1080         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
1081         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
1082         compilation target is Mac OS X 10.6.
1083         Problem reported by parafin and Andoni Morales in
1084         <http://savannah.gnu.org/bugs/?37844> and
1085         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
1086
1087 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
1088
1089         mkdir-p: remove assumptions about umask and mode
1090         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
1091         umask is 0, or that MODE is a subset of MODE_BITS.
1092
1093 2013-05-10  Eric Blake  <eblake@redhat.com>
1094
1095         maint.mk: catch more abuse of HAVE_DECL in syntax-check
1096         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
1097
1098 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
1099
1100         deps: require Automake >= 1.9.6 in generated Makefile fragments
1101
1102         That is the same minimal version required in the DEPENDENCIES file.
1103         Moreover, the old code generated a requirement of Automake >= 1.5,
1104         and that is an insanely outdated version.
1105
1106         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
1107         * tests/havelib/rpathlx/Makefile.am: Likewise.
1108         * tests/havelib/rpathly/Makefile.am: Likewise.
1109         * tests/havelib/rpathlyx/Makefile.am: Likewise.
1110         * tests/havelib/rpathlz/Makefile.am: Likewise.
1111         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
1112         * tests/havelib/rpathx/Makefile.am: Likewise.
1113         * tests/havelib/rpathy/Makefile.am: Likewise.
1114         * tests/havelib/rpathz/Makefile.am: Likewise.
1115
1116 2013-05-08  Eric Blake  <eblake@redhat.com>
1117
1118         bootstrap: AC_INIT may have more than four parameters
1119         * build-aux/bootstrap (extract_package_name): Correctly extract
1120         non-empty tarname field.  Avoid range in regex.
1121         Based on a report by Sami Kerola <kerolasa@iki.fi>.
1122
1123 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1124
1125         qacl: port to MS-Windows port of GNU Emacs
1126         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
1127         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
1128         port of GNU Emacs.  Problem reported by Eli Zaretskii in
1129         <http://bugs.gnu.org/14295#14>.
1130
1131 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
1132
1133         acl: include quote.h
1134         * lib/copy-acl.c: Include quote.h.
1135         * lib/set-acl.c: Likewise.
1136
1137 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
1138
1139         fchownat, renameat, unlinkat: update statat dependencies
1140         These modules use statat and lstatat, not fstatat; so depend on
1141         the statat module, which was split out recently from fstatat.
1142         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
1143         * modules/renameat: Likewise.  Also delete fstat.
1144         URL: http://bugs.gentoo.org/468790
1145
1146 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1147
1148         Assume gnulib is checked out from Git, not CVS
1149
1150         In fact, access to the gnulib repository through CVS has been
1151         disabled, or more precisely, got broken and was never restored; see:
1152         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
1153
1154         Note that support for CVS is not removed completely and unthinkingly
1155         by this change: only support for CVS checkouts of gnulib itself is
1156         removed.  For example, the 'bootstrap' script still cater to .cvsingore
1157         files and CVS directories, for the benefit of those poor gnulib clients
1158         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
1159
1160         * gnulib-tool: Simplify accordingly.
1161         * posix-modules: Likewise.
1162         * MODULES.html.sh: Likewise.
1163         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
1164         repository.
1165         * doc/gnulib-intro.texi: Likewise.
1166         * doc/gnulib-readme.texi: Likewise.
1167         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
1168         sample '.gitignore' file rather than a sample '.cvsignore'.
1169         * NEWS: Update.
1170         * m4/extensions.m4: While at it, remove a comment mistakenly referring
1171         to "CVS Autoconf" rather than "git Autoconf".
1172
1173 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
1174
1175         utimensat-tests, etc.: try to fix some races
1176         Problem reported by Bernhard Voelker in
1177         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
1178         I don't know whether this patch fixes that race condition, but it
1179         fixes *some* race conditions, so it should be a win.
1180         * modules/chown-tests (Depends-on):
1181         * modules/fchownat-tests (Depends-on):
1182         * modules/fdutimensat-tests (Depends-on):
1183         * modules/futimens-tests (Depends-on):
1184         * modules/lchown-tests (Depends-on):
1185         * modules/stat-time-tests (Depends-on):
1186         * modules/utimens-tests (Depends-on):
1187         * modules/utimensat-tests (Depends-on):
1188         Depend on nanosleep, not usleep.
1189         * modules/chown-tests (test_chown_LDADD):
1190         * modules/lchown-tests (test_lchown_LDADD):
1191         * modules/stat-time-tests (test_stat_time_LDADD):
1192         New macro.
1193         * modules/fchownat-tests (test_fchownat_LDADD):
1194         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
1195         * modules/futimens-tests (test_futimens_LDADD):
1196         * modules/utimens-tests (test_utimens_LDADD):
1197         * modules/utimensat-tests (test_utimensat_LDADD):
1198         Add $(LIB_NANOSLEEP).
1199         * modules/stat-time-tests (Files): Add tests/nap.h.
1200         * tests/nap.h: Include <limits.h>, for INT_MAX.
1201         (lt_mtime): Remove.
1202         (diff_timespec): New function.
1203         (get_stat): Rename from get_mtime.  All callers changed.
1204         (nap_works): Determine the needed delay by inspecting the
1205         file system's timestamp jumps; this should be more reliable.
1206         Look at both mtime and ctime, and take the maximum of the two jumps.
1207         (nap_works, guess_delay):
1208         Return a nanosecond cound, not a microsecond count.
1209         All callers changed.
1210         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
1211         failure.
1212         (nap): Multiply the guess by 1.125, to accommodate the case where
1213         the file system's clock is a bit slower than nanosleep's clock.
1214         * tests/test-stat-time.c (BASE): New macro.
1215         Include nap.h.
1216         (nap): Remove; nap.h now defines this.  This removes a duplicate
1217         implementation of 'nap'.
1218
1219         utimens, utimensat: work around Solaris UTIME_OMIT bug
1220         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
1221         Linux kernel 2.6.32 does.  Work around it in the same way.
1222         * doc/posix-functions/futimens.texi (futimens):
1223         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
1224         * lib/utimens.c (fdutimens, lutimens):
1225         * lib/utimensat.c (rpl_utimensat): Work around the bug.
1226
1227         gettext: now it's your responsibility to add -I$(top_builddir)/intl
1228         Formerly, it was your responsibility to do this for all Makefile.ams
1229         other than Gnulib's.  Now it's your responsibility to do it for
1230         Gnulib's Makefile.am, too.
1231         * NEWS: Document this.
1232         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
1233
1234         acl: include errno.h to get errno
1235         Reported by Daiki Ueno in
1236         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
1237         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
1238
1239 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
1240
1241         tests: don't assume getdtablesize () <= 10000000
1242         * modules/cloexec-tests:
1243         * modules/dup2-tests:
1244         * modules/dup3-tests:
1245         * modules/nonblocking-tests:
1246         * modules/posix_spawn_file_actions_addclose-tests:
1247         * modules/posix_spawn_file_actions_adddup2-tests:
1248         * modules/posix_spawn_file_actions_addopen-tests:
1249         * modules/unistd-safer-tests:
1250         Depend on the getdtablesize module.
1251         * tests/test-cloexec.c:
1252         * tests/test-dup-safer.c:
1253         * tests/test-dup2.c:
1254         * tests/test-dup3.c:
1255         * tests/test-fcntl.c:
1256         * tests/test-nonblocking.c:
1257         * tests/test-posix_spawn_file_actions_addclose.c:
1258         * tests/test-posix_spawn_file_actions_adddup2.c:
1259         * tests/test-posix_spawn_file_actions_addopen.c:
1260         Don't assume getdtablesize () <= 10000000.
1261
1262 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
1263
1264         extern-inline: work around bug in Sun c99
1265         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
1266         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
1267
1268 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
1269
1270         qacl: new module, broken out from the acl module
1271         This is for GNU Emacs, which wants the acl functions but does
1272         not want 'error' invoked when they fail.
1273         * lib/acl-internal.h: Do not include error.h, quote.h.
1274         (ENOSYS, ENOTSUP): Remove; no longer needed.
1275         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
1276         * lib/acl.h: Include <stdbool.h>.
1277         (acl_errno_valid): New function.
1278         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
1279         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
1280         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
1281         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
1282         (ACL_INTERNAL_INLINE): Remove; no longer needed.
1283         * lib/file-has-acl.c (file_has_acl):
1284         * lib/qcopy-acl.c (qcopy_acl):
1285         * lib/qset-acl.c (qset_acl):
1286         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
1287         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
1288         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
1289         lib/file-has-acl.c, m4/acl.m4 to qacl module.
1290         Add lib/set-acl.c.
1291         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
1292         Add qacl.
1293         (configure.ac): Move gl_FUNC_ACL to qacl module.
1294         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
1295         Rename set-mode-acl.c to set-acl.c.
1296         * lib/acl-errno-valid.c: New file.
1297         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
1298         copy_acl function remains in copy-acl.c.
1299         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
1300         (_): Remove; not needed.
1301         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
1302         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
1303         * modules/qacl: New file, moved from the old modules/acl.
1304         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
1305         Remove set-mode-acl.c, copy-acl.c.
1306         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
1307
1308         alignof, intprops, malloca: port better to IBM's C compiler
1309         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
1310         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
1311         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
1312
1313 2013-04-25  Daiki Ueno  <ueno@gnu.org>
1314
1315         wctype-h: fix gettext link error on mingw
1316         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
1317         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
1318         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
1319         rpl_towupper and rpl_towupper.
1320
1321 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
1322
1323         regex-tests, regex: allow glibc re_search behavior
1324         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
1325         re_search input data to make the multi-character collating element
1326         in it clearly visible, and treat re_search return code 0 as valid.
1327         * m4/regex.m4 (gl_REGEX): Likewise.
1328
1329 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
1330
1331         stdalign: doc fix
1332         * doc/posix-headers/stdalign.texi (stdalign.h):
1333         Gnulib doesn't support '_Alignof expr'.
1334
1335 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
1336
1337         stdalign: port to stricter ISO C11
1338         ISO C11 says that _Alignof's operand must be a parenthesized type.
1339         Problem reported by Eli Zaretskii in
1340         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
1341         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
1342         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
1343
1344 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
1345
1346         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
1347         Problem reported by Marco Atzeri in
1348         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
1349         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
1350         Simply delegate to the system <sys/select.h> in this case too.
1351         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
1352         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
1353         be needed on Solaris either.
1354         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
1355         Simply delegate to the system <sys/time.h> in this case.
1356
1357 2013-03-19  Karl Berry  <karl@gnu.org>
1358
1359         * build-aux/gnupload: check for erroneous (with gnupload) use of
1360         ftp-upload.gnu.org, tweak help.
1361
1362 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1363
1364         copy-file, rpmatch: fix problems found by cppcheck
1365         Reported by Arno Onken in
1366         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
1367         * lib/rpmatch.c (try): Fix memory leak.
1368         * lib/copy-file.c: Include "ignore-value.h".
1369         (qcopy_file_preserving): Ignore chown value.
1370         * modules/copy-file (Depends-on): Add ignore-value.
1371
1372 2013-01-27  Jim Meyering  <jim@meyering.net>
1373
1374         prefix-gnulib-mk: give better diagnostics
1375         * build-aux/prefix-gnulib-mk: Don't just "die".
1376         Give better diagnostics upon failure.
1377
1378 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
1379
1380         putenv: port to Solaris 10
1381         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
1382         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
1383         is not what is wanted here.
1384         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
1385         declaration, not for its existence.
1386
1387 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
1388
1389         mktime: fix configure typo
1390         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
1391
1392 2013-03-12  Eric Blake  <eblake@redhat.com>
1393
1394         regex-tests: skip UTF-8 test on mingw
1395         * modules/regex-tests (Depends-on): Add localcharset.
1396         * tests/test-regex.c (main): Use it to skip test on mingw.
1397
1398 2013-03-11  Eric Blake  <eblake@redhat.com>
1399
1400         tests: make it easier to bypass alarm time in debugger
1401         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
1402         * tests/test-memmem.c (main): Likewise.
1403         * tests/test-passfd.c (main): Likewise.
1404         * tests/test-ptsname.c (main): Likewise.
1405         * tests/test-ptsname_r.c (main): Likewise.
1406         * tests/test-strcasestr.c (main): Likewise.
1407         * tests/test-strstr.c (main): Likewise.
1408
1409         regex: port to mingw's recent addition of undeclared alarm
1410         * doc/posix-functions/alarm.texi (alarm): Document that alarm
1411         exists but still doesn't work in newer mingw.
1412         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
1413         not existence.  Ensure SIGALRM is not trapped.
1414         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
1415         * m4/regex.m4 (gl_REGEX): Likewise.
1416         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
1417         * tests/test-regex.c (main): Use correct probe for alarm.
1418
1419         putenv: avoid compilation warning on mingw
1420         * lib/putenv.c (_unsetenv): Protect variable declaration.
1421         (putenv): Fix indentation.
1422
1423 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
1424
1425         unistd: don't prevent Tru64 Unix from using gnulib strtod.
1426         * lib/unistd.in.h: be careful not to include un-needed system
1427         stdlib.h from here, because that prevents gnulib stdlib.h from
1428         defining rpl_strtod correctly.
1429
1430 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
1431
1432         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
1433         changesets, but for the 'precision 0' test.
1434         * tests/test-vasprintf-posix.c (test_function): Don't insist on
1435         round-to-even, since POSIX says rounding is implementation-defined
1436         and OS X 10.8.2 rounds 1.51 to 1 here.
1437
1438         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
1439         changeset.
1440         * tests/test-vasprintf-posix.c (test_function): Don't insist on
1441         round-to-even, since POSIX says rounding is implementation-defined
1442         and OS X 10.8.2 rounds 1.5 to 1 here.
1443
1444 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1445
1446         vasnprintf-posix-tests: allow rounding 1.5 to 1
1447         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
1448         round-to-even, since POSIX says rounding is implementation-defined
1449         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
1450         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
1451
1452         bootstrap: port to FreeBSD
1453         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
1454         that treat '--' differently.  Reported by Mats Erik Andersson in
1455         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
1456
1457 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
1458
1459         regex: rename remaining __attribute calls to __attribute__.
1460         2012-02-25 changed definition of __attribute, but left some uses
1461         unchanged, preventing compilation of regex module on most non-gcc
1462         environments.
1463         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
1464         (lookup_collation_sequence_value, build_range_exp)
1465         (build_collating_symbol): Set attributes with newly renamed
1466         __attribute__ decorator.
1467         * lib/regex_internal.c (re_string_peek_byte_case)
1468         (re_node_set_compare, re_node_set_contains): Likewise.
1469         * lib/regexec.c (acquire_init_state_context): Likewise.
1470
1471 2013-03-06  Bruno Haible  <bruno@clisp.org>
1472
1473         execute: Revert last change, but use a different condition.
1474         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
1475         on Windows.
1476
1477 2013-03-05  Eric Blake  <eblake@redhat.com>
1478
1479         execute: drop dead code
1480         * lib/execute.c (nonintr_close, nonintr_open): Delete.
1481
1482 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
1483
1484         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
1485         * m4/non-recursive-gnulib-prefix-hack.m4
1486         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
1487         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
1488         <http://bugs.gnu.org/10305#237>.
1489
1490 2013-03-04  Eric Blake  <eblake@redhat.com>
1491
1492         test-getsockopt: avoid compiler warning
1493         * tests/test-getsockopt.c (includes): Ensure close is declared.
1494
1495 2013-03-02  Bruno Haible  <bruno@clisp.org>
1496
1497         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
1498         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
1499
1500 2013-03-02  Bruno Haible  <bruno@clisp.org>
1501
1502         gettext: Update to version 0.18.2.
1503         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
1504         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
1505                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
1506
1507 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
1508
1509         regex: merge patches from libc
1510
1511         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
1512         * lib/regex_internal.h (__attribute__): Rename from __attribute.
1513         All uses changed.
1514         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
1515         (re_string_wchar_at, re_string_elem_size_at):
1516         Mark function as possibly unused.
1517
1518         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
1519         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
1520         elements compare against the byte sequence of it, not its name.
1521
1522 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
1523
1524         putenv: port better to native Windows
1525         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
1526         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
1527         (_unsetenv): Use _putenv if available.
1528         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
1529         a bit less likely to cause damage.
1530         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
1531         Fix the wrong value with SetEnvironmentVariable.
1532         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
1533         code better.
1534
1535 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
1536
1537         regex: ignore old-style-definition warnings
1538         * lib/regex.c: Add pragma to ignore these warnings.
1539         Problem reported for GNU tar by Pavel Raiskup.
1540
1541 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1542
1543         getcwd: support coreutils better
1544         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
1545         but this might not be correct in coreutils, which disables
1546         the raw decl checks.  Problem reported by Nagendra in
1547         <http://bugs.gnu.org/10305#192>.
1548         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
1549         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
1550         Test the getcwd function, not any macro, since getcwd.c wants the
1551         function.
1552         * m4/getcwd.m4 (gl_FUNC_GETCWD):
1553         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
1554         compile, as might happen if there's a macro but no function.
1555
1556         strtod: support coreutils better
1557         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
1558         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
1559         disables the raw decl checks.  This assumes there is an underlying
1560         strtod, but that's a safe assumption these days.
1561         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
1562
1563         mountlist: port to HP NonStop
1564         Reported by Joachim Schmitz in
1565         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
1566         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
1567         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
1568
1569 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
1570
1571         extern-inline: avoid compilation error with HP-UX cc
1572         Reported by Richard Lloyd in
1573         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
1574         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
1575         Suppress extern inline with HP-UX cc.  This should be safe,
1576         though it may hurt performance.  Perhaps someone with some HP-UX
1577         experience can come up with a higher-performance fix.
1578
1579 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
1580
1581         putenv: fix heap corruption with mixed putenv/_putenv
1582         Problem reported by Michael Goffioul in
1583         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
1584         * lib/putenv.c (putenv) [HAVE__PUTENV]:
1585         Rely on _putenv to allocate the new environment.
1586         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
1587         * modules/putenv (configure.ac): Use it.
1588
1589 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
1590
1591         unsetenv etc.: port to Solaris 11 + GNU Emacs
1592         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
1593         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
1594         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
1595         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
1596         idea but is too painful to fix right now), and without this gnulib
1597         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
1598         compiling unsetenv.c on Solaris 11.  Fix the problem for
1599         unsetenv.c, and fix other similar occurrences.
1600
1601 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1602
1603         secure_getenv: fix C++ declaration typo
1604         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
1605         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
1606         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
1607
1608 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
1609
1610         careadlinkat: stop exporting careadlinkatcwd
1611         Only Emacs used it directly, and Emacs no longer needs it.
1612         * NEWS: Document this simplification.
1613         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
1614         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
1615         for readlink.
1616         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
1617         Don't include stdlib.h; no longer needed.
1618         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
1619         * lib/relocwrapper.c: Adjust comment to match new dependencies.
1620         * modules/areadlink (Depends-on): Add readlink.
1621         (Maintainer): Add self.
1622         * modules/careadlinkat (Depends-on): Remove readlink.
1623
1624         extensions: port better to HP-UX
1625         This is merged from git Autoconf.
1626         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1627         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
1628         so that it's compatible with the value used when compiling.
1629
1630         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
1631         Problem reported by Mats Erik Andersson in
1632         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
1633         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
1634         openpty function exists, not merely when we intend to replace it.
1635         This corrects the 2013-01-31 patch, which mistakenly defined
1636         HAVE_OPENPTY even on hosts that lacked it.
1637
1638 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1639
1640         secure_getenv: fix include typo
1641         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
1642
1643         secure_getenv: port better to FreeBSD and Solaris
1644         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
1645         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
1646         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
1647         This works better on BSDish platforms.
1648         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
1649         Test for issetugid if __secure_getenv is missing.
1650
1651 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
1652
1653         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
1654         Some of these changes are merged in from git Autoconf.
1655         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1656         When deciding whether to define _XOPEN_SOURCE, inspect the
1657         preprocessor macro __hpux instead of the more-heavyweight
1658         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
1659         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
1660         as the key for __EXTENSIONS__.
1661
1662         unistd: avoid namespace pollution on non-glibc systems
1663         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
1664         This avoids namespace pollution on non-glibc systems, by causing
1665         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
1666         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
1667         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
1668
1669 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1670
1671         tmpdir: use secure_getenv
1672         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
1673         Define to secure_getenv, not getenv.
1674         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
1675         as that's now secure_getenv's job.
1676         * modules/tmpdir (Depends-on): Add secure_getenv.
1677
1678         tempname: use secure_getenv
1679         * lib/tempname.c (__secure_getenv) [!_LIBC]:
1680         Define to secure_getenv, not getenv.
1681         * modules/tempname (Depends-on):
1682         Add secure_getenv.
1683
1684         secure_getenv: new module
1685         * MODULES.html.sh (Extra functions based on ANSI C 89):
1686         Add secure_getenv.
1687         * doc/glibc-functions/secure_getenv.texi: New file.
1688         * doc/gnulib.texi: Include it.
1689         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
1690         New files.
1691         * lib/stdlib.in.h (secure_getenv): New decl.
1692         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
1693         * modules/stdlib (stdlib.h):
1694         Add secure_getenv checks.
1695
1696 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1697
1698         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
1699         Reported for OS X 10.8.2 by Assaf Gordon in
1700         <http://bugs.gnu.org/13516>.
1701         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
1702         !HAVE_OPENAT && !HAVE_FDOPENDIR.
1703         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
1704         so that they can be kept in sync more easily.  Avoid PATH_MAX
1705         test on the Hurd.  Sync from test-getcwd.c for errno tests after
1706         mkdir or chdir failure.
1707         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
1708         lib/getcwd.c.
1709         (test_abort_bug): Do not test for the deep directory bug unless we
1710         have openat support.  Avoid PATH_MAX test on the Hurd.
1711
1712         regex-tests, regex: fix bug: memset undeclared
1713         * tests/test-regex.c: Don't include regex.h twice.  Include
1714         string.h, to declare memset.  Christensen's report also mentioned
1715         this issue.
1716         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
1717         test-regex.c, to avoid future problems like this.  Remove
1718         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
1719         twice.
1720
1721         regex-tests: fix link errors on older Solaris
1722         These need to link with @LIBINTL@ to get libintl_gettext.
1723         Problem reported by Tom G. Christensen in
1724         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
1725         * modules/regex-tests (test_regex_LDADD): New macro.
1726
1727 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1728
1729         regex-tests: new module
1730         * modules/regex-tests, tests/test-regex.c: New files.
1731
1732         regex: fix off-by-one error in configure test
1733         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
1734
1735 2013-01-31  Eric Blake  <eblake@redhat.com>
1736
1737         regex: avoid infinite configure test
1738         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
1739
1740 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
1741
1742         openpty: fix bug where HAVE_OPENPTY wasn't defined
1743         See the thread starting at:
1744         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
1745         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
1746         openpty function exists, not merely when we intend to replace it.
1747
1748 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1749
1750         sys_time: port to Solaris 2.6
1751         There is a circularity problem on Solaris 2.6, where <time.h> includes
1752         <sys/time.h> for struct timespec.  The include nesting is gnulib
1753         <time.h>, system <time.h>, gnulib <sys/time.h>, system
1754         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
1755         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
1756         <sys/siginfo.h>; the last, innermost file needs struct
1757         timestruc_t, which is defined in <sys/time.h>, which has not been
1758         fully parsed.  Problem reported by Tom G. Christensen in
1759         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
1760         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
1761         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
1762         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
1763         uses split double-inclusion guards.
1764
1765 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1766
1767         regex: test for buffer overrun
1768         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
1769         for the just-fixed regex bug.
1770
1771 2013-01-29  Andreas Schwab  <schwab@suse.de>
1772
1773         regex: fix buffer overrun in regexp matcher [BZ #15078]
1774         * lib/regexec.c (extend_buffers): Add parameter min_len.
1775         (check_matching): Pass minimum needed length.
1776         (clean_state_log_if_needed): Likewise.
1777         (get_subexp): Likewise.
1778
1779 2013-01-28  Pádraig Brady  <P@draigBrady.com>
1780
1781         mountlist: don't consider "devtmpfs" as dummy
1782         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
1783         as there is storage associcated with it.
1784
1785 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1786
1787         futimens-tests, utimens-tests: Depend on gettext.
1788         This works around a problem introduced in my 2013-01-12 patch,
1789         which added @LIBINTL@ to these modules.
1790         * modules/futimens-tests (Depends-on):
1791         * modules/utimens-tests (Depends-on): Add gettext.
1792
1793 2013-01-26  Eric Blake  <eblake@redhat.com>
1794
1795         test-getpeername: fix typo
1796         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
1797
1798 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
1799
1800         bootstrap: remove the need for a sorted .gitignore file
1801         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
1802         rename to insert_if_absent(), so that we don't need or generate
1803         a sorted .gitignore file.  We do require a .gitignore with no
1804         existing duplicate entries and enforce that.
1805         (sort_patterns): Remove this function as we now use the simpler
1806         technigue of inserting blacklist entries at the top of the file,
1807         assuming gnulib won't be inserting !whitelist entries.
1808
1809 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1810
1811         readlinkat: don't depend on gl_FUNC_OPENAT
1812         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
1813         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
1814         renameat.m4, symlinkat.m4; but one thing at a time.
1815
1816         statat: new module, split out from fstatat
1817         GNU Emacs needs the POSIX-specified fstatat, but not the
1818         gnulib-specified statat and lstat.  Split the latter two into a
1819         new module 'statat'.
1820         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
1821         * lib/openat.h, lib/statat.c (STATAT_INLINE):
1822         Rename from FSTATAT_INLINE. All uses changed.
1823         * modules/fstatat (Files): Remove lib/statat.c.
1824         (gl_MODULE_INDICATOR([fstatat])): Remove.
1825         (lib_SOURCES): Remove.
1826         (Maintainer): Add self.
1827         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
1828         * tests/test-fstatat.c (BASE): Don't define if already defined.
1829         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
1830
1831 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
1832
1833         tests: don't assume fd 99 is closed
1834         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
1835         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
1836         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
1837         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
1838         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
1839         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
1840         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
1841         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
1842         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
1843         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
1844         * tests/test-fwrite.c, tests/test-getpeername.c:
1845         * tests/test-getsockname.c, tests/test-getsockopt.c:
1846         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
1847         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
1848         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
1849         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
1850         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
1851         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
1852         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
1853         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
1854         * tests/test-unlinkat.c, tests/test-unlockpt.c:
1855         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
1856         Close file descriptor 99, instead of assuming it's already closed.
1857
1858 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
1859
1860         stpncpy: port to OS X 10.8
1861         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
1862         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
1863
1864 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
1865
1866         unistd: port to recent mingw
1867         * lib/unistd.in.h: Remove special invocation convention for mingw,
1868         which breaks for the latest mingw version.  See John W. Eaton in
1869         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
1870
1871         largefile: port better to Mac OS X 10.5
1872         This patch is backported from Autoconf git.
1873         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
1874         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
1875         with ino_t size being different for configuration time versus
1876         build/run time.  Problem reported by PHO in
1877         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
1878
1879 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
1880
1881         doc: clarify -Werror
1882         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
1883         clarify that it's intended for developers, not for ordinary builds,
1884         and mention --enable-gcc-warnings as one possible use.
1885
1886 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
1887
1888         stdint: fix build with Android's Bionic fox x86
1889         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
1890         was already included as _SSIZE_T_DEFINED_ might also be defined
1891         in include/machine/_types.h, which is included by stdio.h
1892
1893 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
1894
1895         net_if-tests: port to Solaris 7 + GCC 3.4.6
1896         Problem reported by Tom G. Christensen in
1897         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
1898         * tests/test-net_if.c (ni): Move to next the code that uses it,
1899         so that it's declared only if needed.
1900
1901 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1902
1903         net_if-tests: port to older Solaris
1904         Problem reported by Tom G. Christensen in
1905         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1906         * modules/net_if-tests (NET_IF_LIB): New substitution.
1907         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
1908         (HAVE_IF_NAMEINDEX): New C macro.
1909         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
1910
1911         system-quote-tests: port to older Solaris
1912         Problem reported by Tom G. Christensen in
1913         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1914         * tests/test-system-quote-child.c (fopen, fread): Undef.
1915
1916         c-xvasprintf etc.: fix link errors on older Solaris
1917         These need to link with @LIBINTL@ to get libintl_gettext.
1918         Problem reported by Tom G. Christensen in
1919         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1920         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
1921         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
1922         * modules/futimens-tests (test_futimens_LDADD):
1923         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
1924
1925 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
1926
1927         locale: port to Solaris 2.6 and 7 + GNU gettext
1928         * lib/locale.in.h: Just include_next <locale.h> when
1929         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
1930         when combining the localename module with GNU gettext 0.18.2.
1931         Problem reported by Tom G. Christensen in
1932         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
1933
1934 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
1935
1936         stdlib: port to Solaris 2.6
1937         Also, the code worked on Solaris 7 through 9 only by accident.
1938         Problem reported by Tom G. Christensen in
1939         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
1940         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
1941         simply include the system stdlib.h.
1942         * lib/getopt.in.h (__need_system_stdlib_h):
1943         * lib/pthread.in.h (__need_system_stdlib_h):
1944         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
1945         Define when including <stdlib.h>, to avoid problems at least for
1946         the pthread case on Solaris 2.6 and 7.  These .h files can get by
1947         with the system stdlib.h.
1948
1949 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1950
1951         doc: update main copyright year
1952         * doc/gnulib.texi: Update copyright date.
1953
1954         doc: improve ISO 8601 discussion
1955         * doc/parse-datetime.texi (Combined date and time of day items):
1956         Specify more carefully what formats are supported and what is
1957         done with excess precision.
1958
1959 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1960
1961         doc: avoid small caps
1962         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
1963         they're more trouble than they're worth.  Suggested by Karl Berry
1964         in <http://bugs.gnu.org/13360>.
1965
1966         regex: conform to strict C
1967         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
1968         From Aharon Robbins.
1969
1970         gnulib-tool: fix incompatibility with autopoint 0.18.2
1971         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
1972         Problem reported by Tom G. Christensen in
1973         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
1974
1975 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1976
1977         fprintftime: bring back and reword fwrite comment
1978         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
1979
1980         stdio: remove now-unnecessary stdio.c
1981         Since stdio.in.h no longer uses inline functions, we no longer
1982         need to compile the extern versions.
1983         * lib/stdio.c: Remove.
1984         * modules/stdio (Files): Remove lib/stdio.c.
1985         (lib_SOURCES): Remove.
1986
1987         unicodeio: depend on stdio, not ignore-value
1988         * lib/unicodeio.c: Do not include ignore-value.h.
1989         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
1990         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
1991
1992         fprintftime: depend on stdio, not ignore-value
1993         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
1994         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
1995         since the stdio module arranges to silence that warning now.
1996         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
1997
1998 2012-10-04  Simon Josefsson  <simon@josefsson.org>
1999
2000         stdint-tests: Fix expanded-before-required-warning.
2001         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
2002
2003 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
2004
2005         fwrite: silence __wur only for older glibc versions
2006         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
2007         This will help us remove this workaround some time in the far future.
2008
2009 2013-01-03  Eric Blake  <eblake@redhat.com>
2010
2011         fwrite: silence __wur without using inline
2012         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
2013         just gcc, and in a way that avoids inline issues.
2014         * modules/stdio (Depends-on): Drop extern-inline.
2015
2016 2013-01-03  Jim Meyering  <jim@meyering.net>
2017
2018         update-copyright: avoid copyright notice date corruption
2019         Given a sequence of copyright year numbers in which the final
2020         one was a two-digit number that happened to be a substring of
2021         a preceding four-digit year number, we would mistakenly update
2022         the substring (from two- to four-digit) rather than the two-digit
2023         number at the end, which, combined with the addition of the current
2024         4-digit year number would yield two 5-digit year numbers, e.g.,
2025         here, it would convert the first "99" to "1999, 2013" rather than
2026         the final one:
2027           1991, 99
2028           11999, 20131, 1999
2029         * build-aux/update-copyright: Tighten a regexp.
2030         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
2031         Reported by Joseph Myers in
2032         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
2033
2034 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
2035
2036         regex: omit needless signed-pointer casts
2037         * lib/regcomp.c (build_charclass, build_charclass_op):
2038         Use char *, not unsigned char *, for class name and extra.
2039         The char values are always nonnegative so there's no need to
2040         insist on unsigned char * here, and using char * removes the need
2041         for casts.  Reported by Aharon Robbins in
2042         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
2043
2044         regex: support Gawk, which never uses alloca
2045         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
2046         Do not include in this case.  Gawk doesn't supply a substitute
2047         alloca.h and doesn't need one.
2048
2049         regex: port __libc_lock_define usage to C89
2050         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
2051         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
2052         does not conform to C89, as it has an empty macro argument.
2053         Reported by Aharon Robbins in
2054         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
2055
2056 2013-01-01  Eric Blake  <eblake@redhat.com>
2057
2058         maint: update all copyright year number ranges
2059         Run "make update-copyright".
2060
2061         version-etc: bump copyright year reported in --version
2062         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
2063
2064 2012-12-31  Eric Blake  <eblake@redhat.com>
2065
2066         sigprocmask-tests: skip test if pid is unexpectedly large
2067         * tests/test-sigprocmask.c (main): Add range check.
2068
2069         git-version-gen: avoid test -z portability glitch
2070         * build-aux/git-version-gen: Prefer portable test spelling, since
2071         git-version-gen is run on more than just developer machines.
2072
2073 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
2074
2075         git-version-gen: add --fallback option to use if git is not present
2076         * build-aux/git-version-gen: Add support for the new option --fallback,
2077         which comes into play when there is no $tarball_version_file and
2078         git is not working.
2079         (scriptversion): Update.
2080
2081         maint.mk: handle missing git with more grace
2082         * top/maint.mk (no-submodule-changes, public-submodule-commit):
2083         Quietly proceed if git is not present.
2084
2085 2012-12-31  Eric Blake  <eblake@redhat.com>
2086
2087         dup2: work around cygwin bug
2088         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
2089         * lib/dup2.c (rpl_dup2): Work around it.
2090         * doc/posix-functions/dup2.texi (dup2): Document it.
2091
2092 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
2093
2094         regex: remove unnecessary dependency on localcharset.h
2095         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
2096         hasn't been needed for years.
2097         * modules/regex (Depends-on): Remove localcharset.
2098
2099         regex: revert single-byte change
2100         * lib/regexec.c (check_node_accept_bytes): Revert previous change
2101         to this function.  This was alredy fixed in a different way, at
2102         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
2103         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
2104         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
2105
2106         regex: simplify based on Gawk version
2107         * lib/regex_internal.c (re_dfa_add_node): Simplify.
2108         Reported by Aharon Robbins in
2109         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
2110
2111 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
2112
2113         regex: check that pattern char is single-byte
2114         Reported by Aharon Robbins in
2115         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
2116         * lib/regexec.c (check_node_accept_bytes):
2117         Return 0 if the pattern string has a multibyte character here.
2118
2119         regex: implement rational ranges
2120         Reported by Aharon Robbins in
2121         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
2122         * lib/regcomp.c (build_range_exp) [!_LIBC]:
2123         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
2124         Implement rational ranges.
2125
2126         regex: avoid redefining __wctype
2127         Reported by Aharon Robbins in
2128         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
2129         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
2130         #undef before defining.
2131
2132         regex: port to hosts where malloc (0) == NULL
2133         Reported by Aharon Robbins in
2134         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
2135         * lib/regex_internal.c (re_node_set_alloc):
2136         Don't assume that malloc (0) yields nonnull.
2137         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
2138         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
2139         * modules/regex (Files): Add m4/eealloc.m4.
2140
2141         regex: port to C89
2142         Reported by Aharon Robbins in
2143         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
2144         * lib/regcomp.c (init_word_char): Declaration before statement.
2145
2146         regex: merge glibc changes
2147         Also, copy the license wording from glibc.  This simplifies
2148         merging changes.  gnulib-tool will change the wording to GPL as
2149         appropriate, when importing it to other packages.  The only
2150         glibc change made since the last merge, which needs merging, is:
2151         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
2152         * lib/regex_internal.h (gettext): Remove use of INTUSE.
2153
2154         * users.txt: Add Emacs.
2155
2156         doc: omit mention of version when not needed
2157         * doc/gnulib-intro.texi (Portability and Application Code):
2158         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
2159         Don't mention particular dates or versions when not necessary, so
2160         that the documentation won't go out of date so quickly.
2161
2162         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
2163
2164 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
2165
2166         bootstrap: pass --force to autoreconf.
2167         * build-aux/bootstrap (AUTORECONFFLAGS): New.
2168         Add "--force" so that Automake's ylwrap and other such tools
2169         be updated at each bootstrap invocation.
2170         Use it.
2171
2172 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
2173
2174         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
2175         The earlier patch forgot to update one of the #if conditions, causing
2176         a problem on Debian testing i386 reported by Mats Erik Andersson
2177         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
2178         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
2179         (__argp_fmtstream_puts, argp_fmtstream_puts)
2180         (__argp_fmtstream_write, argp_fmtstream_write)
2181         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
2182
2183         * doc/gnulib-readme.texi: Minor fixups.
2184         (Portability guidelines): Modernize URLs.  Remove some repetition.
2185         (Indent with spaces not TABs): Reword to avoid too-long lines.
2186         Remove some '@ifset standalone' stuff that isn't used.
2187
2188         * doc/gnulib-readme.texi (Portability guidelines):
2189         ctype.h, not ctime.h.
2190
2191         Correct name of POSIX.1-2001.
2192         * doc/posix-functions/fgetc.texi (fgetc):
2193         * doc/posix-functions/fgets.texi (fgets):
2194         * doc/posix-functions/fread.texi (fread):
2195         * doc/posix-functions/fscanf.texi (fscanf):
2196         * doc/posix-functions/getc.texi (getc):
2197         * doc/posix-functions/getchar.texi (getchar):
2198         * doc/posix-functions/scanf.texi (scanf):
2199         POSIX.1-2001, not POSIX-2001.
2200
2201         doc: move README into manual
2202         * README: Move contents to new file doc/gnulib-readme.texi.
2203         Replace with a one-line summary.
2204         * doc/gnulib.texi (Brief Overview): New section,
2205         with old intro preface.  Include gnulib-readme.texi for contents.
2206         (Philosophy): Rename from "Introduction", since this
2207         section no longer introduces the rest.  Write a new preface.
2208         * doc/gnulib-readme.texi: New file, with the old contents of
2209         README texinfo-ized.  This way, the README info appears
2210         in the online and printed manual.
2211
2212 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
2213
2214         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
2215         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
2216         c_vasprintf() prototype.
2217
2218 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
2219
2220         c-vasprintf: Fix "empty declaration" warning reported by GCC.
2221         * lib/c-vasprintf.h: Remove stray semicolon.
2222
2223 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
2224
2225         gettext: avoid obsolete macro AM_PROG_MKDIR_P
2226         It is obsolete and is planned to be removed from Automake 1.14; see
2227         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
2228         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
2229         (installdirs-data, installdirs-data-yes):
2230         Use $(MKDIR_P), not $(mkdir_p).
2231         * m4/intl.m4 (AM_INTL_SUBDIR):
2232         * m4/po.m4 (AM_PO_SUBDIRS):
2233         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
2234
2235 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
2236
2237         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
2238         On this platform, we are not optimizing but we are using
2239         the substitute for extern inlines, so compile as if
2240         C99-style extern inline, or a substitute, is available.
2241         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
2242         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
2243         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
2244         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
2245         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
2246         Declare as ARGP_FS_EI, not as extern.
2247         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
2248         (__option_is_short, _option_is_end, __option_is_end)
2249         [!_LIBC && __USE_EXTERN_INLINES]:
2250         Declare as ARGP_EI, not as extern.
2251
2252 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
2253
2254         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
2255         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
2256         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
2257         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
2258         ...), as the latter is fatal with older Autoconfs.
2259         Problem reported and fix suggested by Eric Blake in thread starting at
2260         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
2261
2262 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
2263
2264         AC_PROG_MKDIR_P: don't workaround if not buggy
2265         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
2266         Define only for Autoconf versions before 2.62.
2267         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
2268         undocumented m4_PACKAGE_VERSION, for consistency with the
2269         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
2270         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
2271         was introduced in 2.62.
2272
2273 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
2274
2275         New 'c-*printf' modules for formatted output in C locale.
2276
2277         New module 'c-vasnprintf'.
2278         * modules/c-vasnprintf: New file.
2279         * lib/c-vasnprintf.c: New file.
2280         * lib/c-vasnprintf.h: New file.
2281
2282         New module 'c-snprintf'.
2283         * modules/c-snprintf: New file.
2284         * modules/c-snprintf-tests: New file.
2285         * lib/c-snprintf.c: New file.
2286         * lib/c-snprintf.h: New file.
2287         * tests/test-c-snprintf.c: New file.
2288         * tests/test-c-snprintf.sh: New file.
2289
2290         New module 'c-vsnprintf'.
2291         * modules/c-vsnprintf: New file.
2292         * modules/c-vsnprintf-tests: New file.
2293         * lib/c-vsnprintf.c: New file.
2294         * lib/c-vsnprintf.h: New file.
2295         * tests/test-c-vsnprintf.c: New file.
2296         * tests/test-c-vsnprintf.sh: New file.
2297
2298         New module 'c-vasprintf'.
2299         * modules/c-vasprintf: New file.
2300         * modules/c-vasprintf-tests: New file.
2301         * lib/c-asprintf.c: New file.
2302         * lib/c-vasprintf.c: New file.
2303         * lib/c-vasprintf.h: New file.
2304         * tests/test-c-vasprintf.c  +: New file.
2305         * tests/test-c-vasprintf.sh: New file.
2306
2307         New module 'c-xvasprintf'.
2308         * modules/c-xvasprintf: New file.
2309         * modules/c-xvasprintf-tests: New file.
2310         * lib/c-xasprintf.c: New file.
2311         * lib/c-xvasprintf.c: New file.
2312         * lib/c-xvasprintf.h: New file.
2313         * tests/test-c-xvasprintf.c: New file.
2314         * tests/test-c-xvasprintf.sh: New file.
2315
2316 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2317
2318         argp: better 'inline'
2319         Use extern-inline module to declare extern inline functions.
2320         This avoids some bogus warning diagnostics.  Problem discovered
2321         when modifying GNU tar to use the manywarnings module.
2322         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
2323         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
2324         Define based on extern-inline.
2325         * modules/argp (Depends-on): Add extern-inline.
2326
2327 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
2328
2329         filemode, sys_stat: Handle MPX files a la AIX.
2330         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
2331         * lib/sys_stat.in.h (S_ISMPX): New macro.
2332         * tests/test-sys_stat.c: Add tests for MPX files.
2333
2334 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
2335
2336         x-to-1: honor $PERL
2337         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
2338         a chance to use his preferred version of Perl.  This is typically
2339         required by Darwin users whose default /usr/bin/perl does not have all
2340         the libraries required by help2man, and who need to use their MacPorts
2341         installation of Perl instead.
2342
2343 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
2344
2345         gnu-web-doc-update: add all the new files, even in new directories
2346         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
2347         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
2348         Use it.
2349         (main): Don't use cvsutils to get the list of unknown files,
2350         just add all the existing files and directories.
2351
2352 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
2353
2354         gnu-web-doc-update: improve --help
2355         * build-aux/gnu-web-doc-update: Move comments into --help.
2356
2357 2012-12-07  Eric Wong  <normalperson@yhbt.net>
2358
2359         mountlist: recognize more "dummy" file systems
2360         * lib/mountlist.c (ME_DUMMY_0):
2361         Add these dummy FS names to the list:
2362         - "debugfs" virtual filesystem for kernel debugging
2363         - "devpts" PTY slave filesystem
2364         - "devtmpfs" device filesystem on top of tmpfs/ramfs
2365         - "fusectl" control filesystem for FUSE
2366         - "mqueue" enumerates POSIX message queues
2367         - "rpc_pipefs" kernel <-> userspace bridge for NFS
2368         - "sysfs" is for exporting kernel objects
2369         - "devfs" device filesystem for Linux 2.4 and FreeBSD
2370
2371 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
2372
2373         extern-inline: avoid incompatibility with Darwin Libc
2374         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
2375         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
2376         Problem reported by Akim Demaille in
2377         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
2378
2379 2012-12-11  Simon Josefsson  <simon@josefsson.org>
2380
2381         gnupload: Work with GnuPG using gpg-agent (for smartcards).
2382         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
2383         let it handle password prompting.
2384
2385 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
2386
2387         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
2388         * lib/canonicalize.c (canonicalize_filename_mode):
2389         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
2390         fetching the current directory.  Don't overrun the beginning of
2391         rpath if there's no slashes after the MS-Windows drive letter.
2392
2393 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2394
2395         maint.mk: avoid extra forks
2396         * top/maint.mk (_cfg_mk): The GNU make manual documents that
2397         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
2398         So use that instead of "$(shell test -f FILE && echo FILE)".
2399
2400 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
2401
2402         vasnprintf: fix ASCII_ONLY typo
2403         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
2404         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
2405         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
2406         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
2407         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
2408
2409 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
2410
2411         list, oset, xlist, xoset: fix extern inline issue with C99
2412         This was introduced by my recent changes for 'inline'.
2413         Problem reported for gettext by Daiki Ueno in
2414         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
2415         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
2416         (gl_list_nx_create, gl_list_size, gl_list_node_value)
2417         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
2418         (gl_list_previous_node, gl_list_get_at)
2419         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
2420         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
2421         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
2422         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
2423         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
2424         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
2425         (gl_list_iterator_free, gl_sortedlist_search)
2426         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
2427         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
2428         (gl_sortedlist_remove):
2429         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
2430         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
2431         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
2432         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
2433         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
2434         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
2435         (gl_list_add_at, gl_sortedlist_add):
2436         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
2437         Wrap these extern decls inside "#if 0", because they are implemented
2438         as inline functions, and extern inline is not what's wanted here.
2439         It would simplify these .h files to remove the extern decls entirely,
2440         although a downside would be less-clear separation between
2441         specification and implementation.
2442
2443 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
2444
2445         sys_stat: no 'static inline'
2446         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
2447         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
2448
2449         extern-inline: no 'static inline'
2450         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
2451         Do not require AC_C_INLINE.
2452         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
2453         'static inline', for older compilers.
2454
2455         snippet/warn-on-use: no 'static inline'
2456         * build-aux/snippet/warn-on-use.h:
2457         Remove unnecessary 'inline' in comment.
2458
2459         rbtree-list, rbtreehash-list: no 'static inline'
2460         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
2461         * lib/gl_anytree_list2.h (node_at):
2462         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
2463         (gl_oset_first, add_nodes_to_buckets):
2464         Now static, not static inline.
2465
2466         regex: no 'static inline'
2467         * lib/regex_internal.c (calc_state_hash):
2468         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
2469         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
2470         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
2471         Now static, not static inline.
2472         (inline) [__GNUC__ < 3 && _LIBC]:
2473         Remove macro; no longer needed.
2474
2475         xvasprintf: no 'static inline'
2476         * lib/xvasprintf.c (xstrcat):
2477         Now static, not static inline.
2478         * m4/xvasprintf.m4 (gl_XVASPRINTF):
2479         Do not require AC_C_INLINE.
2480
2481         parse-datetime, parse-duration: no 'static inline'
2482         * lib/parse-datetime.y (to_uchar):
2483         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
2484         (scale_n_add):
2485         Now static, not static inline.
2486         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
2487         * modules/parse-duration (configure.ac):
2488         Do not require AC_C_INLINE.
2489
2490         getaddrinfo: no 'static inline'
2491         * lib/getaddrinfo.c (validate_family):
2492         Now static, not static inline.
2493         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
2494         Do not require AC_C_INLINE.
2495
2496         ftruncate, fts, lstat, openat, raise: no 'static inline'
2497         * lib/ftruncate.c (chsize_nothrow):
2498         * lib/fts.c (opendirat, diropen):
2499         * lib/lstat.c (orig_lstat):
2500         * lib/openat.c (orig_openat):
2501         * lib/raise.c (raise_nothrow):
2502         Now static, not static inline.
2503         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
2504         * m4/fts.m4 (gl_FUNC_FTS_CORE):
2505         * m4/lstat.m4 (gl_PREREQ_LSTAT):
2506         * m4/openat.m4 (gl_PREREQ_OPENAT):
2507         * m4/raise.m4 (gl_PREREQ_RAISE):
2508         Do not require AC_C_INLINE.
2509
2510         fflush, stat: no 'static inline'
2511         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
2512         (clear_ungetc_buffer, disable_seek_optimization)
2513         (restore_seek_optimization, update_fpos_cache):
2514         * lib/stat.c (orig_stat):
2515         Now static, not static inline.
2516         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
2517         (update_fpos_cache):
2518         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
2519         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
2520         * m4/stat.m4 (gl_PREREQ_STAT):
2521         Do not require AC_C_INLINE.
2522
2523         error, filevercmp: no 'static inline'
2524         * lib/error.c (is_open, flush_stdout):
2525         * lib/filevercmp.c (order):
2526         Now static, not static inline.
2527         * m4/error.m4 (gl_PREREQ_ERROR):
2528         * modules/filevercmp (configure.ac):
2529         Do not require AC_C_INLINE.
2530
2531         dup, execute, fatal-signal, etc.: no 'static inline'
2532         * lib/dup.c (dup_nothrow):
2533         * lib/execute.c (nonintr_close, nonintr_open):
2534         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
2535         * lib/fopen.c (orig_fopen):
2536         * lib/freadseek.c (freadptrinc):
2537         * lib/freopen.c (orig_freopen):
2538         * lib/fstat.c (orig_fstat, fstat_nothrow):
2539         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
2540         (get_rusage_as_via_iterator):
2541         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
2542         * lib/getdtablesize.c (_setmaxstdio_nothrow):
2543         * lib/isatty.c (_isatty_nothrow):
2544         * lib/open.c (orig_open):
2545         * lib/read.c (read_nothrow):
2546         * lib/sigprocmask.c (signal_nothrow):
2547         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
2548         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
2549         * lib/wait-process.c (unregister_slave_subprocess):
2550         * lib/write.c (write_nothrow):
2551         Now static, not static inline.
2552         * lib/spawn-pipe.c (nonintr_open): Define only if
2553         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
2554         * m4/dup.m4 (gl_PREREQ_DUP):
2555         * m4/execute.m4 (gl_EXECUTE):
2556         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
2557         * m4/fopen.m4 (gl_PREREQ_FOPEN):
2558         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
2559         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
2560         * m4/fstat.m4 (gl_PREREQ_FSTAT):
2561         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
2562         * m4/isatty.m4 (gl_PREREQ_ISATTY):
2563         * m4/open.m4 (gl_PREREQ_OPEN):
2564         * m4/read.m4 (gl_PREREQ_READ):
2565         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
2566         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
2567         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
2568         * m4/wait-process.m4 (gl_WAIT_PROCESS):
2569         * m4/write.m4 (gl_PREREQ_WRITE):
2570         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
2571         Do not require AC_C_INLINE.
2572
2573         c-strtod, memcoll, readutmp: no 'static inline'
2574         * lib/c-strtod.c (c_locale):
2575         * lib/memcoll.c (strcoll_loop):
2576         * lib/readutmp.c (desirable_utmp_entry):
2577         Now static, not static inline.
2578         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
2579         * m4/memcoll.m4 (gl_MEMCOLL):
2580         * m4/readutmp.m4 (gl_READUTMP):
2581         Do not require AC_C_INLINE.
2582
2583         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
2584         * lib/arctwo.c (to_uchar):
2585         * lib/md4.c (set_uint32):
2586         * lib/md5.c (set_uint32):
2587         * lib/sha1.c (set_uint32):
2588         * lib/sha256.c (set_uint32):
2589         * lib/sha512.c (set_uint64):
2590         Now static, not static inline.  This is a bit simpler, and doesn't
2591         affect performance with GCC and default optimization.
2592         * m4/arctwo.m4 (gl_ARCTWO):
2593         * m4/md4.m4 (gl_MD4):
2594         * m4/md5.m4 (gl_MD5):
2595         * m4/sha1.m4 (gl_SHA1):
2596         * m4/sha256.m4 (gl_SHA256):
2597         * m4/sha512.m4 (gl_SHA512):
2598         Do not require AC_C_INLINE.
2599
2600         cond, lock, thread: better 'inline'
2601         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
2602         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
2603         New macros.  Use them instead of static inline, for header functions.
2604         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
2605         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
2606         * lib/glthread/lock.c (gl_waitqueue_init)
2607         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
2608         * lib/glthread/thread.c (get_current_thread_handle):
2609         Change 'static inline' to 'inline'.
2610         * lib/glthread/cond.h, lib/glthread/thread.h:
2611         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2612         * m4/cond.m4 (gl_COND):
2613         * m4/lock.m4 (gl_PREREQ_LOCK):
2614         * m4/thread.m4 (gl_THREAD):
2615         Do not require AC_C_INLINE.
2616         * modules/cond, modules/thread (Depends-on): Add extern-inline.
2617
2618         chdir-long, cycle-check, savewd: better 'inline'
2619         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
2620         (find_non_slash):
2621         * lib/cycle-check.c (is_zero_or_power_of_two):
2622         * lib/savewd.c (savewd_delegating):
2623         Change 'static inline' to 'inline'.
2624         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
2625         Replace all remaining uses of 'static inline' with it.
2626         * lib/savewd.h:
2627         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2628         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
2629         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
2630         * m4/savewd.m4 (gl_SAVEWD):
2631         Do not require AC_C_INLINE.
2632         * modules/savewd (Depends-on): Add extern-inline.
2633
2634         base32, base64: no need for 'inline'
2635         * lib/base32.c (to_uchar, get_8, decode_8):
2636         * lib/base64.c (to_uchar, get_4, decode_4):
2637         Change 'static inline' to 'inline'.
2638         * m4/base32.m4 (gl_PREREQ_BASE32):
2639         * m4/base64.m4 (gl_PREREQ_BASE64):
2640         Do not require AC_C_INLINE.
2641
2642         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
2643         * lib/gl_array_oset.c (gl_array_nx_add_at):
2644         (gl_array_remove_at):
2645         * lib/gl_linkedhash_list.c (hash_resize_after_add)
2646         (add_to_bucket, remove_from_bucket):
2647         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
2648         Change 'static inline' to 'static', as it's simpler to omit
2649         'inline' unless there's a significant performance advantage.
2650
2651         list, oset, xlist, xoset, xsublist: simplify via extern inline
2652         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
2653         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
2654         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
2655         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
2656         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
2657         New macro.  Replace all uses of 'static inline' with it.
2658         [HAVE_INLINE]: Implement functions as *_INLINE functions,
2659         instead of as macros FOO that are defined to static inline
2660         functions FOO_inline.
2661         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
2662         * lib/gl_xsublist.c:
2663         Reimplement from scratch, by defining the corresponding *_INLINE
2664         macro and including the corresponding .h file.  This is simpler.
2665         * modules/list, modules/oset, modules/xlist, modules/xoset:
2666         (Files): Remove m4/gl_list.m4.
2667         (configure.ac): Remove gl_LIST.
2668         * m4/gl_list.m4: Remove.
2669         * modules/list, modules/oset, modules/xlist, modules/xoset:
2670         * modules/xsublist:
2671         (Depends-on): Depend on extern-inline, not inline.
2672
2673         xalloc: better 'inline'
2674         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
2675         New macro.  Replace all uses of 'static inline' with it.
2676         (static_inline): Remove.
2677         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
2678         Let 'extern inline' do the work automatically, instead of doing
2679         it by hand.
2680         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
2681         Remove.  All uses removed.
2682         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
2683
2684         gethrxtime: better 'inline'
2685         * lib/xtime.c: New file.
2686         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
2687         * lib/xtime.h (XTIME_INCLUDE):
2688         New macros.  Replace all uses of 'static inline' with them.
2689         * lib/gethrxtime.c (gethrxtime): Define only if
2690         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
2691         this source file is now always compiled, because of the extern inline.
2692         * lib/gethrxtime.h, lib/xtime.h:
2693         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2694         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
2695         if gethrtime works, as they're not needed in that case.
2696         (gl_XTIME): Do not require AC_C_INLINE.
2697         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
2698         compiled now.  Move the check into gl_GETHRXTIME.
2699         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
2700         (Depends-on): Add extern-inline.
2701         (configure.ac): gethrxtime is always compiled now.
2702         (lib_SOURCES): Add gethrxtime.c.
2703
2704         wctype-h: better 'inline'
2705         * lib/wctype-h.c: New file.
2706         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
2707         New macro.  Replace all uses of 'static inline' with it.
2708         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2709         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
2710         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
2711         (Depends-on): Add extern-inline.
2712
2713         unistd: better 'inline'
2714         * lib/unistd.c: New file.
2715         * lib/unistd.in.h (_GL_UNISTD_INLINE):
2716         New macro.  Replace all uses of 'static inline' with it.
2717         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2718         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
2719         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
2720         (Depends-on): Add extern-inline.
2721
2722         sys_socket: better 'inline'
2723         * lib/sys_socket.c: New file.
2724         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
2725         New macro.  Replace all uses of 'static inline' with it.
2726         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2727         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
2728         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
2729         (Depends-on): Add extern-inline.
2730
2731         stdio: better 'inline'
2732         * lib/stdio.c: New file.
2733         * lib/stdio.in.h (_GL_STDIO_INLINE):
2734         New macro.  Replace all uses of 'static inline' with it.
2735         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2736         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
2737         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
2738         (Depends-on): Add extern-inline.
2739
2740         sigaction: better 'inline'
2741         * lib/sig-handler.c: New file.
2742         * lib/sig-handler.h (SIG_HANDLER_INLINE):
2743         New macro.  Replace all uses of 'static inline' with it.
2744         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2745         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
2746         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
2747         (Depends-on): Add extern-inline.
2748
2749         selinux-h: better 'inline'
2750         * lib/se-context.c, lib/se-selinux.c: New files.
2751         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
2752         * lib/se-context.in.h (SE_CONTEXT_INLINE):
2753         New macro.  Replace all uses of 'static inline' with it.
2754         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2755         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
2756         New macro.  Replace all uses of 'static inline' with it.
2757         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2758         * modules/selinux-h (Files, lib_SOURCES):
2759         Add lib/se-context.c, lib/se-selinux.c.
2760         (Depends-on): Add extern-inline.
2761         (configure.ac): Do not require AC_C_INLINE.
2762
2763         pthread: better 'inline'
2764         * lib/pthread.c: New file.
2765         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
2766         New macro.  Replace all uses of 'static inline' with it.
2767         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2768         * m4/pthread.m4 (gl_PTHREAD_CHECK):
2769         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
2770         * modules/pthread (Files): Add lib/pthread.c.
2771         (Depends-on): Add extern-inline.
2772
2773         math: better 'inline'
2774         * lib/math.c: New file.
2775         * lib/math.in.h (_GL_MATH_INLINE):
2776         New macro.  Replace all uses of 'static inline' with it.
2777         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2778         * m4/math_h.m4 (gl_MATH_H):
2779         Do not require AC_C_INLINE.
2780         * modules/math (Files, lib_SOURCES):
2781         Add lib/math.c.
2782         (Depends-on): Add extern-inline.
2783
2784         count-one-bits: better 'inline'
2785         * lib/count-one-bits.c: New file.
2786         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
2787         New macro.  Replace all uses of 'static inline' with it.
2788         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2789         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
2790         Do not require AC_C_INLINE.
2791         * modules/count-one-bits (Files, lib_SOURCES):
2792         Add lib/count-one-bits.c.
2793         (Depends-on): Add extern-inline.
2794
2795         count-leading-zeros: better 'inline'
2796         * lib/count-leading-zeros.c: New file.
2797         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
2798         New macro.  Replace all uses of 'static inline' with it.
2799         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2800         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
2801         Do not require AC_C_INLINE.
2802         * modules/count-leading-zeros (Files, lib_SOURCES):
2803         Add lib/count-leading-zeros.c.
2804         (Depends-on): Add extern-inline.
2805
2806         bitrotate: better 'inline'
2807         * lib/bitrotate.c: New file.
2808         * lib/bitrotate.h (BITROTATE_INLINE):
2809         New macros.
2810         Replace all uses of 'static inline' with them.
2811         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2812         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
2813         (Depends-on): Add extern-inline.
2814         (configure.ac): Do not require AC_C_INLINE.
2815
2816 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
2817
2818         maint.mk: avoid gratuitous failure
2819         Reported by Stefano Lattarini in
2820         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
2821         * top/maint.mk (public-submodule-commit): Quote more safely.
2822
2823 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
2824
2825         canonicalize, canonicalize-lgpl: support MS-Windows file names
2826         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
2827         for test cases, which it'd be nice to add at some point.
2828         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
2829         * lib/canonicalize.c (canonicalize_filename_mode):
2830         * lib/canonicalize-lgpl.c (__realpath):
2831         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
2832         slash is at the beginning of the file name.  Use ISSLASH, instead
2833         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
2834         the first character with '/'.  Test for
2835         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
2836         with a drive letter.
2837         * lib/canonicalize.c (SLASHES): New macro.
2838         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
2839
2840 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
2841
2842         fts: introduce FTS_VERBATIM
2843         * lib/fts_.h (FTS_VERBATIM): New bit flag.
2844         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
2845         * lib/fts.c (fts_open): Honor it.
2846
2847 2012-11-09  Pádraig Brady  <P@draigBrady.com>
2848
2849         getlogin-tests: allow errno == ENXIO
2850         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2851         with errno == ENXIO (No controlling tty).
2852         getlogin_r-tests: Likewise. Also allow errno == ENOENT
2853         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
2854         with errno == ENOENT.  This was reported to happen in various
2855         situations on GNU/Linux.
2856
2857 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2858
2859         getlogin-tests: allow errno == ENOENT
2860         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2861         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
2862         when running a test in an Emacs shell buffer.
2863
2864 2012-11-08  Jim Meyering  <jim@meyering.net>
2865
2866         tests/nap.h: avoid warning about unused variable
2867         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
2868
2869         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
2870         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
2871         white space before each of the special-cased file names, to avoid
2872         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
2873         in http://bugs.gnu.org/12830.
2874
2875 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
2876
2877         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
2878         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
2879         fails with errno == EBADF when fd is opened with O_PATH.
2880         Reported by Jim Meyering in
2881         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
2882         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2883         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
2884
2885 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2886
2887         test-utimens: speed up by taking shorter naps
2888         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
2889         New functions.
2890         (nap): Use them, to do a better job of guessing the delay.
2891         On Fedora 17 with ext4 atop md atop hard disks, this made
2892         test-utimens run 10x faster, because the test napped for
2893         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
2894         <http://bugs.gnu.org/12820#11>.
2895
2896 2012-11-07  Jim Meyering  <jim@meyering.net>
2897
2898         mountlist.c: fix a compilation failure
2899         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
2900         I introduced while transforming commit v0.0-7683-g613bcb6
2901
2902 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2903
2904         errno: port to LynxOS 178 2.2.2
2905         Problem reported by Joel Brobecker in
2906         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
2907         * doc/posix-headers/errno.texi (errno.h): Document this.
2908         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
2909         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
2910         Supply a string for EILSEQ.
2911         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
2912
2913 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2914
2915         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
2916         Linux kernel 2.6.39 introduced O_PATH (see
2917         <http://lwn.net/Articles/433854/>) and this is a better fallback
2918         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
2919         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2920         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
2921         * lib/fcntl.in.h (O_ACCMODE):
2922         * tests/test-fcntl-h.c (main):
2923         Do not reject O_ACCMODE merely because it has more than the
2924         minimal number of bits, as POSIX allows extensions here.
2925
2926 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
2927
2928         mountlist: do not classify a bind-mounted dir entry as "dummy"
2929         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
2930         the "none"-testing clause.
2931         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
2932         exception for bind-mounted directories.
2933
2934 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
2935
2936         quote: provide a means to escape strings with nul characters
2937         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
2938         (quote, quote_n): Rename formal arguments for consistency with
2939         quotearg.
2940
2941 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
2942
2943         test-raise: don't assume 199 is an invalid signal
2944         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
2945
2946         sh-quote-tests: port to Solaris 9
2947         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
2948         Problem reported by Dagobert Michelsen in
2949         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
2950
2951 2012-10-28  Jim Meyering  <jim@meyering.net>
2952
2953         maint.mk: rename a new configurable variable
2954         * top/maint.mk (_gl_translatable_string_re): Rename from
2955         translation-markers: _gl_ prefix to insulate from user Makefile code,
2956         and the _re suffix to inform that it's a regular expression.
2957
2958 2012-10-26  Eric Blake  <eblake@redhat.com>
2959
2960         maint.mk: let packages tweak sc_po_check pattern
2961         * top/maint.mk (sc_po_check): Add translation-markers, to allow
2962         finding files with other translation markers.
2963
2964 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2965
2966         euidaccess: speed up 'configure' on GNU hosts
2967         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
2968         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
2969         it's needed only in this case.  Use AC_CHECK_DECLS, not
2970         AC_CHECK_DECLS_ONCE.
2971         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
2972         or AC_REQUIRE for AC_FUNC_GETGROUPS.
2973
2974         * lib/regexec.c (re_search_internal): Fix grammar in comment.
2975
2976 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2977
2978         fchmodat, fchownat, fstatat: port to non-inlining compilers
2979         Problem reported for FreeBSD 9 by Jim Meyering in
2980         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
2981         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
2982         New files, which define FCHMODAT_INLINE etc.
2983         * lib/fchmodat.c (FCHMODAT_INLINE):
2984         * lib/fchownat.c (FCHOWNAT_INLINE):
2985         * lib/fstatat.c (FSTATAT_INLINE):
2986         Remove, as chmodat.c etc. now do this.
2987         * modules/fchmodat (Files): Add lib/chmodat.c.
2988         * modules/fchownat (Files): Add lib/chownat.c.
2989         * modules/fstatat (Files): Add lib/statat.c.
2990
2991 2012-10-15  Jim Meyering  <jim@meyering.net>
2992
2993         fchmodat.c, fchownat.c: compile-impeding typos
2994         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
2995         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
2996         Introduced in commit v0.0-7636-gd202279.
2997
2998 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2999
3000         fcntl-h: support GNU flags like O_IGNORE_CTTY
3001         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
3002         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
3003         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
3004         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
3005         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
3006         Define to 0 if not already defined.
3007         * tests/test-fcntl-h.c: Test these new flags.
3008
3009 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
3010
3011         faccessat, etc.: support AT_FDCWD-only use
3012         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
3013         this function only if its first argument is AT_FDCWD.
3014         Emacs wants faccessat for AT_EACCESS but not for any first-arg
3015         values other than AT_FDCWD, so it doesn't want all the openat
3016         machinery with fchdir etc.
3017         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
3018         * modules/fstatat, modules/mkdirat, modules/openat (Files):
3019         * modules/unlinkat (Files):
3020         Remove lib/openat-priv.h, as at-internal supplies this file.
3021         Removing this file here allows us to support programs like Emacs
3022         that avoid at-internal.
3023
3024         faccessat: speed up 'configure' on mainstream hosts
3025         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
3026         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
3027         since it's only on unusual platforms that we need to check for
3028         'access', and it's better not to slow 'configure' down on all
3029         platforms.
3030
3031         faccessat: port to Solaris 10
3032         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
3033         Needed on Solaris 10, which doesn't have AT_EACCESS,
3034         so we need the Gnulib fcntl.h, which defines it.
3035
3036 2012-10-14  Pádraig Brady  <P@draigBrady.com>
3037         canonicalize: fix C89 compilation
3038         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
3039         declarations so C89 is supported.  Also remove the comment
3040         referencing memorty allocation as the suggested feature could
3041         not be implemented as suggested.
3042         Reported by Michael Goffioul.
3043
3044 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
3045
3046         group-member: omit unnecessary dependencies
3047         This is for Emacs, which has its own allocator and where we
3048         don't want to use xalloc.
3049         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
3050         since we no longer use xmalloc.  Do not include stdbool.h, since
3051         the changes below happen to remove the only use of bool.
3052         (GROUPBUF_SIZE): New constant.
3053         (struct group_info): Remove n_groups member.  Add groupbuf member.
3054         This lets us get the groups without using malloc, usually.
3055         (free_group_info, get_group_info): Adjust to this.
3056         (get_group_info): Return the number of groups found, or -1 on error.
3057         Use plain malloc not xmalloc, and treat its failure as if there
3058         are no groups, as the user already loses in case of error.
3059         (group_member): Simplify, based on changes to get_group_info.
3060         * modules/group-member (Depends-on): Remove dependencies on
3061         xalloc and stdbool.  Add dependency on xalloc-oversized.
3062
3063 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
3064
3065         gethrxtime: port to C++
3066         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
3067
3068 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
3069
3070         ptsname: fix macro-name typo
3071         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
3072
3073 2012-10-03  Simon Josefsson  <simon@josefsson.org>
3074
3075         inttostr: Relax license.
3076         * modules/inttostr (License): Change from LGPL to LGPLv2+.
3077
3078 2012-10-03  Eric Blake  <eblake@redhat.com>
3079
3080         ptsname_r: support ptys returned by FreeBSD posix_openpt
3081         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
3082         lives in /dev/pts/.
3083
3084 2012-10-02  Eric Blake  <eblake@redhat.com>
3085
3086         pselect: reject invalid file descriptors
3087         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
3088         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
3089         * modules/pselect (Depends-on): Add dup2.
3090         * doc/posix-functions/pselect.texi (pselect): Document this.
3091
3092         select: reject invalid file descriptors
3093         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
3094         * lib/select.c (rpl_select) [!win32]: Work around it.
3095         * modules/select (Depends-on): Add dup2.
3096         * doc/posix-functions/select.texi (select): Document this.
3097
3098         select: enhance test
3099         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
3100         New functions.
3101         (test_function): Enhance test.
3102         (do_select_bad_fd): Avoid any stale errno values.
3103
3104         ptsname: reject invalid file descriptors
3105         http://www.austingroupbugs.net/view.php?id=503
3106         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
3107         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
3108         * modules/stdlib (Makefile.am): Replace witness.
3109         * lib/stdlib.in.h (ptsname): Allow for replacement.
3110         * modules/ptsname (configure.ac): Trigger replacement.
3111         * doc/posix-functions/ptsname.texi (ptsname): Document this.
3112
3113 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
3114
3115         hash-pjw-bare: new module
3116         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
3117         * lib/hash-pjw-bare.h: Likewise.
3118         * modules/hash-pjw-bare: New file.
3119         * MODULES.html.sh (Misc): Add it.
3120
3121 2012-10-02  Eric Blake  <eblake@redhat.com>
3122
3123         manywarnings: cater to more gcc infelicities
3124         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
3125         -Wuninitialized without -O.
3126
3127 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
3128
3129         select, poll tests: Make setsockopt invocation effective.
3130         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
3131         the bind() call.
3132         * tests/test-select.h (open_server_socket): Likewise.
3133
3134 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
3135
3136         sockets, sys_stat: restore AC_C_INLINE
3137         This undoes the 2012-09-22 patch.
3138         * m4/sockets.m4 (gl_SOCKETS):
3139         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
3140         Restore AC_C_INLINE, since MSVC requires __inline or _inline
3141         and does not support plain 'inline'.  Reported by Bruno Haible in
3142         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
3143
3144 2012-09-30  Bruno Haible  <bruno@clisp.org>
3145
3146         localeconv tests: Avoid test failure on OpenIndiana.
3147         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
3148         skip the 'grouping' and 'mon_grouping' tests.
3149         Reported by Jim Meyering.
3150
3151 2012-09-30  Bruno Haible  <bruno@clisp.org>
3152
3153         havelib: Follow libtool developments.
3154         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
3155         Suggested by Simon Josefsson.
3156
3157 2012-09-29  Jim Meyering  <meyering@redhat.com>
3158
3159         fstatat.c: fix a compile-impeding typo
3160         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
3161         Introduced in commit v0.0-7636-gd202279.
3162         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
3163
3164 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
3165
3166         extern-inline: provide a -Wundef safe config.h
3167         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
3168         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
3169         to produce a -Wundef warning free config.h.
3170
3171 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3172
3173         hash-pjw: relax license to LGPLv2+
3174         * modules/hash-pjw (License): Relax, with consent of author.
3175
3176 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
3177
3178         maint.mk: fix strict vs. lazy variable issues with RELEASE
3179         * top/maint.mk (_equal): New function.
3180         (member_check): Strip the result to avoid spurious spaces.
3181         (url_dir_list): Do not use ifeq, which is strict, as it will
3182         require RELEASE_TYPE to be defined.
3183         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
3184         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
3185         (announcement_Cc_alpha,announcement_mail_headers_alpha)
3186         (announcement_Cc_beta,announcement_mail_headers_beta)
3187         (announcement_Cc_stable,announcement_mail_headers_stable): these.
3188         (release): Do not depend on $(release-type), as it forces its
3189         evaluation.  Bounce to it.
3190
3191 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
3192
3193         maint.mk: formatting changes
3194         * top/maint.mk: Indent bodies of if's.
3195
3196 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
3197
3198         maint.mk: factor the validation of RELEASE_TYPE
3199         With help from Jim Meyering.
3200         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
3201         * top/maint.mk (_empty, _sp): Move their definition earlier.
3202         (member-check, release-type): New.
3203         Use the latter instead of $(RELEASE_TYPE).
3204         Remove now useless local checks.
3205
3206 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
3207
3208         maint.mk: provide "make upload" to ease uploading
3209         See
3210         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
3211         Do not depend simply on the current $(VERSION), as there may have been
3212         new commits since the tarball generation.  Rather, rely on $(RELEASE),
3213         as "make release-commit" already does.
3214
3215         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
3216         "make TYPE".
3217
3218         * top/maint.mk (upload_command, upload, release): New.
3219         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
3220         (VERSION): first word of $(RELEASE) is always right.
3221         (emit_upload_commands): Adjust.
3222         * top/README-release: Update.
3223
3224 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
3225
3226         maint.mk: silent rules
3227         With help from Stefano Lattarini.
3228         * top/maint.mk (writable-files): Use $(AM_V_GEN).
3229         (announcement): Use $(AM_V_at).
3230
3231 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
3232
3233         localename: port gl_locale_name_thread_unsafe to FreeBSD
3234         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
3235         and use the simpler FreeBSD implementation on Mac OS X as well.
3236         Original idea suggested by Ed Maste in
3237         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
3238
3239 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
3240
3241         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
3242         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
3243         * lib/mbuiter.c, lib/xsize.c: New files.
3244         * lib/binary-io.h (BINARY_IO_INLINE):
3245         * lib/eealloc.h (EEALLOC_INLINE):
3246         * lib/mbfile.h (MBFILE_INLINE):
3247         * lib/mbiter.h (MBITER_INLINE):
3248         * lib/mbuiter.h (MBUITER_INLINE):
3249         * lib/xsize.h (XSIZE_INLINE):
3250         New macros.
3251         Replace all uses of 'static inline' with them.
3252         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3253         * m4/eealloc.m4 (gl_EEALLOC):
3254         * m4/mbfile.m4 (gl_MBFILE):
3255         * m4/mbiter.m4 (gl_MBITER):
3256         * m4/xsize.m4 (gl_XSIZE):
3257         Do not require AC_C_INLINE.
3258         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
3259         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
3260         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
3261         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
3262         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
3263         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
3264         * modules/binary-io, modules/eealloc, modules/mbfile:
3265         * modules/mbiter, modules/mbuiter:
3266         (Depends-on): Add extern-inline.
3267
3268         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
3269         * lib/pipe-filter-aux.c: New file.
3270         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
3271         Replace all uses of 'static inline' with it.
3272         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3273         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
3274         (filter_retcode): No real need for inline here.
3275         * modules/pipe-filter-gi, modules/pipe-filter-ii:
3276         (Files): Add lib/pipe-filter-aux.c.
3277         (Depends-on): Add extern-inline.
3278         (configure.ac): Do not require AC_C_INLINE.
3279         (lib_SOURCES): Add pipe-filter-aux.c.
3280
3281         fdutimensat: omit unnecessary AC_C_INLINE
3282         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
3283
3284         fchmodat, fchownat, fstatat: use extern-inline
3285         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
3286         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
3287         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
3288         New macros.
3289         * lib/openat.h:
3290         Replace all uses of 'static inline' with them.
3291         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3292         * modules/fchmodat, modules/fchownat, modules/fstatat:
3293         * modules/openat-h:
3294         (Depends-on):
3295         Add extern-inline.
3296         (configure.ac): Remove AC_C_INLINE.
3297
3298         acl, mbchar, priv-set: use extern-inline
3299         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
3300         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
3301         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
3302         New macros.
3303         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
3304         Replace all uses of 'static inline' with it.
3305         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3306         * m4/acl.m4 (gl_FUNC_ACL):
3307         * m4/mbchar.m4 (gl_MBCHAR):
3308         * m4/priv-set.m4 (gl_PRIV_SET):
3309         Remove AC_C_INLINE, since 'inline' is no longer used directly.
3310         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
3311         Add extern-inline.
3312
3313         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
3314         * m4/sockets.m4 (gl_SOCKETS):
3315         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
3316         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
3317         environments where it's already guaranteed to work, so we needn't
3318         check for it at 'configure'-time.
3319
3320         tls-tests: omit unnecessary 'inline'
3321         * tests/test-tls.c (perhaps_yield): No longer inline.
3322         Simplicity and portability trump efficiency in test cases.
3323
3324         utimens-tests: avoid unnecessary 'inline'
3325         * modules/fdutimensat-tests (configure.ac):
3326         * modules/futimens-tests (configure.ac):
3327         * modules/utimens-tests (configure.ac):
3328         * modules/utimensat-tests (configure.ac):
3329         Remove AC_C_INLINE.
3330         * tests/test-utimens-common.h (ctime_compare):
3331         No longer inline.  Simplicity and portability trump efficiency here.
3332
3333         misc: don't limit commentary to inline functions
3334         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
3335         * lib/xalloc-oversized.h, lib/xsize.h:
3336         Contrast macros to functions in general, not just to inline functions,
3337         when the commentary does not apply only to inline functions.
3338
3339 2012-09-20  Jim Meyering  <meyering@redhat.com>
3340
3341         non-recursive-gnulib-prefix-hack: new module
3342         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
3343         the file that originated in Bison.
3344         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
3345         largely copied from a snippet that resided in bison's configure.ac.
3346         * modules/non-recursive-gnulib-prefix-hack: New file.
3347         * MODULES.html.sh (Support for maintaining and releasing projects):
3348         Add it.
3349
3350 2012-09-18  Jim Meyering  <meyering@redhat.com>
3351
3352         maint.mk: generalize _gl_tight_scope for non-recursive make
3353         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
3354         that *.h would describe additional .h files in the directory
3355         specified by $(_gl_TS_dir).  I.e., add this...
3356         (_gl_TS_other_headers): New variable.
3357
3358         maint.mk: exempt trailing blanks found in "binary" files
3359         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
3360         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
3361         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
3362
3363 2012-09-17  Jim Meyering  <meyering@redhat.com>
3364
3365         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
3366         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
3367         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
3368         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
3369
3370 2012-09-17  Jim Meyering  <meyering@redhat.com>
3371
3372         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
3373         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
3374         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
3375         It is not in the same category as "exit (0)" or "exit (1)", and
3376         besides, I know of no symbolic name for that 77.  Reported by
3377         Richard W.M. Jones in
3378         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
3379
3380 2012-09-17  Jim Meyering  <meyering@redhat.com>
3381
3382         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
3383         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
3384         all uses of #define, not just those that start in column 1.
3385         Richard W.M. Jones reported a false positive in
3386         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
3387
3388 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
3389
3390         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
3391         * lib/localcharset.c (locale_charset) [DARWIN7]:
3392         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
3393         as these two values are incompatible.  Problem reported by Max Horn.
3394         For more discussion, please see
3395         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
3396
3397         doc: document sticky-EOF issue
3398         * doc/posix-functions/fgetc.texi (fgetc):
3399         * doc/posix-functions/fgets.texi (fgets):
3400         * doc/posix-functions/fread.texi (fread):
3401         * doc/posix-functions/fscanf.texi (fscanf):
3402         * doc/posix-functions/getc.texi (getc):
3403         * doc/posix-functions/getchar.texi (getchar):
3404         * doc/posix-functions/scanf.texi (scanf):
3405         Mention that glibc and default Solaris do not conform to
3406         C99 and POSIX-2001 or later, with respect to how getchar
3407         etc. behave when feof reports nonzero.
3408
3409 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
3410
3411         poll: fix poll(0, NULL, msec)
3412         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
3413         but nfd is 0.  In that case poll should behave like select.
3414
3415 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
3416             Paolo Bonzini <bonzini@gnu.org>
3417
3418         poll: fix for systems that can't recv() on a non-socket
3419         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
3420         is readable.  In this case POLLHUP will not be supported.
3421         * doc/posix-functions/poll.texi: Document this.
3422
3423 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
3424
3425         poll/select: document portability problems not fixed by Gnulib.
3426         * doc/posix-functions/poll.texi: poll does not work well on
3427         pipes under Windows.  It has the same limitations as select on
3428         BeOS.
3429         * doc/posix-functions/select.texi: select does not work well
3430         on pipes under Windows.
3431
3432 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3433
3434         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
3435         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
3436         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
3437         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
3438
3439 2012-09-06  Eric Blake  <eblake@redhat.com>
3440
3441         net_if: give more details about the bug being fixed
3442         * doc/posix-headers/net_if.texi: Add clarification.
3443
3444 2012-09-05  Eric Blake  <eblake@redhat.com>
3445
3446         net_if: new module
3447         * modules/net_if: New module, borrowing ideas from netinet_in.
3448         * m4/net_if_h.m4: New file.
3449         * lib/net_if.in.h: Likewise.
3450         * doc/posix-headers/net_if.texi (net/if.h): Document it.
3451         * MODULES.html.sh (lacking POSIX:2008): Likewise.
3452         * tests/test-net_if.c: Make function checks conditional.
3453         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
3454
3455 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
3456
3457         readutmp: fix non-portable UT_PID use
3458         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
3459         Use `UT_PID (u) > 0' as absolute condition.
3460
3461 2012-09-04  Jim Meyering  <meyering@redhat.com>
3462
3463         fts: reduce two or more trailing spaces to just one, usually
3464         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
3465         or more slashes, trim all but the final one.  But if a name consists
3466         solely of two slashes, don't modify it.  If it consists solely of
3467         three or more slashes, strip all but one.
3468
3469         This is part of the solution to a minor problem with rm:
3470         it would print a bogus ELOOP diagnostic when failing to remove
3471         the slash-decorated name of a symlink-to-directory:
3472
3473             $ mkdir d && ln -s d s && env rm -r s/
3474             rm: cannot remove 's': Too many levels of symbolic links
3475
3476         With the change below and a trivial don't-trim-trailing-slashes
3477         adjustment to remove.c, it does this:
3478
3479             $ env rm -r s/
3480             rm: cannot remove 's/': Not a directory
3481
3482         Improved by: Eric Blake
3483
3484         fts: when there is no risk of overlap, use memcpy, not memmove
3485         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
3486
3487 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
3488
3489         stdbool: be more compatible with mixed C/C++ compiles
3490         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
3491         Define to bool, true, false, respectively, as GCC's builtin
3492         stdbool.h does.  Problem reported by Michael Goffioul in
3493         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
3494
3495 2012-08-28  Jim Meyering  <meyering@redhat.com>
3496
3497         revert last change: it was not needed
3498         * tests/test-vc-list-files-git.sh: There's already a test for
3499         a working git, just below.
3500
3501 2012-08-28  Jim Meyering  <meyering@redhat.com>
3502
3503         tests: test-vc-list-files-git.sh: skip if git is not available
3504         * tests/test-vc-list-files-git.sh: Skip this test when git is
3505         not available.
3506
3507 2012-08-26  Bruno Haible  <bruno@clisp.org>
3508
3509         gnulib-tool: Remove no-op option --no-changelog.
3510         * gnulib-tool (func_usage): Don't mention --no-changelog.
3511         (do_changelog): Remove variable.
3512         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3513
3514 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3515
3516         doc: remove fdl-1.2.texi
3517         It is no longer used or maintained, and its use of @acronym
3518         is problematic.  See the thread containing
3519         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
3520         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
3521         * doc/old-licenses/fdl-1.2.texi: Remove.
3522
3523         execinfo: port to FreeBSD
3524         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
3525         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
3526         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
3527         * modules/execinfo (Link): Add $(LIB_EXECINFO).
3528
3529 2012-08-23  Jim Meyering  <meyering@redhat.com>
3530
3531         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
3532         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
3533         to placate gcc's -Wold-style-declaration.
3534
3535 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3536
3537         doc: do not use @acronym
3538         * doc/inet_ntoa.texi (inet_ntoa):
3539         * doc/parse-datetime.texi (Seconds since the Epoch)
3540         (Specifying time zone rules):
3541         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
3542         Don't use @acronym.  Problem reported by John Darlington in
3543         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
3544
3545 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3546
3547         stdnoreturn: port to newer GCCs
3548         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
3549         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
3550         Problem reported by Jim Meyering in
3551         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
3552         Also, rename the 'test' function to a void a clash with the
3553         already-supplied 'main' function; this fixes a bug that incorrectly
3554         rejected GCC 4.7.1's <stdnoreturn.h>.
3555         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
3556         Document GCC problem.
3557
3558 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
3559
3560         pipe-filter: fix comment typo
3561         * lib/pipe-filter.h: Mention correct function.
3562
3563 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3564
3565         execinfo: new module
3566         This is for Emacs.  Currently, it provides a no-effect stub
3567         on all platforms where it does not already work.
3568         It already works on glibc-based systems, and on Solaris 11.
3569         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
3570         New files.
3571         * doc/glibc-headers/execinfo.texi (execinfo.h):
3572         * MODULES.html.sh (Misc): Document it.
3573
3574 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3575
3576         extern-inline: support old GCC 'inline'
3577         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
3578         if available.  This applies to GCC versions 2.7 through 4.2, or
3579         when newer GCC is using -fgnu89-inline.  The goal is to address
3580         some of the performance issues mentioned by Bruno Haible in
3581         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
3582
3583 2012-08-20  Eric Blake  <eblake@redhat.com>
3584
3585         maint.mk: avoid redundant file name in message
3586         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
3587         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
3588         (sc_makefile_path_separator_check): Remove bogus $(ME).
3589
3590 2012-08-20  Mike Frysinger <vapier@gentoo.org>
3591
3592         timer-time: fix link order when static linking on glibc
3593         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
3594         _after_ -lrt so that it's significant.
3595
3596 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3597
3598         timespec: omit unnecessary AC_C_INLINE
3599         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
3600
3601         stat-time: omit unnecessary AC_C_INLINE
3602         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
3603         Do not require AC_C_INLINE.
3604
3605         ignore-value: omit unnecessary AC_C_INLINE
3606         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
3607
3608         sys_select: avoid 'static inline'
3609         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
3610
3611         mktime: avoid 'static inline'
3612         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
3613         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
3614
3615 2012-08-19  Bruno Haible  <bruno@clisp.org>
3616
3617         gnulib-tool: Improve coding style.
3618         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
3619         func_emit_lib_Makefile_am.
3620         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3621
3622 2012-08-19  Bruno Haible  <bruno@clisp.org>
3623
3624         gnulib-tool: Fix indentation.
3625         * gnulib-tool (func_import): Fix indentation.
3626
3627 2012-08-19  Bruno Haible  <bruno@clisp.org>
3628
3629         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
3630         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
3631         on the list of removed files.
3632
3633 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3634
3635         test-parse-datetime: avoid glibc leap-second glitch
3636         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
3637         with the 2012 rules.  Problem reported by Bruce Dubbs in
3638         <http://bugs.gnu.org/12206>.
3639
3640 2012-08-14  Bruno Haible  <bruno@clisp.org>
3641
3642         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
3643         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
3644         from argument.
3645         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3646
3647 2012-08-14  Eric Blake  <eblake@redhat.com>
3648
3649         ldexp: relax license
3650         * modules/ldexp (License): Trivial relax, since the module only
3651         provides a permissively licensed m4 file.
3652
3653 2012-08-13  Bruno Haible  <bruno@clisp.org>
3654
3655         gnulib-tool: Fix persistence of --witness-c-macro option.
3656         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
3657         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3658
3659 2012-08-11  Eric Blake  <eblake@redhat.com>
3660
3661         count-leading-zeros: use a lookup table on non-gcc compilers
3662         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
3663         alternate implementation, suggested by Jim Meyering.
3664
3665 2012-08-10  Eric Blake  <eblake@redhat.com>
3666
3667         count-leading-zeros: new module
3668         * modules/count-leading-zeros: New module.
3669         * m4/count-leading-zeros.m4: New file.
3670         * lib/count-leading-zeros.h: Likewise.
3671         * modules/count-leading-zeros-tests: New test.
3672         * tests/test-count-leading-zeros.c: New file.
3673         * MODULES.html.sh (Integer arithmetic functions): Document it.
3674
3675 2012-08-07  Simon Josefsson  <simon@josefsson.org>
3676             Jim Meyering  <meyering@redhat.com>
3677
3678         maintainer-makefile: Fix syntax error with dash.
3679         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
3680         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
3681
3682 2012-08-05  Jim Meyering  <meyering@redhat.com>
3683
3684         extern-inline: also ignore -Wmissing-declarations
3685         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
3686         required with gcc-4.8.0-to-be.
3687
3688         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
3689         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
3690         for /error ?([^,]*)/.  This avoids false-positives for strings like
3691         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
3692
3693 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3694
3695         gnumakefile: better interaction with Automake-NG
3696         * modules/gnumakefile [Makefile.am]: The makefiles generated by
3697         Automake-NG always contain a definition of VPATH, even in non-VPATH
3698         builds (its value being simply '.' in that case).  So, in the
3699         'clean-GNUmakefile' rule, to determine whether running under a
3700         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
3701         '$(VPATH)' expands to the empty string.
3702
3703 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
3704
3705         base64: Use extern C scope in header file, for C++.
3706         * lib/base64.h: Add C++ namespace protection.
3707
3708 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
3709
3710         stat-time, timespec, u64: support naive out-of-dir builds
3711         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
3712         Use '#include "foo.h"', not '#include <foo.h>', when including
3713         one's own interface.  This works better when configuring with
3714         out-of-directory builds, since packages need not add an
3715         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
3716
3717 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
3718
3719         utimens: use extern-inline
3720         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
3721         * lib/utimens.h: Add copyright notice, since this is now large enough
3722         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3723         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
3724         * modules/utimens (Depends-on): Add extern-inline.
3725
3726         u64: use extern-inline
3727         * lib/u64.c: New file.
3728         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3729         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
3730         * modules/u64 (Files): Add lib/u64.c.
3731         (Depends-on): Add extern-inline.
3732         (configure.ac): No need to require AC_C_INLINE, since extern-inline
3733         does that now.
3734         (lib_SOURCES): Add u64.c.
3735
3736         timespec: use extern-inline
3737         * lib/timespec.c: New file.
3738         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3739         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
3740         * modules/timespec (Files): Add lib/timespec.c.
3741         (Depends-on): Add extern-inline.
3742         (lib_SOURCES): Add timespec.c.
3743
3744         stat-time: use extern-inline
3745         * lib/stat-time.c: New file.
3746         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3747         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
3748         * modules/stat-time (Files): Add lib/stat-time.c.
3749         (Depends-on): Add extern-inline.
3750         (lib_SOURCES): Add stat-time.c.
3751
3752         extern-inline: new module
3753         * modules/extern-inline, m4/extern-inline.m4: New files.
3754         This is for better support of 'extern inline' a la ISO C99,
3755         with a portable alternative on compilers that do not support
3756         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
3757         of the Emacs executable, when compiled with debugging disabled,
3758         which is a typical way that Emacs is built while developing.
3759
3760 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
3761
3762         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
3763         * build-aux/do-release-commit-and-tag: Move variable definitions
3764         together.
3765         ($branch): Instead of defaulting to "master", default to the current
3766         branch (as gnu-web-doc-update does).
3767         (help): Display the current values of the option arguments.
3768         * top/maint.mk (release-commit): New.
3769         * top/README-release: Simplify the corresponding step.
3770
3771 2012-07-30  Eric Blake  <eblake@redhat.com>
3772
3773         passfd: fix comment on recvfd
3774         * lib/passfd.c (recvfd): Fix comment.
3775         Reported by Jann Horn <jannhorn@googlemail.com>.
3776
3777 2012-07-30  Jim Meyering  <meyering@redhat.com>
3778
3779         maint.mk: avoid a sub-shell
3780         * top/maint.mk (release-prep): Remove unneeded sub-shell.
3781
3782 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3783
3784         maint.mk: use silent-rules support from Automake
3785         * top/maint.mk (news-check, vc-diff-check, announcement)
3786         (no-submodule-changes, alpha beta stable, release-prep)
3787         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
3788
3789 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3790
3791         maint.mk: provide a web-manual-update target
3792         * top/maint.mk: here.
3793         * top/README-release: Use it to simplify the web manual update step.
3794
3795 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3796
3797         README-release: shorten the circuit to post a news
3798         * top/README-release: Point directly to the news submission form.
3799
3800 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3801
3802         gnu-web-doc-update: fix --help
3803         * build-aux/gnu-web-doc-update: The information "top level" was written
3804         twice.
3805
3806 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3807
3808         maint.mk: absolute VPATH issue
3809         * top/maint.mk (release-prep): Help Git find .git/.
3810         From Jim Meyering.
3811
3812 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3813
3814         gitlog-to-changelog: fix previous change
3815         * build-aux/gitlog-to-changelog: Fix condition.
3816         Add missing ";".
3817
3818 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3819
3820         gitlog-to-changelog: don't expect .git to be in $srcdir
3821         Reported by Bruno Haible.
3822         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
3823         * build-aux/gitlog-to-changelog (&git_dir_option): New.
3824         Use it.
3825
3826 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3827
3828         maint.mk: absolute VPATH build fix
3829         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
3830         $(srcdir) is not a parent of $(builddir).
3831
3832 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
3833
3834         clean-temp: Fix memory leak.
3835         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
3836         'files' members of tmpdir.
3837
3838 2012-07-27  Jim Meyering  <meyering@redhat.com>
3839
3840         maint.mk: new rule: refresh-gnulib-patches
3841         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
3842         Use this rule to refresh them.
3843         * top/maint.mk (refresh-gnulib-patches): New rule.
3844
3845 2012-07-24  Bruno Haible  <bruno@clisp.org>
3846
3847         gnulib-tool: Fix handling of inctests variable.
3848         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
3849         Reported by Nick Bowler <nbowler@elliptictech.com>.
3850
3851 2012-07-22  Bruno Haible  <bruno@clisp.org>
3852
3853         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
3854         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
3855         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3856         Remove exemption for getpass.h.
3857         Suggested by Eric Blake.
3858
3859 2012-07-20  Eric Blake  <eblake@redhat.com>
3860
3861         verify: document conflict with -Wnested-externs
3862         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
3863
3864         maint.mk: forbid exit(-1)
3865         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
3866
3867 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
3868
3869         fsusage: port back to Solaris
3870         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
3871         error (fsd not declared) on Solaris 10.  Reported privately by
3872         Andrew Borodin.
3873
3874 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
3875
3876         gnu-web-doc-update: fix error messages
3877         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
3878
3879         gnu-web-doc-update: check the requirements.
3880         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
3881         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
3882         * build-aux/bootstrap (find_tool): Comment change.
3883
3884 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
3885
3886         maint.mk: minor simplication.
3887         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
3888         for default values.
3889
3890 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
3891
3892         gitlog-to-changelog: VPATH build issues
3893         If builddir is not a subdirectory of srcdir, running git from it will
3894         fail.
3895         * build-aux/gitlog-to-changelog (--srcdir): New option.
3896
3897 2012-07-15  Bruno Haible  <bruno@clisp.org>
3898
3899         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
3900         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
3901         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
3902         Remove exemption for fpending.h.
3903         Suggested by Eric Blake.
3904
3905 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
3906
3907         pthread_sigmask: fix bug on FreeBSD 9
3908         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
3909         Include string.h.
3910         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
3911         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
3912         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
3913         but pthread_sigmask (1729, NULL, NULL) returns zero.
3914         See <http://bugs.gnu.org/11884>.
3915         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
3916         by inspecting whether the main call changed the old mask.
3917
3918 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
3919
3920         README-release: make it more legible
3921         * top/README-release: Improve typography slightly.
3922
3923 2012-07-15  Jim Meyering  <meyering@redhat.com>
3924
3925         maint: require that each sc_... command start with "@"
3926         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
3927         "make sc_maint" helps us avoid this nit.
3928
3929 2012-07-15  Jim Meyering  <meyering@redhat.com>
3930
3931         maint.mk: add leading "@" to quiet new "make syntax-check" rule
3932         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
3933
3934 2012-07-13  Eric Blake  <eblake@redhat.com>
3935
3936         maint.mk: new syntax check for HAVE_DECL checks
3937         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
3938         * cfg.mk
3939         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3940         Exempt some false positives.
3941         Based on a report by Karel Zak.
3942
3943         argp: make HAVE_DECL usage consistent
3944         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
3945         macros, not whether they are defined.
3946         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
3947         convention with other declaration checks.
3948         Reported by Karel Zak, with suggestions from Paul Eggert.
3949
3950         stat-time: relax license to LGPLv2+
3951         * modules/stat-time (License): Relax, with consent of all authors.
3952
3953         strndup: fix m4 usage error
3954         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
3955         defined, to either 0 or 1.
3956         Reported by Karel Zak.
3957
3958 2012-07-11  Jim Meyering  <meyering@redhat.com>
3959
3960         maint: enable the sc_avoid_if_before_free syntax-check rule
3961         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
3962         (if_before_free_offenders_): Define.
3963         (if_before_free_basename_re_): Define.
3964         Exempt current files with useless if-before-free.
3965
3966 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
3967
3968         gettext: do not assume '#define ... defined ...' behavior
3969         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
3970         Do not use '#define FOO ... defined BAR ...', as the C standard says
3971         it's not portable to expect that this works after macro expansion.
3972         Problem reported for gzip by Steven M. Schweda in
3973         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
3974
3975 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
3976
3977         getloadavg: clean out old Emacs and Autoconf cruft
3978         See Glenn Morris in <http://bugs.gnu.org/11905>.
3979         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
3980         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
3981         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
3982         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
3983
3984 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
3985
3986         bootstrap: let warn be like tests/init.sh's warn_
3987         Reported by Jim Meyering.
3988         * build-aux/bootstrap (warn): Remove, replaced by...
3989         (warnf_, warn_): these.
3990         Adjust callers.
3991         Shorten messages that no longer fit in 80 columns.
3992
3993 2012-07-09  Bruno Haible  <bruno@clisp.org>
3994
3995         getopt: Simplify after Emacs changed.
3996         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
3997         (gl_GETOPT_IFELSE): Remove macro.
3998
3999 2012-07-09  Jim Meyering  <meyering@redhat.com>
4000
4001         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
4002         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
4003
4004         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
4005         Bugs in both of those conspired to make the
4006         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
4007         _sc_search_regexp's handling of non-empty $in_files would filter
4008         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
4009         choice of in_files value meant there would be no match in most
4010         projects, due to the presence of two or more Makefile.in files.
4011         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
4012         Fix a bug in how a non-empty $$in_files was processed:
4013         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
4014         in spite of the name, it's a regexp, not a list of file names.
4015
4016 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4017
4018         getloadavg, getopt: fix commentary re configure.in
4019         Autoconf is deprecating the name 'configure.in', so change it to
4020         to the new name 'configure.ac' in a couple of places.
4021         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
4022         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
4023         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
4024         Emacs has renamed it to configure.ac, and it no longer refers
4025         to these macros anyway.
4026
4027         timespec: mark functions with const attributes
4028         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
4029         Mark with _GL_ATTRIBUTE_CONST.
4030
4031 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
4032
4033         canonicalize[-lgpl]: handle "guessing" values when cross-building
4034         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
4035         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
4036         matches "*yes" instead of just "yes".  Regression introduced in commit
4037         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
4038
4039 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
4040             Bruno Haible  <bruno@clisp.org>
4041
4042         canonicalize: make the right guess when cross-compiling to GNU
4043         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
4044         determine whether cross-compiling to glibc systems, so as to
4045         include GNU/Hurd.
4046
4047 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4048
4049         timespec-sub: avoid duplicate include
4050         * lib/timespec-sub.c: Do not include <config.h> twice.
4051         Reported by Juanma Barranquero.
4052
4053 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
4054
4055         bootstrap: use a more consistent error reporting scheme
4056         * build-aux/bootstrap (warn, die): New.
4057         Use them.
4058
4059 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4060
4061         sys_time: allow too-wide tv_sec
4062         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
4063         timeval even if tv_sec is wider than time_t.  This allows
4064         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
4065         as without this patch gnulib replaces struct timeval
4066         and OpenBSD futimes therefore has a type mismatch.
4067         * doc/posix-headers/sys_time.texi: Mention this.
4068
4069         pthread: check for both pthread_create and pthread_join
4070         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
4071         alter the check so that it tests for both pthread_create and
4072         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
4073         Suggested by Bruno Haible and Richard Yao in
4074         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
4075
4076         parse-datetime: doc tuneup
4077         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
4078         spacing issues.
4079
4080 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
4081
4082         do-release-commit-and-tag: fix the previous commit
4083         * build-aux/do-release-commit-and-tag: Actually the test was right,
4084         but the comment and the error message were misleading.
4085         Fix comment, and improve error message.
4086         Perform check first, so that NEWS is not modified uselessly.
4087
4088         do-release-commit-and-tag: fix typo
4089         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
4090         _not_ start with a stub.
4091
4092 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
4093
4094         pthread: check for pthread_create, not pthread_join
4095         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
4096         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
4097         pthread_join in libc.  I hope this removes the need for all the
4098         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
4099         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
4100
4101 2012-07-04  Jim Meyering  <meyering@redhat.com>
4102
4103         parse-datetime: fix failure to diagnose invalid input
4104         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
4105         rather than diagnosing the invalid input.  Now it reports this:
4106         date: invalid date '\260'
4107         * lib/parse-datetime.y (to_uchar): Define.
4108         (yylex): Don't sign-extend "other" bytes.
4109         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
4110         Thanks to Bruno Haible for the patch to this file.
4111         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
4112         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
4113
4114 2012-07-03  Jim Meyering  <meyering@redhat.com>
4115
4116         bootstrap: do not require now-removed build-aux/missing
4117         Now that build-aux/missing is, er, missing, bootstrap would
4118         silently fail.
4119         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
4120         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
4121         no longer part of gnulib.
4122         Diagnose the failure.
4123
4124 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
4125
4126         alloca: add support for HP NonStop TNS/E native
4127         * lib/alloca.in.h (alloca): Support the new host.
4128         From a suggestion by Joachim Schmitz in
4129         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
4130
4131 2012-07-02  Pádraig Brady  <P@draigBrady.com>
4132
4133         fsusage: remove code not needed on non GNU/Linux systems.
4134
4135         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
4136         Don't include headers no longer needed in this case.
4137         * lib/fsusage.c [STAT_STATVFS &&
4138         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
4139         STAT_STATFS2_FRSIZE to exclude code not used in this case.
4140
4141 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
4142
4143         fsusage: include files needed for glibc 2.6 fallback
4144         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
4145         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
4146         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
4147         Problem reported by Ludovic Courtès in
4148         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
4149
4150         fsusage: avoid needless check on GNU/Linux
4151         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
4152         on GNU/Linux systems, since it can't possibly work.
4153
4154 2012-07-01  Bruno Haible  <bruno@clisp.org>
4155
4156         log: Fix an autoconf >= 2.64 warning.
4157         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
4158         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
4159
4160 2012-06-28  Bruno Haible  <bruno@clisp.org>
4161
4162         log10f: Fix possible configuration problem.
4163         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
4164         $LOGF_LIBM.
4165         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
4166
4167 2012-06-28  Bruno Haible  <bruno@clisp.org>
4168
4169         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
4170         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
4171         not gl_cv_func_unlink_works.
4172         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
4173
4174 2012-06-27  Eric Blake  <eblake@redhat.com>
4175
4176         config: drop scripts that automake says are not independent
4177         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
4178         * build-aux/elisp-comp: Delete.
4179         * build-aux/missing: Likewise.
4180         * build-aux/ylwrap: Likewise.
4181         * modules/elisp-comp: Likewise.
4182         * MODULES.html.sh: Drop mention of elisp-comp.
4183         * NEWS: Mention this.
4184
4185 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
4186
4187         root-uid: new module
4188         This is for portability to Tandem's NonStop Kernel.
4189         * lib/root-uid.h, modules/root-uid: New files.
4190         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
4191         * lib/write-any-file.c, tests/test-sethostname2.c:
4192         Include "root-uid.h".
4193         * lib/euidaccess.c (euidaccess):
4194         * lib/pt_chown.c (main):
4195         * lib/unlinkdir.c (cannot_unlink_dir):
4196         * lib/write-any-file.c (can_write_any_file):
4197         * m4/mknod.m4 (gl_FUNC_MKNOD):
4198         * tests/test-sethostname2.c (geteuid, main):
4199         Don't assume ROOT_UID == 0.
4200         * modules/euidaccess (Depends-on):
4201         * modules/pt_chown (Depends-on):
4202         * modules/sethostname-tests (Depends-on):
4203         * modules/unlinkdir (Depends-on):
4204         * modules/write-any-file (Depends-on):
4205         Add root-uid.
4206
4207         regex: use locale-independent comparison for codeset name
4208         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
4209         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
4210         for codeset name.
4211         * lib/regex_internal.h: Do not include <strings.h>, since we
4212         no longer use strcasecmp.
4213         * modules/regex (Depends-on): Remove strcase.
4214
4215 2012-06-23  Bruno Haible  <bruno@clisp.org>
4216
4217         getopt-posix: No longer guarantee that option processing is resettable.
4218         * doc/posix-functions/getopt.texi: Drop description of problem with
4219         internal state. Fix info about mingw and msvc9.
4220         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
4221         option processing by getopt(). Run three test programs instead of one.
4222         Simplify cross-compilation guess.
4223         * NEWS: Mention the change.
4224         Reported by Rich Felker <dalias@aerifal.cx>.
4225
4226 2012-06-26  Bruno Haible  <bruno@clisp.org>
4227
4228         argp, regex: Ensure strcasecmp gets declared.
4229         * lib/argp-help.c: Include <strings.h>.
4230         * lib/regex_internal.h: Likewise.
4231         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
4232
4233 2012-06-24  Bruno Haible  <bruno@clisp.org>
4234
4235         ptsname_r: Make it consistent with ptsname on AIX.
4236         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
4237         implementation as for OSF/1.
4238         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
4239         a pty master.
4240
4241         ptsname_r: Make it consistent with ptsname on OSF/1.
4242         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
4243         OSF/1.
4244
4245 2012-06-24  Bruno Haible  <bruno@clisp.org>
4246
4247         ttyname_r: Fix result on OSF/1, Solaris.
4248         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
4249
4250 2012-06-24  Bruno Haible  <bruno@clisp.org>
4251
4252         ptsname_r: Add support for Solaris.
4253         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
4254         Solaris.
4255
4256         ptsname_r: Fix test failure on native Windows.
4257         * modules/ptsname_r (Depends-on): Add isatty.
4258
4259         ptsname_r: Fix test failures on IRIX, Solaris.
4260         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
4261         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
4262         accordingly.
4263         * lib/ptsname_r.c: Include <fcntl.h>.
4264         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
4265         set errno if fd is invalid.
4266         * tests/test-isatty.c (main): Update comments.
4267
4268 2012-06-24  Bruno Haible  <bruno@clisp.org>
4269
4270         ptsname test: Extend test.
4271         * tests/test-ptsname.c: Include <errno.h>.
4272         (main): Test behaviour with invalid file descriptor.
4273
4274 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
4275
4276         time: fix obsolete comment
4277         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
4278         reference to HAVE_STRUCT_TIMESPEC in comment.
4279
4280 2012-06-23  Bruno Haible  <bruno@clisp.org>
4281
4282         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
4283         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
4284         does not handle abbreviated long options with equivalent
4285         disambiguations, set gl_replace_getopt to yes.
4286         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
4287
4288 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
4289
4290         time_r: fix typo that always overrode localtime_r decl
4291         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
4292         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
4293         not in a standard include.
4294
4295 2012-06-22  Bruno Haible  <bruno@clisp.org>
4296
4297         Write "Mac OS X" instead of "MacOS X".
4298         * README: Write "Mac OS X" instead of "MacOS X".
4299         * build-aux/bootstrap: Likewise.
4300         * build-aux/install-reloc: Likewise.
4301         * lib/acl-internal.h: Likewise.
4302         * lib/acl_entries.c: Likewise.
4303         * lib/argp-ba.c: Likewise.
4304         * lib/argp-pv.c: Likewise.
4305         * lib/config.charset: Likewise.
4306         * lib/copy-acl.c: Likewise.
4307         * lib/csharpexec.c: Likewise.
4308         * lib/euidaccess.c: Likewise.
4309         * lib/fbufmode.c: Likewise.
4310         * lib/fflush.c: Likewise.
4311         * lib/file-has-acl.c: Likewise.
4312         * lib/filemode.h: Likewise.
4313         * lib/fpurge.c: Likewise.
4314         * lib/freadable.c: Likewise.
4315         * lib/freadahead.c: Likewise.
4316         * lib/freading.c: Likewise.
4317         * lib/freadptr.c: Likewise.
4318         * lib/freadseek.c: Likewise.
4319         * lib/fseeko.c: Likewise.
4320         * lib/fseterr.c: Likewise.
4321         * lib/fsusage.c: Likewise.
4322         * lib/fwritable.c: Likewise.
4323         * lib/fwriting.c: Likewise.
4324         * lib/get-rusage-as.c: Likewise.
4325         * lib/get-rusage-data.c: Likewise.
4326         * lib/getdomainname.c: Likewise.
4327         * lib/idpriv-drop.c: Likewise.
4328         * lib/idpriv-droptemp.c: Likewise.
4329         * lib/localcharset.c: Likewise.
4330         * lib/locale.in.h: Likewise.
4331         * lib/localename.c: Likewise.
4332         * lib/mbsrtowcs-state.c: Likewise.
4333         * lib/nproc.c: Likewise.
4334         * lib/passfd.c: Likewise.
4335         * lib/posix_openpt.c: Likewise.
4336         * lib/printf-parse.c: Likewise.
4337         * lib/progreloc.c: Likewise.
4338         * lib/safe-read.h: Likewise.
4339         * lib/safe-write.h: Likewise.
4340         * lib/sched.in.h: Likewise.
4341         * lib/set-mode-acl.c: Likewise.
4342         * lib/signal.in.h: Likewise.
4343         * lib/stdint.in.h: Likewise.
4344         * lib/stdio-impl.h: Likewise.
4345         * lib/stdlib.in.h: Likewise.
4346         * lib/strtod.c: Likewise.
4347         * lib/sys_select.in.h: Likewise.
4348         * lib/tcgetsid.c: Likewise.
4349         * lib/unistd.in.h: Likewise.
4350         * lib/unlockpt.c: Likewise.
4351         * lib/vasnprintf.c: Likewise.
4352         * lib/vma-iter.c: Likewise.
4353         * lib/wcsrtombs-state.c: Likewise.
4354         * m4/acl.m4: Likewise.
4355         * m4/acosl.m4: Likewise.
4356         * m4/asinl.m4: Likewise.
4357         * m4/atanl.m4: Likewise.
4358         * m4/c-stack.m4: Likewise.
4359         * m4/cosl.m4: Likewise.
4360         * m4/expl.m4: Likewise.
4361         * m4/extensions.m4: Likewise.
4362         * m4/fdatasync.m4: Likewise.
4363         * m4/fmal.m4: Likewise.
4364         * m4/frexp.m4: Likewise.
4365         * m4/frexpf.m4: Likewise.
4366         * m4/frexpl.m4: Likewise.
4367         * m4/fsusage.m4: Likewise.
4368         * m4/getdomainname.m4: Likewise.
4369         * m4/getloadavg.m4: Likewise.
4370         * m4/getopt.m4: Likewise.
4371         * m4/gettext.m4: Likewise.
4372         * m4/gnulib-common.m4: Likewise.
4373         * m4/intdiv0.m4: Likewise.
4374         * m4/intlmacosx.m4: Likewise.
4375         * m4/largefile.m4: Likewise.
4376         * m4/ldexpl.m4: Likewise.
4377         * m4/link-follow.m4: Likewise.
4378         * m4/locale-ar.m4: Likewise.
4379         * m4/locale-fr.m4: Likewise.
4380         * m4/locale-ja.m4: Likewise.
4381         * m4/locale-tr.m4: Likewise.
4382         * m4/locale-zh.m4: Likewise.
4383         * m4/locale_h.m4: Likewise.
4384         * m4/lock.m4: Likewise.
4385         * m4/logl.m4: Likewise.
4386         * m4/mathfunc.m4: Likewise.
4387         * m4/minus-zero.m4: Likewise.
4388         * m4/mktime.m4: Likewise.
4389         * m4/mmap-anon.m4: Likewise.
4390         * m4/multiarch.m4: Likewise.
4391         * m4/nanosleep.m4: Likewise.
4392         * m4/nocrash.m4: Likewise.
4393         * m4/poll.m4: Likewise.
4394         * m4/printf-frexpl.m4: Likewise.
4395         * m4/printf.m4: Likewise.
4396         * m4/signbit.m4: Likewise.
4397         * m4/sinl.m4: Likewise.
4398         * m4/sqrtl.m4: Likewise.
4399         * m4/strerror_r.m4: Likewise.
4400         * m4/tanl.m4: Likewise.
4401         * m4/threadlib.m4: Likewise.
4402         * m4/ttyname_r.m4: Likewise.
4403         * m4/unlink.m4: Likewise.
4404         * m4/visibility.m4: Likewise.
4405         * m4/wcwidth.m4: Likewise.
4406         * tests/minus-zero.h: Likewise.
4407         * tests/test-alloca-opt.c: Likewise.
4408         * tests/test-copy-acl.sh: Likewise.
4409         * tests/test-copy-file.sh: Likewise.
4410         * tests/test-fdatasync.c: Likewise.
4411         * tests/test-file-has-acl.sh: Likewise.
4412         * tests/test-flock.c: Likewise.
4413         * tests/test-fsync.c: Likewise.
4414         * tests/test-localename.c: Likewise.
4415         * tests/test-malloca.c: Likewise.
4416         * tests/test-nonblocking-pipe.h: Likewise.
4417         * tests/test-nonblocking-socket.h: Likewise.
4418         * tests/test-openpty.c: Likewise.
4419         * tests/test-posix_openpt.c: Likewise.
4420         * tests/test-ptsname.c: Likewise.
4421         * tests/test-ptsname_r.c: Likewise.
4422         * tests/test-sameacls.c: Likewise.
4423         * tests/test-select.h: Likewise.
4424         * tests/test-set-mode-acl.sh: Likewise.
4425         * tests/test-snprintf-posix.h: Likewise.
4426         * tests/test-sprintf-posix.h: Likewise.
4427         * tests/test-strtod.c: Likewise.
4428         * tests/test-time.c: Likewise.
4429         * tests/test-vasnprintf-posix.c: Likewise.
4430         * tests/test-vasprintf-posix.c: Likewise.
4431         * doc/acl-resources.txt: Likewise.
4432         * doc/**/*.texi: Likewise.
4433         Reported by Max Horn <max@quendi.de>.
4434
4435 2012-06-22  Bruno Haible  <bruno@clisp.org>
4436
4437         grantpt: Relax requirement regarding invalid file descriptors.
4438         * lib/grantpt.c: Don't include <fcntl.h>.
4439         (grantpt): Don't verify the validity of the file descriptor.
4440         * modules/grantpt (Depends-on): Remove fcntl-h.
4441         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
4442         file descriptors.
4443         * doc/posix-functions/grantpt.texi: Document more platforms on which
4444         grantpt succeeds for invalid file descriptors.
4445         Reported by Rich Felker <dalias@aerifal.cx>.
4446
4447 2012-06-22  Bruno Haible  <bruno@clisp.org>
4448
4449         fbufmode test: Don't test unportable behaviour.
4450         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
4451         (main): Invoke it three times.
4452         Reported by Szabolcs Nagy <nsz@port70.net>
4453         and Rich Felker <dalias@aerifal.cx>.
4454
4455 2012-06-21  Bruno Haible  <bruno@clisp.org>
4456
4457         gnulib-tool: Refactor inctests variable.
4458         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
4459         (func_modules_transitive_closure,
4460         func_modules_transitive_closure_separately,
4461         func_import, func_create_testdir): Update.
4462
4463         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
4464         * gnulib-tool: Accept option --without-tests.
4465         (func_usage): Document --without-tests option. Rearrange.
4466         (inctests): Normalize according to the mode.
4467         * NEWS: Mention the change.
4468         Suggested by Simon Josefsson.
4469
4470 2012-06-21  Bruce Korb  <bkorb@gnu.org>
4471
4472         parse-duration test: Avoid spurious output.
4473         * tests/test-parse-duration.sh: Reindent with leading tabs.
4474
4475 2012-06-21  Jim Meyering  <meyering@redhat.com>
4476
4477         maint: disable the strncpy prohibition
4478         * cfg.mk: Do not prohibit strncpy here.
4479
4480 2012-06-21  Bruno Haible  <bruno@clisp.org>
4481
4482         nonblocking: Avoid compilation error on mingw64.
4483         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
4484         fscanf.
4485         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
4486         * modules/vfscanf (configure.ac): Likewise.
4487         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
4488         definition only if stdio.h has prepared it.
4489         Reported by Daniel P. Berrange <berrange@redhat.com>.
4490
4491 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
4492
4493         gnulib-tool: Use readlink if it is available.
4494         * gnulib-tool (func_readlink): Choose function more appropriately.
4495
4496 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
4497
4498         posixtm-tests: port to buggy compiler
4499         Problem reported by Simon Josefsson in
4500         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
4501         * modules/posixtm-tests (Depends-on): Add stdint.
4502         * tests/test-posixtm.c (struct posixtm_test.t_expected):
4503         Now of type int_least64_t, not int64_t, both because that's
4504         what INT64_C returns and because int_least64_t works even
4505         on 72-bit hosts.
4506         (T): Use INT64_C on constants outside the traditional int range,
4507         to work around compiler bug noted by Simon.
4508
4509         mktime: fix integer overflow in 'configure'-time test
4510         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
4511         after integer overflow.  Problem reported by Rich Felker in
4512         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
4513         Also, don't look for further instances of a bug if we've already
4514         found one instance; this helps 'configure' run faster.
4515
4516 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
4517
4518         tmpfile, clean-temp: Fix invocation of GetVersionEx.
4519         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
4520         GetVersionEx correctly.
4521         * lib/clean-temp.c (supports_delete_on_close): Likewise.
4522
4523 2012-06-20  Bruno Haible  <bruno@clisp.org>
4524
4525         fdopen: Allow implementations that don't reject invalid fd arguments.
4526         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
4527         succeeds.
4528         Reported by Rich Felker <dalias@aerifal.cx>.
4529
4530 2012-06-20  Simon Josefsson  <simon@josefsson.org>
4531
4532         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
4533         bring in LIBINTL.
4534
4535 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
4536
4537         init.sh: do not rely on autoupated PWD
4538         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
4539         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
4540         Although Nelson's bug was not necessarily fixed by this patch,
4541         it seems wise to make the change for safety.
4542         * tests/init.sh (path_prepend_): Do not rely on PWD updating
4543         automagically after 'cd'; this is not reliable on older shells.
4544         (setup_): Fail if we cannot cd to temporary directory.
4545
4546 2012-06-19  Bruno Haible  <bruno@clisp.org>
4547
4548         stat, fstat: Avoid warnings on mingw64.
4549         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
4550         redefining.
4551         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
4552         Reported by Daniel P. Berrange <berrange@redhat.com>.
4553
4554 2012-06-19  Bruno Haible  <bruno@clisp.org>
4555
4556         stdioext: Add support for musl libc.
4557
4558         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
4559         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
4560
4561         * m4/fseterr.m4: New file.
4562         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
4563         function exists.
4564         * modules/fseterr (Files): Add m4/fseterr.m4.
4565         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
4566         __fseterr does not exist.
4567         (Makefile.am): Remove fseterr.c from lib_SOURCES.
4568
4569         * lib/freadable.h: Update comment.
4570
4571         * lib/fwritable.h: Update comment.
4572
4573         * lib/freading.h: Update comment.
4574
4575         * lib/fwriting.h: Update comment.
4576
4577         * m4/freadahead.m4: New file.
4578         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
4579         that function exists.
4580         * modules/freadahead (Files): Add m4/freadahead.m4.
4581         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
4582         __freadahead does not exist.
4583         (Makefile.am): Remove freadahead.c from lib_SOURCES.
4584
4585         * m4/freadptr.m4: New file.
4586         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
4587         function exists.
4588         * modules/freadptr (Files): Add m4/freadptr.m4.
4589         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
4590         __freadptr does not exist.
4591         (Makefile.am): Remove freadptr.c from lib_SOURCES.
4592
4593         * m4/freadseek.m4: New file.
4594         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
4595         exists.
4596         * modules/freadseek (Files): Add m4/freadseek.m4.
4597         (configure.ac): Invoke gl_FUNC_FREADSEEK.
4598
4599         * lib/fpurge.c (fpurge): Update comment.
4600
4601         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
4602
4603 2012-06-19  Bruno Haible  <bruno@clisp.org>
4604
4605         *printf-posix: Put more info into config.log.
4606         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
4607         exit code into config.log.
4608
4609 2012-06-19  Bruno Haible  <bruno@clisp.org>
4610
4611         getopt-gnu: Fix exit code overflow in autoconf test.
4612         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
4613         to keep them below < 128.
4614
4615 2012-06-17  Jim Meyering  <meyering@redhat.com>
4616
4617         maint.mk: fix typo in code to derive GPG key at release time
4618         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
4619
4620 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
4621
4622         regex: avoid warning when pointers are not long
4623         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
4624         and uintptr_t, not long, for portability to hosts where pointers and
4625         long have different sizes.  Issue noted by Daniel P. Berrange in
4626         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
4627         and fix suggested by Bruno Haible in
4628         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
4629
4630 2012-06-17  Bruno Haible  <bruno@clisp.org>
4631
4632         dummy: Relicense into the public domain.
4633         * modules/dummy (License): Set to "public domain".
4634         Suggested by Reuben Thomas.
4635
4636 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
4637
4638         announce-gen: VPATH issues
4639         * build-aux/announce-gen (--srcdir): New option, used to trim the
4640         $srcdir part of the path from $builddir to NEWS.
4641         * top/maint.mk (announcement): Adjust.
4642
4643 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
4644
4645         gnu-web-doc-update: VPATH builds
4646         * build-aux/gnu-web-doc-update (--builddir): New option.
4647         Revamp the handling of options.
4648         Prefer $(...) to `...`.
4649         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
4650         the template, and it is GNU mktemp specific.
4651         Prefer set -e to long series of &&.
4652         Restore the initial git branch, not "master".
4653         Properly initialize submodules (don't rely only on bootstrap).
4654         Do not reconfigure blindly, use config.status.
4655         * top/README-release: Update instructions for gnu-web-doc-update.
4656
4657 2012-06-11  Jim Meyering  <meyering@redhat.com>
4658
4659         maint.mk: revert most of the previous change re "all these"
4660         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
4661         For rationale, see the discussion at
4662         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
4663
4664 2012-06-10  Karl Berry  <karl@gnu.org>
4665
4666         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
4667
4668         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
4669
4670 2012-06-10  Bruce Korb  <bkorb@gnu.org>
4671
4672         parse-duration: Relicense under LGPLv2+.
4673         * modules/parse-duration (License): Change to LGPLv2+.
4674
4675 2012-06-10  Jim Meyering  <meyering@redhat.com>
4676
4677         maint.mk: prohibit common grammar error: "all these"
4678         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
4679         the list of prohibited word sequences.  It should be "all of these".
4680         * lib/tempname.c (__gen_tempname): Fix one of them.
4681
4682 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4683
4684         do-release-commit-and-tag: support VPATH builds
4685         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
4686         (noteworthy): Defined earlier to factor its value.
4687         (noteworthy_stub): New.
4688         Use it to factor.
4689         (help_version): Split into...
4690         (help, version): these.
4691         Adjust the option processing part.
4692         Support "--option=value" in addition to "--option value".
4693         (builddir): New.
4694         (--builddir): New option.
4695         * top/README-release: Document this.
4696         Reword slightly so that the reader cannot understand that he
4697         has to do these steps before calling do-release-commit-and-tag.
4698
4699 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4700
4701         readme-release: also require announce-gen and maintainer-makefile
4702         * modules/readme-release (Depends-on): here.
4703         * modules/announce-gen, modules/do-release-commit-and-tag,
4704         modules/gnu-web-doc-update, modules/maintainer-makefile
4705         (Description): Point to readme-release.
4706
4707 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4708
4709         maint.mk: fix VPATH issues.
4710         * top/maint.mk (news-check): GNU Make understand $< very well.
4711         (release-prep): NEWS is in $(srcdir).
4712
4713 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
4714
4715         readme-release: require the promoted modules.
4716         * modules/readme-release (Depends-on): Add
4717         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
4718         in this text.
4719
4720 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4721             Bruno Haible  <bruno@clisp.org>
4722
4723         error, strerror-override: Support mingw64 from Fedora 17.
4724         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
4725         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
4726         EINPROGRESS.
4727         * lib/strerror-override.h (strerror_override): Test it.
4728         * lib/strerror-override.c (strerror_override): Likewise.
4729         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
4730
4731 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4732             Bruno Haible  <bruno@clisp.org>
4733
4734         error, strerror-override: Support mingw64 from Fedora 17.
4735         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
4736         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
4737         * lib/strerror-override.h (strerror_override): Test it.
4738         * lib/strerror-override.c (strerror_override): Likewise.
4739
4740 2012-06-03  Bruno Haible  <bruno@clisp.org>
4741
4742         error, strerror-override: Support new errno values from POSIX:2008.
4743         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
4744         ENOTRECOVERABLE.
4745         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
4746         platforms.
4747         * lib/strerror-override.c (strerror_override): Conditionalize the
4748         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
4749         * lib/strerror-override.h (strerror_override): Declare also if
4750         GNULIB_defined_EOWNERDEAD is defined.
4751         * tests/test-errno.c (e130, e131): New variables.
4752         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
4753         ENOTRECOVERABLE.
4754         Reported by Paolo Bonzini.
4755
4756 2012-05-31  Jim Meyering  <meyering@redhat.com>
4757
4758         savewd: add missing dependency on sys_wait module
4759         * modules/savewd (Depends-on): Add sys_wait, needed at least
4760         for MSVC.  Report and suggested change by Michael Goffioul.
4761
4762 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4763
4764         system-quote-tests: port to CentOS 5
4765         Problem reported by Tom G. Christensen in
4766         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
4767         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
4768
4769 2012-05-29  Jim Meyering  <meyering@redhat.com>
4770
4771         maint: fix typos in comments and ChangeLog
4772         Culprits identified and fixed mostly automatically using these commands:
4773         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
4774         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
4775         using http://github.com/lyda/misspell-check
4776         * ChangeLog: Fix typos.
4777         * doc/solaris-versions: Likewise.
4778         * lib/regexec.c (re_search_stub): Likewise.
4779         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
4780
4781 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4782
4783         manywarnings: remove duplicate -Wmultichar entry
4784         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
4785         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
4786         so keep the entry marked as documented.
4787
4788 2012-05-27  Karl Berry  <karl@gnu.org>
4789
4790         * config/srclist.txt (mktime.c): remove last libc sync,
4791         perhaps just temporarily.
4792
4793 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4794
4795         regex: don't assume uint64_t or uint32_t
4796         * lib/regcomp.c (init_word_char): Don't assume that the types
4797         uint64_t and uint32_t exist.  The C standard doesn't guarantee
4798         them, and on some 32-bit compilers there is no uint64_t.
4799         Problem reported by Gianluigi Tiesi in
4800         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
4801
4802 2012-05-25  Jim Meyering  <meyering@redhat.com>
4803
4804         maint.mk: add strncpy-prohibiting syntax-check rule
4805         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
4806
4807 2012-05-24  Jim Meyering  <meyering@redhat.com>
4808
4809         maint.mk: compute $(gpg_key_ID) more portably
4810         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
4811         That use of sed is not portable to some fringe systems.
4812         Reported by Paul Eggert in
4813         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
4814
4815 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4816
4817         mktime: sync from glibc
4818         * config/srclist.txt: Uncomment mktime.c.
4819         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
4820         First, indent with tabs, since glibc uses tabs and doesn't want to
4821         change and we'd rather be identical to glibc.  Also, two small
4822         coding changes:
4823         (isdst_differ): Use &&, not &, as && is the usual style.
4824         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
4825         for clarity.
4826
4827 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4828
4829         announce-gen: du -h is more portable than du --human
4830         * build-aux/announce-gen (sizes): Invoke du with -h instead
4831         of --human.  Accept leading white space in its output.
4832
4833 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4834
4835         announce-gen: Improve diagnostics.
4836         * build-aux/announce-gen: When parsing command line options,
4837         prefer "announce-gen: option --release-type requires an argument"
4838         to "Option release-type requires an argument".
4839
4840 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4841
4842         maint.mk: gpg_key_ID: use sed more portably
4843         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
4844         the closing brace.
4845         (refresh-po): Fuse two sed invocations into one.
4846
4847 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
4848
4849         gitlog-to-changelog: support the log message format used in Bison.
4850         * build-aux/gitlog-to-changelog: Support --strip-tab and
4851         --strip-cherry-picked.
4852
4853 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4854
4855         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
4856         the rest of the current time slice to another thread in the current
4857         process. So if the thread that feeds the file decscriptor we're
4858         polling is not in the current process, we get busy-waiting.
4859         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
4860         Patch from Theodore Leblond.
4861         * lib/select.c: Split polling out of the loop that sets the output
4862         fd_sets.  Check for zero result and loop if the wait timeout is
4863         infinite.
4864
4865 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4866
4867         select: Fix build error on IRIX 6.5.
4868         * lib/select.c: Include stddef.h for NULL.
4869
4870 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4871
4872         gc: fix libgcrypt detection on older machines.
4873         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
4874         copyright years because the file has been distributed every year
4875         since it was created.
4876
4877 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4878
4879         crypto: fix bug in large buffer handling
4880         Problem reported by Serge Belyshev for glibc in
4881         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
4882         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
4883         * lib/md4.c (md4_process_block):
4884         * lib/md5.c (md5_process_block):
4885         * lib/sha1.c (sha1_process_block):
4886         * lib/sha256.c (sha256_process_block):
4887         Don't assume the buffer length is less than 2**32.
4888         * lib/sha512.c (sha512_process_block): Likewise.
4889         Here, the bug is present only in the rare case where the host does
4890         not support uint64_t or where size_t is wider than 64 bits.
4891         Use u64size to work around the problems.
4892         * lib/u64.h (u64size): New macro.
4893
4894 2012-05-15  Pádraig Brady  <P@draigBrady.com>
4895
4896         fsusage: fix block size returned on older Linux 2.6
4897
4898         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
4899         which is available since Linux 2.6.
4900         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
4901         when the member is available so it can be used as a fallback.
4902         * doc/posix-functions/statvfs.texi: Mention the hang issue
4903         on Linux < 2.6.36.
4904
4905 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4906
4907         bootstrap: suppress stderr chatter
4908         * build-aux/bootstrap (insert_sorted_if_absent, main program):
4909         Omit unnecessary chatter to stderr.  The main program chatter
4910         was there only inadvertantly.
4911
4912         bootstrap: .gitignore files created by autopoint, libtool
4913         I ran into this problem when bootstrapping the latest diffutils.
4914         After './bootstrap', 'git status' reported lots of untracked files
4915         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
4916         autopoint and do not need to be version-controlled.
4917         * build-aux/bootstrap: Put into .gitignore the files that
4918         autopoint and libtool create, by keeping track of files that exist
4919         after but not before these programs are run.
4920         (version_controlled_file): Move up.  2nd arg is now full file
4921         name, not base name; this is more convenient.  Put CVS at the end,
4922         as it's now somewhat deprecated.
4923
4924 2012-05-14  Jim Meyering  <meyering@redhat.com>
4925
4926         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
4927         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
4928         definition.  Reported by Bruno Haible.
4929
4930 2012-05-13  Bruno Haible  <bruno@clisp.org>
4931             Paul Eggert  <eggert@cs.ucla.edu>
4932
4933         binary-io: Define set_binary_mode function.
4934         * lib/binary-io.h (set_binary_mode): New function.
4935         (SET_BINARY): Define in terms of set_binary_mode.
4936         * modules/binary-io (configure.ac): Require AC_C_INLINE.
4937         * tests/test-binary-io.c (main): Accept an argument, and test either
4938         set_binary_mode or SET_BINARY depending on the argument.
4939         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
4940         argument. Clean up also t-bin-out0.tmp.
4941
4942 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
4943
4944         bootstrap: take advantage of POSIX shell features
4945
4946         The 'bootstrap' script offered by Gnulib script already uses POSIX
4947         shell features (like $((...)) arithmetic expansions) that are not
4948         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
4949         means that bootstrap must already be run using a proper POSIX shell,
4950         which will thus provide more features, like ${var#pattern} parameter
4951         expansion or inversion of a command exit status with '!'.  We can
4952         thus use these features to improve the clarity and the performances
4953         of the bootstrap script.
4954
4955         Suggested by Eric Blake.
4956
4957         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
4958         of sed/expr plus command substitutions, to save some forks.  While
4959         we are at it, prefer the POSIX $(...) form of command substitution,
4960         rather than the legacy form `...` (since the former is visually
4961         clearer and interacts better with quoting), and prefer the idiom:
4962           "if ! CMD; then ACTION ..."
4963         over the idiom:
4964           "if CMD; then :; else ACTION ..."
4965         which was required by legacy Bourne shells not supporting '!'.
4966
4967 2012-05-12  Bruno Haible  <bruno@clisp.org>
4968
4969         system-quote: Add more comments.
4970         * lib/system-quote.h: Add more comments about wilcards and limitations.
4971         Suggested by Eli Zaretskii <eliz@gnu.org>.
4972
4973         sh-quote, system-quote: Add comments about wildcards.
4974         * lib/sh-quote.h: Clarify what happens with wildcard characters.
4975         * lib/system-quote.h: Likewise.
4976         Reported by Eli Zaretskii <eliz@gnu.org>.
4977
4978 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
4979
4980         fsusage: check for GNU/Linux statvfs problem dynamically
4981         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
4982         Define STAT_STATFS2_BSIZE too, since in this case the code now
4983         checks dynamically whether statvfs is reliable, falling back on
4984         Linux-style statfs otherwise.
4985         (statvfs_works): New function, for dynamically testing statvfs.
4986         (get_fs_usage) [STAT_STATVFS]: Use it.
4987         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
4988         statvfs on GNU/Linux hosts, since it's now done dynamically.
4989
4990 2012-05-10  Bruno Haible  <bruno@clisp.org>
4991
4992         system-quote, execute, spawn-pipe: Escape '?' on Windows.
4993         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
4994         '?' character.
4995         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
4996         * tests/test-system-quote-main.c (check_all): Check also strings like
4997         "??????????".
4998         Reported by Eli Zaretskii <eliz@gnu.org>.
4999
5000 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
5001
5002         _Noreturn: port config.h to gcc -Wundef
5003         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
5004         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
5005         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
5006
5007 2012-05-10  Bruno Haible  <bruno@clisp.org>
5008
5009         system-quote: Refactor.
5010         * lib/system-quote.h (system_quote_copy): Fix comment.
5011         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
5012         New functions, extracted from system_quote_copy.
5013         (system_quote_length, system_quote_copy): Use these functions.
5014         Reported by Paul Eggert.
5015
5016 2012-05-08  Bruno Haible  <bruno@clisp.org>
5017
5018         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
5019         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
5020
5021 2012-05-08  Bruno Haible  <bruno@clisp.org>
5022
5023         Tests for module 'system-quote'.
5024         * modules/system-quote-tests: New file.
5025         * tests/test-system-quote.sh: New file.
5026         * tests/test-system-quote-main.c: New file.
5027         * tests/test-system-quote-child.c: New file.
5028
5029         New module 'system-quote'.
5030         * lib/system-quote.h: New file.
5031         * lib/system-quote.c: New file.
5032         * modules/system-quote: New file.
5033
5034 2012-05-08  Bruno Haible  <bruno@clisp.org>
5035
5036         sh-quote: Make C++ safe and allow multiple inclusion.
5037         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
5038         declarations in extern "C".
5039
5040 2012-05-08  Bruno Haible  <bruno@clisp.org>
5041
5042         sh-quote tests: Make tests stricter.
5043         * tests/test-sh-quote.c (check_one): Check the return value of
5044         shell_quote_copy.
5045         (main): Check a string with a CR character. Check a string that
5046         contains UCHAR_MAX.
5047
5048 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
5049
5050         warnings.m4: provide a means to specify the program to compile.
5051         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
5052         (gl_WARN_ADD): here.
5053         Use gl_AS_VAR_APPEND.
5054         Support an argument to specify the program to compile.
5055         (gl_WARN_ADD): Accept an argument to specify the program to compile.
5056         AC_SUBST the WARN_CFLAGS when they are used.
5057         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
5058         leave this to gl_WARN_ADD.
5059
5060 2012-05-08  Eric Blake  <eblake@redhat.com>
5061
5062         doc: recommendations on gettext version
5063         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
5064         choice between versions.
5065         * DEPENDENCIES (gettext): Cover both approaches.
5066
5067 2012-05-08  Jim Meyering  <meyering@redhat.com>
5068
5069         init.sh: explain why EXEEXT support uses aliases rather than functions
5070         * tests/init.sh: Add a comment.
5071
5072         init.sh: don't let bash aliases interfere with tests
5073         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
5074         is bash.  This avoids problems for those who alias standard commands to
5075         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
5076         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
5077
5078 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
5079
5080         stdint: be more consistent with glibc, SunOS libc
5081         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
5082         (gl_int_fast16_t, gl_uint_fast16_t)
5083         (gl_int_fast32_t, gl_uint_fast32_t)
5084         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
5085         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
5086         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
5087         Be consistent with glibc by default, and with SunOS 5.10 and later
5088         if __sun is defined.  This lessens the likelihood of clashes if
5089         code compiled for older hosts is combined with code compiled for
5090         newer ones.  Problem reported by Niels Möller in
5091         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
5092
5093 2012-05-07  Eric Blake  <eblake@redhat.com>
5094
5095         isatty: relax license to LGPLv2+
5096         * modules/isatty (License): Relax license.
5097
5098 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
5099
5100         stat-size: comment fix
5101         * lib/stat-size.h: Remove obsolete comment about indenting.
5102
5103 2012-05-06  Bruno Haible  <bruno@clisp.org>
5104
5105         Tests for module 'sh-quote'.
5106         * modules/sh-quote-tests: New file.
5107         * tests/test-sh-quote.c: New file.
5108
5109 2012-05-06  Bruno Haible  <bruno@clisp.org>
5110
5111         sh-quote: Improve shell_quote_argv's signature.
5112         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
5113         * lib/sh-quote.c (shell_quote_argv): Likewise.
5114
5115 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
5116
5117         stdint: document issues with int_fast8_t etc.
5118         * doc/posix-headers/stdint.texi (stdint.h): Say that other
5119         stdint.h substitutes may define these types differently.  See
5120         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
5121
5122 2012-05-05  Bruno Haible  <bruno@clisp.org>
5123
5124         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
5125         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
5126         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
5127         or 'guessing no (mishandles large arguments)'.
5128
5129 2012-05-05  Bruno Haible  <bruno@clisp.org>
5130
5131         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
5132         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
5133         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
5134         set gl_cv_func_link_follows_symlink to "guessing no".
5135
5136 2012-05-05  Bruno Haible  <bruno@clisp.org>
5137
5138         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
5139         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
5140         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
5141         "guessing no".
5142         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
5143
5144 2012-05-05  Bruno Haible  <bruno@clisp.org>
5145
5146         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
5147         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
5148         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
5149         set gl_cv_struct_dirent_d_ino to "guessing yes".
5150
5151 2012-05-05  Bruno Haible  <bruno@clisp.org>
5152
5153         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
5154         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
5155         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
5156         "guessing yes".
5157
5158 2012-05-05  Bruno Haible  <bruno@clisp.org>
5159
5160         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
5161         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
5162         compiling to a glibc system, set gl_cv_func_signbit and
5163         gl_cv_func_signbit_gcc to "guessing yes".
5164
5165 2012-05-05  Bruno Haible  <bruno@clisp.org>
5166
5167         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
5168         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
5169         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
5170         to "guessing yes".
5171         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
5172         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
5173
5174 2012-05-05  Bruno Haible  <bruno@clisp.org>
5175
5176         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
5177         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
5178         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
5179         gl_cv_func_realpath_works to "guessing yes".
5180
5181 2012-05-05  Bruno Haible  <bruno@clisp.org>
5182
5183         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
5184         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
5185         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
5186
5187 2012-05-04  Bruno Haible  <bruno@clisp.org>
5188
5189         Tweak last commit.
5190         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
5191         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
5192
5193 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
5194
5195         unistd_h: make it easier to avoid sys_types_h
5196         This is useful for Emacs, which has its own method of porting to
5197         Windows, and which therefore does not need the sys_types_h module.
5198         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
5199         code moved here from gl_SYS_TYPES_H.
5200         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
5201         using the code directly.
5202         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
5203         gl_SYS_TYPES_H.
5204         * modules/sys_types (Files):
5205         * modules/unistd (Files): Add m4/off_t.m4.
5206
5207 2012-05-03  Bruno Haible  <bruno@clisp.org>
5208
5209         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
5210         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
5211         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
5212         "guessing yes" or "guessing no".
5213         (gl_FUNC_LSTAT): Update.
5214         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
5215         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
5216         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
5217
5218 2012-05-03  Bruno Haible  <bruno@clisp.org>
5219
5220         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
5221         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
5222         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
5223         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
5224         cross-compiling, choose the first alternative on glibc systems.
5225         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
5226
5227 2012-05-03  Bruno Haible  <bruno@clisp.org>
5228
5229         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
5230         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
5231         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
5232
5233 2012-05-03  Bruno Haible  <bruno@clisp.org>
5234
5235         chown: Avoid "guessing no" when cross-compiling to glibc systems.
5236         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
5237
5238 2012-05-03  Bruno Haible  <bruno@clisp.org>
5239
5240         Avoid "guessing no" guesses when cross-compiling to glibc systems.
5241         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
5242         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
5243         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
5244         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
5245         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
5246         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
5247         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
5248         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
5249         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
5250         compiling to glibc systems, set gl_cv_func_chown_slash_works,
5251         gl_cv_func_chown_ctime_works to "guessing yes".
5252         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
5253         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
5254         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
5255         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
5256         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
5257         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
5258         compiling to glibc systems, set gl_cv_func_open_directory_works to
5259         "guessing yes".
5260         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
5261         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
5262         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
5263         "guessing yes".
5264         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
5265         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
5266         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
5267         compiling to glibc systems, set gl_cv_func_floorf_ieee to
5268         "guessing yes".
5269         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
5270         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
5271         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
5272         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
5273         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
5274         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
5275         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
5276         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
5277         "guessing yes".
5278         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
5279         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
5280         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
5281         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
5282         "guessing yes".
5283         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
5284         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
5285         "guessing yes".
5286         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
5287         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
5288         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
5289         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
5290         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
5291         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
5292         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
5293         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
5294         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
5295         compiling to glibc systems, set gl_cv_func_log10f_ieee to
5296         "guessing yes".
5297         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
5298         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
5299         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
5300         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
5301         "guessing yes".
5302         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
5303         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
5304         "guessing yes".
5305         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
5306         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
5307         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
5308         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
5309         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
5310         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
5311         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
5312         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
5313         compiling to glibc systems, set gl_cv_func_mkfifo_works to
5314         "guessing yes".
5315         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
5316         compiling to glibc systems, set gl_cv_func_mknod_works to
5317         "guessing yes".
5318         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
5319         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
5320         "guessing yes".
5321         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
5322         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
5323         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
5324         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
5325         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
5326         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
5327         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
5328         compiling to glibc systems, set gl_cv_func_svid_putenv to
5329         "guessing yes".
5330         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
5331         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
5332         "guessing yes".
5333         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
5334         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
5335         "guessing yes".
5336         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
5337         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
5338         to "guessing yes".
5339         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
5340         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
5341         to "guessing yes".
5342         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
5343         compiling to glibc systems, set gl_cv_func_rmdir_works to
5344         "guessing yes".
5345         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
5346         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
5347         gl_cv_func_unlink_parent_fails to "guessing yes".
5348         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
5349         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
5350         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
5351         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
5352         gl_cv_func_rename_dest_works to "guessing yes".
5353         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
5354         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
5355         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
5356         compiling to glibc systems, set gl_cv_func_roundf_ieee to
5357         "guessing yes".
5358         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
5359         compiling to glibc systems, set gl_cv_func_roundl_ieee to
5360         "guessing yes".
5361         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
5362         compiling to glibc systems, set gl_cv_func_setenv_works to
5363         "guessing yes".
5364         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
5365         compiling to glibc systems, set gl_cv_func_unsetenv_works to
5366         "guessing yes".
5367         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
5368         compiling to glibc systems, set gl_cv_func_sleep_works to
5369         "guessing yes".
5370         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
5371         compiling to glibc systems, set gl_cv_func_stat_file_slash to
5372         "guessing yes".
5373         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
5374         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
5375         "guessing yes".
5376         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
5377         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
5378         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
5379         compiling to glibc systems, set gl_cv_func_truncf_ieee to
5380         "guessing yes".
5381         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
5382         compiling to glibc systems, set gl_cv_func_truncl_ieee to
5383         "guessing yes".
5384         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
5385         compiling to glibc systems, set gl_cv_func_usleep_works to
5386         "guessing yes".
5387         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
5388         compiling to glibc systems, set gl_cv_func_futimesat_works to
5389         "guessing yes".
5390
5391 2012-05-03  Bruno Haible  <bruno@clisp.org>
5392
5393         Say "guessing yes" or "guessing no" when cross-compiling.
5394         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
5395         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
5396         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
5397         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
5398         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
5399         am_cv_func_working_getline to "guessing yes" or "guessing no".
5400         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
5401         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
5402         (gl_FUNC_MEMMEM): When cross-compiling, set
5403         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
5404         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
5405         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
5406         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
5407         set gl_cv_func_strcasestr_works_always to "guessing yes" or
5408         "guessing no".
5409         (gl_FUNC_STRCASESTR): When cross-compiling, set
5410         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
5411         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
5412         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
5413         (gl_FUNC_STRSTR): When cross-compiling, set
5414         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
5415         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
5416         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
5417         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
5418         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
5419
5420 2012-05-01  Bruno Haible  <bruno@clisp.org>
5421
5422         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
5423         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
5424         * build-aux/reloc-ldflags: Likewise.
5425         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
5426
5427 2012-05-01  Bruno Haible  <bruno@clisp.org>
5428
5429         gnulib-tool: Remove transitional code.
5430         * gnulib-tool: Don't warn about --import with 0 arguments any more.
5431         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
5432
5433 2012-05-01  Bruno Haible  <bruno@clisp.org>
5434
5435         getcwd: Fix misindentation.
5436         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
5437
5438 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
5439
5440         exclude: process exclude and include directives in order
5441         This restores the pre-2009 behavior, and is part of a fix of a
5442         grep bug reported by Quentin Arce in
5443         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
5444         * lib/exclude.c (struct exclude): Remove 'tail' member.
5445         (new_exclude_segment): Prepend the new segment instead of appending.
5446         Return void, since that's now more convenient.
5447         (file_pattern_matches): Renamed from excluded_file_pattern_p.
5448         (file_name_matches): Renamed from excluded_file_name_p.
5449         (file_pattern_matches, file_name_matches):
5450         Return true if the pattern matches, not if it excludes.
5451         All callers changed.
5452         (excluded_file_name): Process the list in reverse order;
5453         since the list is now reversed this restores the pre-2009 behavior.
5454         (add_exclude): Adjust to new reversed-order list.  Use local var
5455         rather than macro, for clarity.
5456         * tests/test-exclude7.sh: Adjust to corrected behavior.
5457
5458         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
5459         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
5460         it's not possible here.  Handle the case of \ at end of pattern
5461         without dumping core.
5462         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
5463
5464         _Noreturn: future-proof non-GNU and non-MSVC compilers
5465         * build-aux/snippet/_Noreturn.h (_Noreturn):
5466         * m4/gnulib-common.m4 (gl_COMMON_BODY):
5467         Do not define _Noreturn if __STDC_VERSION__ indicates this is
5468         C11 or later.  This is more likely to work with random future C
5469         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
5470         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
5471
5472         exclude: handle wildcards with FNM_EXTMATCH
5473         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
5474         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
5475         comment that "has wildcards" really means "has or may have
5476         wildcards".  Simplify by avoiding the need to call strcspn.
5477
5478 2012-04-29  Bruno Haible  <bruno@clisp.org>
5479
5480         gnulib-tool: Fix list of authors.
5481         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
5482
5483 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
5484
5485         bootstrap: support Automake-NG in $buildreq
5486         * bootstrap (check_versions): Handle automake and aclocal from
5487         Automake-NG specially.  They can be specified as respectively
5488         the "automake-ng" and "aclocal-ng" requirements.
5489
5490 2012-04-25  Eric Blake  <eblake@redhat.com>
5491
5492         bootstrap: only force latest Makefile.in.in for gettext module
5493         * build-aux/bootstrap (with_gettext): Only install latest
5494         Makefile.in.in for projects requesting bleeding edge gettext.
5495
5496 2012-04-22  Bruno Haible  <bruno@clisp.org>
5497
5498         doc: Mention reason for replacement on glibc/Linux systems.
5499         * doc/posix-functions/dprintf.texi: Mention the problem with special
5500         'long double' values.
5501         * doc/posix-functions/fprintf.texi: Likewise.
5502         * doc/posix-functions/printf.texi: Likewise.
5503         * doc/posix-functions/snprintf.texi: Likewise.
5504         * doc/posix-functions/sprintf.texi: Likewise.
5505         * doc/posix-functions/vdprintf.texi: Likewise.
5506         * doc/posix-functions/vfprintf.texi: Likewise.
5507         * doc/posix-functions/vprintf.texi: Likewise.
5508         * doc/posix-functions/vsnprintf.texi: Likewise.
5509         * doc/posix-functions/vsprintf.texi: Likewise.
5510         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
5511         platforms with F_DUPFD_CLOEXEC problems.
5512         * doc/posix-functions/glob.texi: Mention which platforms are affected
5513         by the problem with symbolic links.
5514         * doc/posix-functions/linkat.texi: Mention the problem with
5515         AT_SYMLINK_FOLLOW on Linux.
5516
5517 2012-04-22  Bruno Haible  <bruno@clisp.org>
5518
5519         pwrite: Don't replace on all platforms.
5520         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
5521
5522 2012-04-22  Bruno Haible  <bruno@clisp.org>
5523
5524         rint* tests: Avoid gcc warnings.
5525         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
5526         * tests/test-rintf.c (INFINITY, NAN): Likewise.
5527         * tests/test-rintl.c (INFINITY, NAN): Likewise.
5528
5529 2012-04-21  Bruno Haible  <bruno@clisp.org>
5530
5531         users.txt: Update.
5532         * users.txt: Add freedink, wdiff. Update URLs for projects that have
5533         switched from CVS to git, bzr, or svn.
5534
5535 2012-04-21  Bruno Haible  <bruno@clisp.org>
5536
5537         Large File Support for native Windows platforms.
5538
5539         * m4/largefile.m4 (gl_LARGEFILE): New macro.
5540         * modules/largefile (configure.ac): Require gl_LARGEFILE.
5541
5542         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
5543         type.
5544         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
5545         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
5546         * doc/posix-headers/sys_types.texi: Mention the effect of the
5547         'largefile' module.
5548
5549         * lib/fcntl.in.h: Add comments about off_t.
5550         * modules/fcntl-h (Depends-on): Add sys_types.
5551
5552         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
5553         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
5554         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
5555         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
5556         * modules/unistd (Depends-on): Add sys_types.
5557         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
5558
5559         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
5560         instead of lseek.
5561         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
5562         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
5563         * modules/lseek (Depends-on): Add sys_types.
5564
5565         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
5566         msvc-nothrow.h.
5567         (SetFileSize): New function.
5568         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
5569         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
5570         if Large File Support is requested.
5571         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
5572         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
5573
5574         * lib/stdio.in.h: Add comments about off_t.
5575         * modules/stdio (Depends-on): Add sys_types.
5576
5577         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
5578         instead of ftello.
5579         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
5580         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
5581         (gl_PREREQ_FTELLO): New macro.
5582         * modules/ftello (Depends-on): Add sys_types.
5583         (configure.ac): Incoke gl_PREREQ_FTELLO.
5584
5585         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
5586         instead of fseeko.
5587         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
5588         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
5589         (gl_PREREQ_FSEEKO): New macro.
5590         * modules/fseeko (Depends-on): Add sys_types.
5591         (configure.ac): Invoke gl_PREREQ_FSEEKO.
5592
5593         * lib/sys_stat.in.h: Add comments about off_t.
5594         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
5595         64-bit integer for st_size in 'struct stat'.
5596         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
5597         Define _GL_WINDOWS_64_BIT_ST_SIZE.
5598         * modules/sys_stat (Depends-on): Add sys_types.
5599         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
5600
5601         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
5602         instead of stat or _stat.
5603
5604         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
5605         'struct _stati64' instead of fstat and 'struct stat'.
5606         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
5607         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
5608
5609         Reported by Ray Satiro <raysatiro@yahoo.com>.
5610
5611 2012-04-19  Eric Blake  <eblake@redhat.com>
5612
5613         bootstrap: accommodate older libtool
5614         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
5615         Reported by Daniel P. Berrange.
5616
5617 2012-04-19  Jim Meyering  <meyering@redhat.com>
5618
5619         announce-gen: avoid failure due to lack of Digest::SHA1
5620         Even with the preferred Digest::SHA available, this script
5621         would fail when the backup module, Digest::SHA1, was not installed.
5622         * build-aux/announce-gen: Quote the conditional use of "use".
5623         Reported by Reuben Thomas in:
5624         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
5625
5626         bootstrap: don't let a user's CDPATH setting affect this script
5627         When CDPATH is set, cd will sometimes generate output.
5628         When "cd" is run in a subshell whose output matters, that
5629         surprising-to-some output can cause malfunction.
5630         Unsetting CDPATH turns off this shell "feature."
5631         * build-aux/bootstrap (CDPATH): Unset.
5632         Reported by Reuben Thomas in:
5633         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
5634         and inspired by his patch here:
5635         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
5636
5637 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
5638         and Jim Meyering  <meyering@redhat.com>
5639
5640         maint.mk: catch "see @xref{}" and similar
5641         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
5642         prohibit "See also @xref{", "Also see @pxref{", and similar.
5643
5644 2012-04-16  Jim Meyering  <meyering@redhat.com>
5645
5646         bootstrap: really use gnulib's po/Makefile.in.in
5647         * build-aux/bootstrap: Correct the source file name in previous change.
5648         Reported by Akim Demaille.
5649
5650         configmake: correct minor inconsistency in Makefile rule
5651         * modules/configmake (Makefile.am): All other rules like this one
5652         run the final "mv -f ..." in the same backslash-continued command
5653         as the one that does everything else.  This one put the mv -f ...
5654         command on a separate, non-backslash-continued line.
5655         Make it like the others.
5656
5657         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
5658         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
5659         the one from gettext.  Reported by Akim Demaille.
5660
5661 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
5662
5663         Fix recursion of install-* into po directories.
5664         Bison's install-pdf bug reported by Hans Aberg at
5665         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
5666         * build-aux/po/Makefile.in.in (install-dvi, install-html)
5667         (install-info, install-pdf, install-ps): New targets.
5668
5669 2012-04-16  Jim Meyering  <meyering@redhat.com>
5670
5671         maint: avoid spurious "make sc_maint" failure
5672         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
5673         exempt all *.class file names, for lib/javaversion.class.
5674
5675 2012-04-15  Bruno Haible  <bruno@clisp.org>
5676
5677         lseek: Make configure test independent of environment.
5678         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
5679         Windows, we know that lseek() on pipes is broken; skip the runtime
5680         test.
5681
5682 2012-04-14  Bruno Haible  <bruno@clisp.org>
5683
5684         stat: Bypass buggy override in mingw64.
5685         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
5686         * lib/stat.c (stat) [mingw64]: Define to _stat.
5687         * doc/posix-functions/stat.texi: Mention mingw64 bug.
5688
5689 2012-04-14  Bruno Haible  <bruno@clisp.org>
5690
5691         pathmax: Fix compilation error on MSVC 9.
5692         * modules/pathmax (Depends-on): Add unistd.
5693
5694 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5695
5696         README: document pointer comparison assumption
5697         * README (Portability guidelines): Document assumption about
5698         pointer comparisons, in response to a recent bug-gnulib comment by
5699         Jeffrey Kegler.
5700
5701 2012-04-12  Bruno Haible  <bruno@clisp.org>
5702
5703         Tests for module 'getrusage'.
5704         * modules/getrusage-tests: New file.
5705         * tests/test-getrusage.c: New file.
5706
5707         New module 'getrusage'.
5708         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
5709         warn-on-use.h.
5710         (getrusage): New declaration.
5711         * lib/getrusage.c: New file.
5712         * m4/getrusage.m4: New file.
5713         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
5714         is declared.
5715         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
5716         HAVE_GETRUSAGE.
5717         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
5718         snippet/c++defs, snippet/warn-on-use.
5719         (Makefile.am): Update generation of sys/resource.h. Substitute
5720         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
5721         * modules/getrusage: New file.
5722         * doc/posix-functions/getrusage.texi: Mention the new module.
5723
5724 2012-04-12  Bruno Haible  <bruno@clisp.org>
5725
5726         Tests for module 'sys_resource'.
5727         * modules/sys_resource-tests: New file.
5728         * tests/test-sys_resource.c: New file.
5729
5730         New module 'sys_resource'.
5731         * lib/sys_resource.in.h: New file.
5732         * m4/sys_resource_h.m4: New file.
5733         * modules/sys_resource: New file.
5734         * doc/posix-headers/sys_resource.texi: Mention the new module.
5735
5736 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
5737
5738         ioctl: Fix compilation error on mingw.
5739         * lib/ioctl.c: Include <windows.h>.
5740         Also reported by Ray Satiro <raysatiro@yahoo.com>.
5741
5742 2012-04-04  Jim Meyering  <meyering@redhat.com>
5743
5744         regex: correct #pragma guard expression
5745         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
5746         not 4.3.  Correct its cpp guard expression.
5747
5748 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
5749
5750         regex: remove unnecessary type punning
5751         Problem reported by Vladimir Serbinenko in
5752         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
5753         * lib/regex.h (struct re_pattern_buffer): Change the type of
5754         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
5755         Fix comment to match code.
5756         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
5757         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
5758         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
5759         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
5760         (set_regs):
5761         Omit no-longer-necessary casts.
5762
5763 2012-04-03  Bruno Haible  <bruno@clisp.org>
5764
5765         Tests for module 'ilogbl'.
5766         * modules/ilogbl-tests: New file.
5767         * tests/test-ilogbl.c: New file.
5768
5769         New module 'ilogbl'.
5770         * lib/math.in.h (ilogbl): New declaration.
5771         * lib/ilogbl.c: New file.
5772         * m4/ilogbl.m4: New file.
5773         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
5774         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
5775         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
5776         Split sed invocation, to avoid the limit of 100 substitutions of
5777         HP-UX 'sed'.
5778         * modules/ilogbl: New file.
5779         * tests/test-math-c++.cc: Check the declaration of ilogbl.
5780         * doc/posix-functions/ilogbl.texi: Mention the new module.
5781
5782 2012-04-03  Bruno Haible  <bruno@clisp.org>
5783
5784         Tests for module 'ilogbf'.
5785         * modules/ilogbf-tests: New file.
5786         * tests/test-ilogbf.c: New file.
5787
5788         New module 'ilogbf'.
5789         * lib/math.in.h (ilogbf): New declaration.
5790         * lib/ilogbf.c: New file.
5791         * m4/ilogbf.m4: New file.
5792         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
5793         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
5794         REPLACE_ILOGBF.
5795         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
5796         REPLACE_ILOGBF.
5797         * modules/ilogbf: New file.
5798         * tests/test-math-c++.cc: Check the declaration of ilogbf.
5799         * doc/posix-functions/ilogbf.texi: Mention the new module.
5800
5801 2012-04-03  Bruno Haible  <bruno@clisp.org>
5802
5803         Tests for module 'ilogb'.
5804         * modules/ilogb-tests: New file.
5805         * tests/test-ilogb.c: New file.
5806         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
5807         tests/test-logb-ieee.h.
5808
5809         New module 'ilogb'.
5810         * lib/math.in.h (ilogb): New declaration.
5811         * lib/ilogb.c: New file.
5812         * m4/ilogb.m4: New file.
5813         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
5814         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
5815         REPLACE_ILOGB.
5816         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
5817         REPLACE_ILOGB.
5818         * modules/ilogb: New file.
5819         * tests/test-math-c++.cc: Check the declaration of ilogb.
5820         * doc/posix-functions/ilogb.texi: Mention the new module.
5821
5822 2012-04-03  Bruno Haible  <bruno@clisp.org>
5823
5824         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
5825         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
5826         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
5827         (main): Check their values.
5828         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
5829         problem.
5830
5831 2012-04-03  Bruno Haible  <bruno@clisp.org>
5832
5833         Tests for module 'logbl-ieee'.
5834         * modules/logbl-ieee-tests: New file.
5835         * tests/test-logbl-ieee.c: New file.
5836
5837         New module 'logbl-ieee'.
5838         * modules/logbl-ieee: New file.
5839
5840         Tests for module 'logb-ieee'.
5841         * modules/logb-ieee-tests: New file.
5842         * tests/test-logb-ieee.c: New file.
5843
5844         New module 'logb-ieee'.
5845         * modules/logb-ieee: New file.
5846
5847         Tests for module 'logbf-ieee'.
5848         * modules/logbf-ieee-tests: New file.
5849         * tests/test-logbf-ieee.c: New file.
5850         * tests/test-logb-ieee.h: New file.
5851
5852         New module 'logbf-ieee'.
5853         * modules/logbf-ieee: New file.
5854
5855 2012-04-03  Bruno Haible  <bruno@clisp.org>
5856
5857         Tests for module 'logbl'.
5858         * modules/logbl-tests: New file.
5859         * tests/test-logbl.c: New file.
5860
5861         New module 'logbl'.
5862         * lib/math.in.h (logbl): New declaration.
5863         * lib/logbl.c: New file.
5864         * m4/logbl.m4: New file.
5865         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
5866         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
5867         REPLACE_LOGBL.
5868         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
5869         REPLACE_LOGBL.
5870         * modules/logbl: New file.
5871         * tests/test-math-c++.cc: Check the declaration of logbl.
5872         * doc/posix-functions/logbl.texi: Mention the new module.
5873
5874 2012-04-02  Bruno Haible  <bruno@clisp.org>
5875
5876         Tests for module 'logbf'.
5877         * modules/logbf-tests: New file.
5878         * tests/test-logbf.c: New file.
5879
5880         New module 'logbf'.
5881         * lib/math.in.h (logbf): New declaration.
5882         * lib/logbf.c: New file.
5883         * m4/logbf.m4: New file.
5884         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
5885         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
5886         REPLACE_LOGBF.
5887         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
5888         REPLACE_LOGBF.
5889         * modules/logbf: New file.
5890         * tests/test-math-c++.cc: Check the declaration of logbf.
5891         * doc/posix-functions/logbf.texi: Mention the new module.
5892
5893 2012-04-02  Bruno Haible  <bruno@clisp.org>
5894
5895         logb tests: More tests.
5896         * tests/test-logb.h: New file, based on tests/test-logb.c and
5897         tests/test-frexp.h.
5898         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
5899         (main): Just invoke test_function.
5900         * modules/logb-tests (Files): Add tests/test-logb.h,
5901         tests/minus-zero.h, tests/randomd.c.
5902         (Makefile.am): Add randomd.c to test_logb_SOURCES.
5903
5904         logb: Provide replacement and workarounds.
5905         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
5906         is 1.
5907         * lib/logb.c: New file.
5908         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
5909         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
5910         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
5911         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
5912         * modules/logb (Files): Add lib/logb.c.
5913         (Depends-on): Add isfinite, frexp, isnand.
5914         (configure.ac): Compile the replacement code logb.c if needed.
5915         * tests/test-math-c++.cc: Check the declaration of logb.
5916         * doc/posix-functions/logb.texi: Mention the replacement and the bug
5917         with subnormal numbers.
5918
5919 2012-04-02  Bruno Haible  <bruno@clisp.org>
5920
5921         log10* tests: Speed up.
5922         * tests/test-log10.h (test_function): Reduce amount of random numbers
5923         to test.
5924
5925 2012-04-01  Bruno Haible  <bruno@clisp.org>
5926
5927         logf-ieee: Fix test whether logf works.
5928         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
5929
5930 2012-04-01  Bruno Haible  <bruno@clisp.org>
5931
5932         log10l: Work around log10l-ieee test failure on IRIX 6.5.
5933         * lib/log10l.c: Include <float.h>
5934         (log10l): On IRIX, normalize the +Infinity value.
5935         * modules/log10l (Depends-on): Add 'float'.
5936         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
5937         +Infinity.
5938
5939         log10f-ieee: Work around test failure on NetBSD 5.1.
5940         * m4/log10f-ieee.m4: New file.
5941         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
5942         test whether log10f works with a negative argument. Replace it if not.
5943         * lib/log10f.c (log10f): For negative arguments, return NaN.
5944         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
5945         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
5946         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
5947
5948         log10f-ieee: Work around test failure on Solaris 9.
5949         * modules/log10f-ieee (Depends-on): Add log10-ieee.
5950         (configure.ac): Require gl_FUNC_LOG10F.
5951
5952         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5953         * m4/log10-ieee.m4: New file.
5954         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
5955         whether log10 works with a negative argument. Replace it if not.
5956         * lib/log10.c (log10): For negative arguments, return NaN.
5957         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
5958         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
5959         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
5960
5961         Tests for module 'log10l-ieee'.
5962         * modules/log10l-ieee-tests: New file.
5963         * tests/test-log10l-ieee.c: New file.
5964
5965         New module 'log10l-ieee'.
5966         * modules/log10l-ieee: New file.
5967
5968         Tests for module 'log10-ieee'.
5969         * modules/log10-ieee-tests: New file.
5970         * tests/test-log10-ieee.c: New file.
5971
5972         New module 'log10-ieee'.
5973         * modules/log10-ieee: New file.
5974
5975         Tests for module 'log10f-ieee'.
5976         * modules/log10f-ieee-tests: New file.
5977         * tests/test-log10f-ieee.c: New file.
5978         * tests/test-log10-ieee.h: New file.
5979
5980         New module 'log10f-ieee'.
5981         * modules/log10f-ieee: New file.
5982
5983 2012-04-01  Bruno Haible  <bruno@clisp.org>
5984
5985         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
5986         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
5987         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
5988         workaround.
5989         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
5990         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
5991         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
5992         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
5993         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
5994         (Depends-on): Update conditions.
5995         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
5996         IRIX 6.5, OSF/1 5.1 problems.
5997
5998 2012-04-01  Bruno Haible  <bruno@clisp.org>
5999
6000         log10f: Work around OSF/1 5.1 bug.
6001         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
6002         * lib/log10f.c (log10f): If logf exists, use it and provide just the
6003         workaround.
6004         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
6005         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
6006         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
6007         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
6008         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
6009         (Depends-on): Update conditions.
6010         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
6011
6012 2012-04-01  Bruno Haible  <bruno@clisp.org>
6013
6014         log10: Work around OSF/1 5.1 bug.
6015         * lib/math.in.h (log10): New declaration.
6016         * lib/log10.c: New file.
6017         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
6018         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
6019         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
6020         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
6021         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
6022         * modules/log10 (Files): Add lib/log10.c.
6023         (Depends-on): Add math.
6024         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
6025         * tests/test-math-c++.cc: Check the declaration of log10.
6026         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
6027
6028 2012-03-31  Bruno Haible  <bruno@clisp.org>
6029
6030         log10l tests: More tests.
6031         * modules/log10l-tests (Files): Add tests/test-log10l.h,
6032         tests/minus-zero.h, tests/randoml.c.
6033         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
6034         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
6035         (main): Invoke test_function.
6036
6037         log10f tests: More tests.
6038         * modules/log10f-tests (Files): Add tests/test-log10.h,
6039         tests/minus-zero.h, tests/randomf.c.
6040         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
6041         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
6042         (main): Invoke test_function.
6043
6044         log10 tests: More tests.
6045         * tests/test-log10.h: New file.
6046         * modules/log10-tests (Files): Add tests/test-log10.h,
6047         tests/minus-zero.h, tests/randomd.c.
6048         (Makefile.am): Add randomd.c to test_log10_SOURCES.
6049         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
6050         (main): Invoke test_function.
6051
6052 2012-03-31  Simon Josefsson  <simon@josefsson.org>
6053
6054         fflush: Fix syntax error.
6055         * lib/fflush.c: Include unused-parameter.h, needed for
6056         _GL_UNUSED_PARAMETER.
6057         * modules/fflush (Depends-on): Add snippet/unused-parameter.
6058
6059 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
6060
6061         regex: pacify GCC when compiling GRUB
6062         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
6063         a diagnostic.  Reported by Vladimir Serbinenko in
6064         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
6065
6066 2012-03-29  Eric Blake  <eblake@redhat.com>
6067
6068         stdio: don't assume gets any more
6069         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
6070         support.
6071         * modules/stdio (Makefile.am): Likewise.
6072         * lib/stdio-read.c (gets): Likewise.
6073         * tests/test-stdio-c++.cc: Likewise.
6074         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
6075         * lib/stdio.in.h (gets): Make warning occur in more places.
6076         * doc/posix-functions/gets.texi (gets): Update documentation.
6077         Reported by Christer Solskogen.
6078
6079         maint.mk: fix syntax checks without exclusions
6080         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
6081         Reported by Daniel P. Berrange.
6082
6083         strerror_r: avoid compiler warning
6084         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
6085         level.
6086
6087         fflush: avoid compiler warning
6088         * lib/fflush.c (update_fpos_cache): Mark variables that are
6089         potentially unused.
6090
6091 2012-03-25  Bruno Haible  <bruno@clisp.org>
6092
6093         Tests for module 'localeconv'.
6094         * modules/localeconv-tests: New file.
6095         * tests/test-localeconv.c: New file.
6096
6097         New module 'localeconv'.
6098         * lib/locale.in.h (localeconv): New declaration.
6099         * lib/localeconv.c: New file.
6100         * m4/localeconv.m4: New file.
6101         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
6102         REPLACE_LOCALECONV.
6103         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
6104         REPLACE_LOCALECONV.
6105         * modules/localeconv: New file.
6106         * modules/nl_langinfo (Depends-on): Add localeconv.
6107         * modules/human (Depends-on): Likewise.
6108         * doc/posix-functions/localeconv.texi: Mention the new module.
6109
6110 2012-03-25  Bruno Haible  <bruno@clisp.org>
6111
6112         locale: Provide a complete 'struct lconv'.
6113         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
6114         'struct lconv' does not contain int_p_cs_precedes.
6115         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
6116         * doc/posix-headers/locale.texi: Update.
6117
6118         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
6119         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
6120         * doc/posix-headers/locale.texi: Update.
6121
6122         locale: Provide a working 'struct lconv'.
6123         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
6124         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
6125         'struct lconv' does not even contain decimal_point.
6126         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
6127         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
6128         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
6129         * doc/posix-headers/locale.texi: Mention the problems with
6130         'struct lconv'.
6131         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
6132
6133 2012-03-24  Bruno Haible  <bruno@clisp.org>
6134
6135         Enable common subexpression optimization in GCC.
6136         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
6137         macros.
6138         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
6139         GCC attribute 'const'.
6140         (uc_locale_language): Declare with GCC attribute 'pure'.
6141         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
6142         with GCC attribute 'const'.
6143         * lib/unictype.in.h (uc_is_general_category_withtable,
6144         uc_combining_class, uc_combining_class_name,
6145         uc_combining_class_long_name, uc_bidi_class_name,
6146         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
6147         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
6148         uc_decimal_value, uc_digit_value, uc_numeric_value,
6149         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
6150         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
6151         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
6152         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
6153         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
6154         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
6155         Declare with GCC attribute 'const'.
6156         (uc_general_category_name, uc_general_category_long_name,
6157         uc_general_category_byname, uc_general_category,
6158         uc_is_general_category, uc_combining_class_byname,
6159         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
6160         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
6161         Declare with GCC attribute 'pure'.
6162         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
6163         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
6164         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
6165         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
6166         with GCC attribute 'pure'.
6167         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
6168         'const'.
6169         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
6170         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
6171         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
6172         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
6173         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
6174         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
6175         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
6176         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
6177         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
6178         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
6179         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
6180         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
6181         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
6182         GCC attribute 'pure'.
6183         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
6184         'const'.
6185         * lib/uniwidth.in.h (uc_width): Simplify declaration.
6186         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
6187         u32_strwidth): Declare with GCC attribute 'pure'.
6188
6189         Enable common subexpression optimization in GCC.
6190         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
6191         (alphasort): Declare with GCC attribute 'pure'.
6192         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
6193         (atoll): Declare with GCC attribute 'pure'.
6194         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
6195         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
6196         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
6197         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
6198         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
6199         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
6200         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
6201
6202 2012-03-24  Bruno Haible  <bruno@clisp.org>
6203
6204         gnulib-tool: Avoid unintended error output from 'cmp'.
6205         * gnulib-tool (func_add_file, func_update_file, func_import): Use
6206         "cmp -s", not "cmp > /dev/null".
6207
6208 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
6209
6210         gnulib-tool: fix imprecise comments w.r.t. an automake bug
6211
6212         It's not just Automake versions < 1.9b that creates an empty
6213         pkgdatadir at installation time if pkgdata_DATA is specified
6214         to empty; modern automake versions do this as well, at least
6215         until automake 1.11.4 (not yet released at the moment of writing,
6216         but soon to appear).  That behaviour was generally considered a
6217         feature rather than a bug, at least until this discussion:
6218         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
6219
6220         See also automake bugs #10997 and #11030.
6221
6222         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
6223         reference to relevant automake bug numbers.
6224         (func_emit_tests_Makefile_am): Likewise.
6225
6226 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
6227
6228         announce-gen: use Digest::SHA when possible
6229         * build-aux/announce-gen: Use Digest::SHA when possible, falling
6230         back to Digest::SHA1 if necessary.
6231
6232 2012-03-20  Jim Meyering  <meyering@redhat.com>
6233
6234         tests: avoid gcc warnings about argv vs. const initializers
6235         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
6236         warnings about discarding 'const' qualifier from pointer target type.
6237         * tests/test-posix_spawn2.c (main): Likewise.
6238
6239 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
6240
6241         README-release: simplify slightly
6242         * top/README-release: Run "git checkout master" only once.
6243
6244 2012-03-15  Mark Wielaard  <mark@klomp.org>
6245
6246         git-merge-changelog: add specific example on how to use with hg.
6247         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
6248
6249 2012-03-18  Mark Wielaard  <mark@klomp.org>
6250
6251         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
6252
6253 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
6254
6255         git-version-gen: don't let "prefix" envvar cause trouble
6256         * build-aux/git-version-gen (prefix): Initialize properly,
6257         so as not to use a value specified via the environment.
6258         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
6259
6260 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
6261
6262         regex: diagnose too-large repeat counts in EREs
6263         Previously, the code did not diagnose the too-large repeat count
6264         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
6265         as if it were 'b\{1000000000}', which is unexpected.
6266         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
6267         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
6268         is a reasonable one for this problem.  Another option would be to
6269         create a new REG_OVERFLOW error for repeat counts that are too large.
6270         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
6271         count is too large, so that the caller can distinguish the two cases.
6272         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
6273         "Too large" return code, and that repeat counts are one example of this.
6274
6275 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
6276
6277         doc: some glibc x32 integer width issues
6278         * doc/posix-headers/sys_types.texi (sys/types.h):
6279         * doc/posix-headers/time.texi (time.h):
6280         Mention that glibc x32 does not conform to POSIX in a couple of
6281         areas related to integer widths.
6282
6283 2012-03-15  Bruno Haible  <bruno@clisp.org>
6284
6285         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
6286         * lib/fma.c (VOLATILE): New macro.
6287         (FUNC): Use it to work around a GCC compiler bug.
6288
6289 2012-03-13  Bruno Haible  <bruno@clisp.org>
6290
6291         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
6292         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
6293         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
6294         REPLACE_HYPOTL to 1.
6295         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
6296
6297 2012-03-13  Bruno Haible  <bruno@clisp.org>
6298
6299         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
6300         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
6301         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
6302         REPLACE_REMAINDERL to 1.
6303         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
6304         bug.
6305
6306 2012-03-13  Bruno Haible  <bruno@clisp.org>
6307
6308         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
6309         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
6310         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
6311         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
6312         too big rounding errors.
6313         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
6314         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
6315         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
6316         (Depends-on): Update conditions.
6317         * tests/test-sqrtl.c (my_ldexpl): New function.
6318         (main): Add test of a particular value.
6319         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
6320
6321 2012-03-13  Pádraig Brady  <P@draigBrady.com>
6322
6323         doc: Update timer_* platform portability notes.
6324         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
6325         that always return ENOSYS.
6326         * doc/posix-functions/timer_delete.texi: Likewise.
6327         * doc/posix-functions/timer_gettime.texi: Likewise.
6328         * doc/posix-functions/timer_settime.texi: Likewise.
6329
6330 2012-03-13  Bruno Haible  <bruno@clisp.org>
6331
6332         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
6333         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
6334         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
6335         REPLACE_CBRTL to 1.
6336         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
6337
6338 2012-03-13  Bruno Haible  <bruno@clisp.org>
6339
6340         remainderl: Avoid compilation error on AIX >= 5.2.
6341         * lib/math.in.h (remainderl): Undefine macro from the system header.
6342
6343 2012-03-13  Bruno Haible  <bruno@clisp.org>
6344
6345         Avoid compilation errors with MSVC option -fp:strict.
6346         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
6347         * lib/cbrtf.c: Likewise.
6348         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6349
6350 2012-03-12  Bruno Haible  <bruno@clisp.org>
6351
6352         uninorm: Don't crash in out-of-memory conditions.
6353         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
6354         gracefully.
6355         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
6356         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
6357
6358 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
6359
6360         quote: fix syntax-check
6361         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
6362         also exports quote_quoting_options.
6363
6364 2012-03-12  Simon Josefsson  <simon@josefsson.org>
6365
6366         Collapse list of copyright years to ranges.  See
6367         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
6368         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
6369         build-aux/csharpexec.sh.in, build-aux/gnupload,
6370         build-aux/install-reloc, build-aux/javacomp.sh.in,
6371         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
6372         build-aux/move-if-change, build-aux/reloc-ldflags,
6373         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
6374
6375 2012-03-11  Bruno Haible  <bruno@clisp.org>
6376
6377         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
6378         * m4/log2f-ieee.m4: New file.
6379         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
6380         whether log2f works with a minus zero argument. Replace it if not.
6381         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
6382         (Depends-on): Add log2-ieee.
6383         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
6384         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
6385
6386         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
6387         * m4/log2-ieee.m4: New file.
6388         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
6389         whether log2 works with a minus zero argument. Replace it if not.
6390         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
6391         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
6392         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
6393
6394         Tests for module 'log2l-ieee'.
6395         * modules/log2l-ieee-tests: New file.
6396         * tests/test-log2l-ieee.c: New file.
6397
6398         New module 'log2l-ieee'.
6399         * modules/log2l-ieee: New file.
6400
6401         Tests for module 'log2-ieee'.
6402         * modules/log2-ieee-tests: New file.
6403         * tests/test-log2-ieee.c: New file.
6404
6405         New module 'log2-ieee'.
6406         * modules/log2-ieee: New file.
6407
6408         Tests for module 'log2f-ieee'.
6409         * modules/log2f-ieee-tests: New file.
6410         * tests/test-log2f-ieee.c: New file.
6411         * tests/test-log2-ieee.h: New file.
6412
6413         New module 'log2f-ieee'.
6414         * modules/log2f-ieee: New file.
6415
6416 2012-03-11  Bruno Haible  <bruno@clisp.org>
6417
6418         Tests for module 'log2l'.
6419         * modules/log2l-tests: New file.
6420         * tests/test-log2l.c: New file.
6421
6422         New module 'log2l'.
6423         * lib/math.in.h (log2l): New declaration.
6424         * lib/log2l.c: New file.
6425         * m4/log2l.m4: New file.
6426         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
6427         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
6428         REPLACE_LOG2L.
6429         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
6430         REPLACE_LOG2L.
6431         * modules/log2l: New file.
6432         * tests/test-math-c++.cc: Check the declaration of log2l.
6433         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
6434         and OSF/1 problems.
6435
6436 2012-03-11  Bruno Haible  <bruno@clisp.org>
6437
6438         Tests for module 'log2f'.
6439         * modules/log2f-tests: New file.
6440         * tests/test-log2f.c: New file.
6441
6442         New module 'log2f'.
6443         * lib/math.in.h (log2f): New declaration.
6444         * lib/log2f.c: New file.
6445         * m4/log2f.m4: New file.
6446         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
6447         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
6448         REPLACE_LOG2F.
6449         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
6450         REPLACE_LOG2F.
6451         * modules/log2f: New file.
6452         * tests/test-math-c++.cc: Check the declaration of log2f.
6453         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
6454         and OSF/1 and Cygwin problems.
6455
6456 2012-03-11  Bruno Haible  <bruno@clisp.org>
6457
6458         Tests for module 'log2'.
6459         * modules/log2-tests: New file.
6460         * tests/test-log2.c: New file.
6461         * tests/test-log2.h: New file.
6462
6463         New module 'log2'.
6464         * lib/math.in.h (log2): New declaration.
6465         * lib/log2.c: New file.
6466         * m4/log2.m4: New file.
6467         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
6468         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
6469         REPLACE_LOG2.
6470         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
6471         REPLACE_LOG2.
6472         * modules/log2: New file.
6473         * tests/test-math-c++.cc: Check the declaration of log2.
6474         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
6475         and OSF/1 and Cygwin problems.
6476
6477 2012-03-11  Bruno Haible  <bruno@clisp.org>
6478
6479         exp2* tests: More tests.
6480         * tests/test-exp2.h (test_function): Test all integral arguments that
6481         don't need to overflow or denormalized numbers.
6482         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
6483         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
6484         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
6485
6486 2012-03-10  Bruno Haible  <bruno@clisp.org>
6487
6488         log1pl-ieee: Work around test failure on AIX 7.1.
6489         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
6490
6491         log1pl-ieee: Work around test failure on IRIX 6.5.
6492         * m4/log1pl-ieee.m4: New file.
6493         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
6494         test whether log1pl works with a minus zero argument. Replace it if
6495         not.
6496         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
6497         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
6498         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
6499         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
6500         (Depends-on): Update conditions.
6501         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
6502         m4/signbit.m4.
6503         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
6504         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
6505
6506         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
6507         * m4/log1pf-ieee.m4: New file.
6508         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
6509         test whether log1pf works with a minus zero argument. Replace it if
6510         not.
6511         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
6512         m4/signbit.m4.
6513         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
6514         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
6515
6516         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
6517         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
6518         (configure.ac): Require gl_FUNC_LOG1PF.
6519
6520         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
6521         * m4/log1p-ieee.m4: New file.
6522         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
6523         whether log1p works with a minus zero argument. Replace it if not.
6524         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
6525         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
6526         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
6527         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
6528         (Depends-on): Update conditions.
6529         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
6530         m4/signbit.m4.
6531         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
6532         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
6533
6534         Tests for module 'log1pl-ieee'.
6535         * modules/log1pl-ieee-tests: New file.
6536         * tests/test-log1pl-ieee.c: New file.
6537
6538         New module 'log1pl-ieee'.
6539         * modules/log1pl-ieee: New file.
6540
6541         Tests for module 'log1p-ieee'.
6542         * modules/log1p-ieee-tests: New file.
6543         * tests/test-log1p-ieee.c: New file.
6544
6545         New module 'log1p-ieee'.
6546         * modules/log1p-ieee: New file.
6547
6548         Tests for module 'log1pf-ieee'.
6549         * modules/log1pf-ieee-tests: New file.
6550         * tests/test-log1pf-ieee.c: New file.
6551         * tests/test-log1p-ieee.h: New file.
6552
6553         New module 'log1pf-ieee'.
6554         * modules/log1pf-ieee: New file.
6555
6556 2012-03-10  Bruno Haible  <bruno@clisp.org>
6557
6558         Tests for module 'log1pl'.
6559         * modules/log1pl-tests: New file.
6560         * tests/test-log1pl.c: New file.
6561
6562         New module 'log1pl'.
6563         * lib/math.in.h (log1pl): New declaration.
6564         * lib/log1pl.c: New file.
6565         * m4/log1pl.m4: New file.
6566         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
6567         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
6568         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
6569         * modules/log1pl: New file.
6570         * tests/test-math-c++.cc: Check the declaration of log1pl.
6571         * doc/posix-functions/log1pl.texi: Mention the new module.
6572
6573 2012-03-10  Bruno Haible  <bruno@clisp.org>
6574
6575         Tests for module 'log1pf'.
6576         * modules/log1pf-tests: New file.
6577         * tests/test-log1pf.c: New file.
6578
6579         New module 'log1pf'.
6580         * lib/math.in.h (log1pf): New declaration.
6581         * lib/log1pf.c: New file.
6582         * m4/log1pf.m4: New file.
6583         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
6584         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
6585         REPLACE_LOG1PF.
6586         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
6587         REPLACE_LOG1PF.
6588         * modules/log1pf: New file.
6589         * tests/test-math-c++.cc: Check the declaration of log1pf.
6590         * doc/posix-functions/log1pf.texi: Mention the new module.
6591
6592 2012-03-10  Bruno Haible  <bruno@clisp.org>
6593
6594         log1p tests: More tests.
6595         * tests/test-log1p.h: New file.
6596         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
6597         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
6598         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
6599         (main): Invoke test_function.
6600
6601         log1p: Provide replacement for Minix and MSVC.
6602         * lib/math.in.h (log1p): New declaration.
6603         * lib/log1p.c: New file.
6604         * m4/log1p.m4: New file.
6605         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
6606         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
6607         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
6608         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
6609         (Depends-on): Add math, isnand, log, round.
6610         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
6611         HAVE_LOG1P is 0.
6612         * tests/test-math-c++.cc: Check the declaration of log1p.
6613         * doc/posix-functions/log1p.texi: Mention the replacement.
6614
6615 2012-03-10  Bruno Haible  <bruno@clisp.org>
6616
6617         math tests: Small simplification.
6618         * tests/test-exp.h (test_function): Use the same err_bound for
6619         'double' on platforms with sizeof (long double) == sizeof (double)
6620         than on platforms with sizeof (long double) > sizeof (double).
6621         * tests/test-exp2.h (test_function): Likewise.
6622         * tests/test-expm1.h (test_function): Likewise.
6623         * tests/test-log.h (test_function): Likewise.
6624
6625 2012-03-10  Bruno Haible  <bruno@clisp.org>
6626
6627         Fix some comments.
6628         * lib/expl.c: Fix an ambiguous comment.
6629         * lib/expm1.c: Likewise.
6630         * lib/expm1l.c: Likewise.
6631         * lib/exp2.c: Likewise.
6632         * lib/exp2l.c: Likewise.
6633
6634 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
6635
6636         regex: allow inclusion of <regex.h> before <limits.h>
6637         Without this patch, portable programs had to include <limits.h> before
6638         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
6639         I ran into this problem with a test version of GNU grep on Solaris 8.
6640         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
6641         This is done conditionally so that this change can be merged
6642         back to glibc.
6643         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
6644         using the included regex.
6645
6646         fts: depend on fdopendir
6647         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
6648         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
6649         problem was introduced when fdopendir was split out.
6650
6651 2012-03-10  Bruno Haible  <bruno@clisp.org>
6652
6653         Remove unused variables.
6654         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
6655         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6656
6657 2012-03-10  Bruno Haible  <bruno@clisp.org>
6658
6659         isnanf-nolibm: Fix last commit.
6660         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
6661
6662         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
6663         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
6664
6665 2012-03-10  Bruno Haible  <bruno@clisp.org>
6666
6667         logf-ieee: Work around test failure on NetBSD 5.1.
6668         * m4/logf-ieee.m4: New file.
6669         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
6670         whether logf works with a negative argument. Replace it if not.
6671         * lib/logf.c (logf): For negative arguments, return NaN.
6672         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
6673         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
6674         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
6675
6676         logf-ieee: Work around test failure on Solaris 9.
6677         * modules/logf-ieee (Depends-on): Add log-ieee.
6678         (configure.ac): Require gl_FUNC_LOGF.
6679
6680         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
6681         * m4/log-ieee.m4: New file.
6682         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
6683         log works with a negative argument. Replace it if not.
6684         * lib/log.c (log): For negative arguments, return NaN.
6685         * modules/log-ieee (Files): Add m4/log-ieee.m4.
6686         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
6687         * doc/posix-functions/log.texi: Mention the log-ieee module.
6688
6689         Tests for module 'logl-ieee'.
6690         * modules/logl-ieee-tests: New file.
6691         * tests/test-logl-ieee.c: New file.
6692
6693         New module 'logl-ieee'.
6694         * modules/logl-ieee: New file.
6695
6696         Tests for module 'log-ieee'.
6697         * modules/log-ieee-tests: New file.
6698         * tests/test-log-ieee.c: New file.
6699
6700         New module 'log-ieee'.
6701         * modules/log-ieee: New file.
6702
6703         Tests for module 'logf-ieee'.
6704         * modules/logf-ieee-tests: New file.
6705         * tests/test-logf-ieee.c: New file.
6706         * tests/test-log-ieee.h: New file.
6707
6708         New module 'logf-ieee'.
6709         * modules/logf-ieee: New file.
6710
6711 2012-03-10  Bruno Haible  <bruno@clisp.org>
6712
6713         log: Fix bug introduced on 2012-03-09.
6714         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
6715
6716 2012-03-10  Pádraig Brady  <P@draigBrady.com>
6717
6718         timer-time: link explicitly with pthreads on glibc
6719         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
6720         to support static linking, when newer glibc is
6721         detected, as that contains pthread emulation of
6722         POSIX timer functions where required.
6723         * modules/timer-time: Depend on threadlib to
6724         pull in the appropriate library to link.
6725
6726 2012-03-10  Bruno Haible  <bruno@clisp.org>
6727
6728         log* tests: More tests.
6729         * tests/test-log.h: New file.
6730         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
6731         (main): Invoke test_function.
6732         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
6733         (main): Invoke test_function.
6734         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
6735         (main): Invoke test_function.
6736         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6737         tests/randomd.c.
6738         (Makefile.am): Add randomd.c to test_log_SOURCES.
6739         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6740         tests/randomf.c.
6741         (Makefile.am): Add randomf.c to test_logf_SOURCES.
6742         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6743         tests/randoml.c.
6744         (Depends-on): Add 'float'.
6745         (Makefile.am): Add randoml.c to test_logl_SOURCES.
6746
6747 2012-03-09  Bruno Haible  <bruno@clisp.org>
6748
6749         logl: Work around OSF/1 5.1 bug.
6750         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
6751         * lib/logl.c (logl): If logl exists, use it and provide just the
6752         workaround.
6753         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
6754         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
6755         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
6756         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
6757         * modules/logl (configure.ac): Consider REPLACE_LOGL.
6758         (Depends-on): Update conditions.
6759         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
6760
6761 2012-03-09  Bruno Haible  <bruno@clisp.org>
6762
6763         logf: Work around OSF/1 5.1 bug.
6764         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
6765         * lib/logf.c (logf): If logf exists, use it and provide just the
6766         workaround.
6767         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
6768         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
6769         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
6770         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
6771         * modules/logf (configure.ac): Consider REPLACE_LOGF.
6772         (Depends-on): Update conditions.
6773         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
6774
6775 2012-03-09  Bruno Haible  <bruno@clisp.org>
6776
6777         log: Work around OSF/1 5.1 bug.
6778         * lib/math.in.h (log): New declaration.
6779         * lib/log.c: New file.
6780         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
6781         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
6782         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
6783         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
6784         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
6785         * modules/log (Files): Add lib/log.c.
6786         (Depends-on): Add math.
6787         (configure.ac): If REPLACE_LOG is 1, compile an override.
6788         * tests/test-math-c++.cc: Check the declaration of log.
6789         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
6790
6791 2012-03-09  Jim Meyering  <meyering@redhat.com>
6792
6793         readtokens.c: adjust wording in a comment
6794         * lib/readtokens.c: Insert omitted "that" in a comment.
6795
6796 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6797
6798         modechange: add notations +40, 00440, etc.
6799         * lib/modechange.c (mode_compile): Support new notations
6800         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
6801
6802 2012-03-08  Bruno Haible  <bruno@clisp.org>
6803
6804         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
6805         * m4/exp2l-ieee.m4: New file.
6806         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
6807         test whether exp2l works with a NaN argument and with a negative
6808         infinity argument. Replace it if not.
6809         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
6810         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
6811         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
6812         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
6813         (Depends-on): Update conditions.
6814         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
6815         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
6816         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
6817
6818         Tests for module 'exp2l-ieee'.
6819         * modules/exp2l-ieee-tests: New file.
6820         * tests/test-exp2l-ieee.c: New file.
6821
6822         New module 'exp2l-ieee'.
6823         * modules/exp2l-ieee: New file.
6824
6825         Tests for module 'exp2-ieee'.
6826         * modules/exp2-ieee-tests: New file.
6827         * tests/test-exp2-ieee.c: New file.
6828
6829         New module 'exp2-ieee'.
6830         * modules/exp2-ieee: New file.
6831
6832         Tests for module 'exp2f-ieee'.
6833         * modules/exp2f-ieee-tests: New file.
6834         * tests/test-exp2f-ieee.c: New file.
6835         * tests/test-exp2-ieee.h: New file.
6836
6837         New module 'exp2f-ieee'.
6838         * modules/exp2f-ieee: New file.
6839
6840 2012-03-08  Bruno Haible  <bruno@clisp.org>
6841
6842         Tests for module 'exp2l'.
6843         * modules/exp2l-tests: New file.
6844         * tests/test-exp2l.c: New file.
6845
6846         New module 'exp2l'.
6847         * lib/math.in.h (exp2l): New declaration.
6848         * lib/exp2l.c: New file.
6849         * lib/expl-table.c: New file, extracted from lib/expl.c.
6850         * lib/expl.c (gl_expl_table): New declaration.
6851         (expl): Remove expl_table. Update reference.
6852         * m4/exp2l.m4: New file.
6853         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
6854         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
6855         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
6856         * modules/exp2l: New file.
6857         * modules/expl (Files): Add lib/expl-table.c.
6858         (configure.ac): Compile also expl-table.c.
6859         * tests/test-math-c++.cc: Check the declaration of exp2l.
6860         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
6861         problem.
6862
6863 2012-03-08  Bruno Haible  <bruno@clisp.org>
6864
6865         Tests for module 'exp2f'.
6866         * modules/exp2f-tests: New file.
6867         * tests/test-exp2f.c: New file.
6868
6869         New module 'exp2f'.
6870         * lib/math.in.h (exp2f): New declaration.
6871         * lib/exp2f.c: New file.
6872         * m4/exp2f.m4: New file.
6873         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
6874         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
6875         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
6876         * modules/exp2f: New file.
6877         * tests/test-math-c++.cc: Check the declaration of exp2f.
6878         * doc/posix-functions/exp2f.texi: Mention the new module and the
6879         IRIX problem.
6880
6881 2012-03-08  Bruno Haible  <bruno@clisp.org>
6882
6883         Tests for module 'exp2'.
6884         * modules/exp2-tests: New file.
6885         * tests/test-exp2.c: New file.
6886         * tests/test-exp2.h: New file.
6887
6888         New module 'exp2'.
6889         * lib/math.in.h (exp2): New declaration.
6890         * lib/exp2.c: New file.
6891         * m4/exp2.m4: New file.
6892         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
6893         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
6894         REPLACE_EXP2.
6895         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
6896         REPLACE_EXP2.
6897         * modules/exp2: New file.
6898         * tests/test-math-c++.cc: Check the declaration of exp2.
6899         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
6900         and OpenBSD problems.
6901
6902 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6903
6904         savedir: fix comment typo
6905         * lib/savedir.c (savedirstream): Fix typo in comment.
6906
6907 2012-03-08  Bruno Haible  <bruno@clisp.org>
6908
6909         test-readtokens.c: use const; remove unwarranted cast
6910         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
6911
6912 2012-03-08  Bruno Haible  <bruno@clisp.org>
6913
6914         fmal: Avoid compilation error on AIX.
6915         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
6916         AIX 5.2..7.1.
6917
6918 2012-03-08  Bruno Haible  <bruno@clisp.org>
6919
6920         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
6921         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
6922         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
6923         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
6924         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
6925         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
6926         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
6927
6928 2012-03-08  Bruno Haible  <bruno@clisp.org>
6929
6930         remainderf: Override buggy system function on IRIX 6.5.
6931         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
6932         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
6933         when it exists.
6934         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
6935
6936 2012-03-08  Jim Meyering  <meyering@redhat.com>
6937
6938         test-readtokens.c: avoid const-related compilation warnings
6939         * tests/test-readtokens.c: Avoid const-related compilation warnings.
6940
6941 2012-03-07  Jim Meyering  <meyering@redhat.com>
6942             Bruno Haible  <bruno@clisp.org>
6943
6944         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
6945         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
6946         tests/randomd.c.
6947         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
6948         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
6949         tests/randoml.c.
6950         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
6951
6952 2012-03-07  Bruno Haible  <bruno@clisp.org>
6953
6954         expm1l: Avoid compilation error on AIX.
6955         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
6956         AIX 5.2..7.1.
6957
6958 2012-03-07  Bruno Haible  <bruno@clisp.org>
6959
6960         expm1l: Don't override undeclared system function on IRIX 6.5.
6961         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
6962         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
6963         it exists. Set HAVE_DECL_EXPM1L.
6964         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
6965         HAVE_EXPM1L.
6966         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
6967         HAVE_EXPM1L.
6968         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
6969
6970 2012-03-07  Bruno Haible  <bruno@clisp.org>
6971
6972         remainderl: Don't override undeclared system function on IRIX 6.5.
6973         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
6974         HAVE_REMAINDERL.
6975         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
6976         declared when it exists. Set HAVE_DECL_REMAINDERL.
6977         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
6978         not HAVE_REMAINDERL.
6979         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
6980         HAVE_REMAINDERL.
6981         * doc/posix-functions/remainderl.texi: Mention missing declaration
6982         problem.
6983
6984 2012-03-07  Bruno Haible  <bruno@clisp.org>
6985
6986         rintf: Don't override undeclared system function on IRIX 6.5.
6987         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
6988         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
6989         exists. Set HAVE_DECL_RINTF.
6990         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
6991         HAVE_RINTF.
6992         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
6993         HAVE_RINTF.
6994         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
6995
6996 2012-03-07  Bruno Haible  <bruno@clisp.org>
6997
6998         roundl: Avoid compilation error on AIX.
6999         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
7000         AIX 5.2..7.1.
7001
7002 2012-03-07  Bruno Haible  <bruno@clisp.org>
7003
7004         roundl: Don't override undeclared system function on IRIX 6.5.
7005         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
7006         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
7007         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
7008         * modules/roundl (configure.ac): For replacement code, test
7009         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
7010         (Depends-on): Update conditions.
7011         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
7012
7013 2012-03-07  Bruno Haible  <bruno@clisp.org>
7014
7015         roundf: Don't override undeclared system function on IRIX 6.5.
7016         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
7017         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
7018         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
7019         * modules/roundf (configure.ac): For replacement code, test
7020         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
7021         (Depends-on): Update conditions.
7022         * modules/roundf-ieee (Depends-on): Update conditions.
7023         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
7024
7025 2012-03-07  Bruno Haible  <bruno@clisp.org>
7026
7027         round: Don't override undeclared system function on IRIX 6.5.
7028         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
7029         argument.
7030         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
7031         also when it is not declared. Set HAVE_ROUND. For replacement code,
7032         test HAVE_ROUND, not HAVE_DECL_ROUND.
7033         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
7034         not HAVE_DECL_ROUND.
7035         (Depends-on): Update conditions.
7036         * modules/round-ieee (Depends-on): Update conditions.
7037         * doc/posix-functions/round.texi: Mention the IRIX problem.
7038
7039 2012-03-07  Bruno Haible  <bruno@clisp.org>
7040
7041         copysignf: Don't override undeclared system function on IRIX 6.5.
7042         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
7043         HAVE_COPYSIGNF.
7044         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
7045         declared when it exists. Set HAVE_DECL_COPYSIGNF.
7046         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
7047         not HAVE_COPYSIGNF.
7048         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
7049         HAVE_COPYSIGNF.
7050         * doc/posix-functions/copysignf.texi: Mention missing declaration
7051         problem.
7052
7053 2012-03-07  Jim Meyering  <meyering@redhat.com>
7054
7055         readtokens: add tests
7056         * modules/readtokens-tests: New file.
7057         * tests/test-readtokens.c: New file.
7058
7059 2012-03-07  Jim Meyering  <meyering@redhat.com>
7060
7061         quotearg: the module must now include quote.h
7062         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
7063         So must the module.
7064         * modules/quotearg (Files): Add quote.h.
7065
7066 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
7067
7068         readtokens: avoid core dumps with unusual calling patterns
7069         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
7070         * lib/readtokens.c: Include limits.h.
7071         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
7072         (readtoken): Don't cache the delimiters; the cache code was buggy
7073         if !delim && saved_delim, or if the new n_delim differs from the old.
7074         Also, it wasn't thread-safe.
7075
7076 2012-03-07  Bruno Haible  <bruno@clisp.org>
7077
7078         quote: Adhere to common module description layout.
7079         * modules/quote (Makefile.am): Add back empty section.
7080
7081 2012-03-06  Akim Demaille  <demaille@gostai.com>
7082
7083         quote: fuse into quotearg
7084         This patch is made for the benefit of Bison.
7085         quote does not leave the choice of the quoting style to the user.
7086         quoting_style provides poor customizability, yet quoting_options,
7087         which is very rich, is hidden inside quotearg.c.  So in order to
7088         allow quote customization, move its implementation to quotearg.c.
7089         * lib/quote.c: Remove.
7090         * modules/quote: Adjust.
7091         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
7092         warning: provide all the members of literal structs.
7093         (quote_quoting_options): New.
7094         (quote, quote_n): Import implementation from quote.c.
7095         * lib/quote.h: Import the comments from quote.c.
7096         (quote_quoting_options): New.
7097
7098 2012-03-06  Bruno Haible  <bruno@clisp.org>
7099
7100         Tests for module 'expm1l-ieee'.
7101         * modules/expm1l-ieee-tests: New file.
7102         * tests/test-expm1l-ieee.c: New file.
7103
7104         New module 'expm1l-ieee'.
7105         * modules/expm1l-ieee: New file.
7106
7107         Tests for module 'expm1f-ieee'.
7108         * modules/expm1f-ieee-tests: New file.
7109         * tests/test-expm1f-ieee.c: New file.
7110
7111         New module 'expm1f-ieee'.
7112         * modules/expm1f-ieee: New file.
7113
7114         Tests for module 'expm1-ieee'.
7115         * modules/expm1-ieee-tests: New file.
7116         * tests/test-expm1-ieee.c: New file.
7117         * tests/test-expm1-ieee.h: New file.
7118
7119         New module 'expm1-ieee'.
7120         * modules/expm1-ieee: New file.
7121         * m4/expm1-ieee.m4: New file.
7122         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
7123         whether expm1 works with a minus zero argument. Replace it if not.
7124         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
7125         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
7126         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
7127         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
7128         (Depends-on): Update conditions.
7129         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
7130         AIX problem.
7131
7132 2012-03-06  Bruno Haible  <bruno@clisp.org>
7133
7134         Work around expm1f bug on IRIX 6.5.
7135         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
7136         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
7137         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
7138         not work.
7139         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
7140         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
7141         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
7142         (Depends-on): Update conditions.
7143         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
7144
7145 2012-03-06  Bruno Haible  <bruno@clisp.org>
7146
7147         Tests for module 'expm1l'.
7148         * modules/expm1l-tests: New file.
7149         * tests/test-expm1l.c: New file.
7150
7151         New module 'expm1l'.
7152         * lib/math.in.h (expm1l): New declaration.
7153         * lib/expm1l.c: New file.
7154         * m4/expm1l.m4: New file.
7155         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
7156         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
7157         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
7158         * modules/expm1l: New file.
7159         * tests/test-math-c++.cc: Check the declaration of expm1l.
7160         * doc/posix-functions/expm1l.texi: Mention the new module.
7161
7162 2012-03-06  Bruno Haible  <bruno@clisp.org>
7163
7164         Tests for module 'expm1f'.
7165         * modules/expm1f-tests: New file.
7166         * tests/test-expm1f.c: New file.
7167
7168         New module 'expm1f'.
7169         * lib/math.in.h (expm1f): New declaration.
7170         * lib/expm1f.c: New file.
7171         * m4/expm1f.m4: New file.
7172         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
7173         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
7174         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
7175         * modules/expm1f: New file.
7176         * tests/test-math-c++.cc: Check the declaration of expm1f.
7177         * doc/posix-functions/expm1f.texi: Mention the new module.
7178
7179 2012-03-06  Bruno Haible  <bruno@clisp.org>
7180
7181         Tests for module 'expm1'.
7182         * modules/expm1-tests: New file.
7183         * tests/test-expm1.c: New file.
7184         * tests/test-expm1.h: New file.
7185
7186         New module 'expm1'.
7187         * lib/math.in.h (expm1): New declaration.
7188         * lib/expm1.c: New file.
7189         * m4/expm1.m4: New file.
7190         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
7191         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
7192         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
7193         * modules/expm1: New file.
7194         * tests/test-math-c++.cc: Check the declaration of expm1.
7195         * doc/posix-functions/expm1.texi: Mention the new module.
7196
7197 2012-03-06  Bruno Haible  <bruno@clisp.org>
7198
7199         math: Ensure declarations of math functions.
7200         * modules/acosf (Depends-on): Add 'extensions'.
7201         * modules/asinf (Depends-on): Likewise.
7202         * modules/atan2f (Depends-on): Likewise.
7203         * modules/atanf (Depends-on): Likewise.
7204         * modules/cbrt (Depends-on): Likewise.
7205         * modules/cbrtf (Depends-on): Likewise.
7206         * modules/cbrtl (Depends-on): Likewise.
7207         * modules/copysignf (Depends-on): Likewise.
7208         * modules/copysignl (Depends-on): Likewise.
7209         * modules/cosf (Depends-on): Likewise.
7210         * modules/coshf (Depends-on): Likewise.
7211         * modules/expf (Depends-on): Likewise.
7212         * modules/fabsf (Depends-on): Likewise.
7213         * modules/fabsl (Depends-on): Likewise.
7214         * modules/fmaf (Depends-on): Likewise.
7215         * modules/fmal (Depends-on): Likewise.
7216         * modules/fmodf (Depends-on): Likewise.
7217         * modules/fmodl (Depends-on): Likewise.
7218         * modules/frexpf (Depends-on): Likewise.
7219         * modules/frexpl (Depends-on): Likewise.
7220         * modules/hypot (Depends-on): Likewise.
7221         * modules/hypotf (Depends-on): Likewise.
7222         * modules/hypotl (Depends-on): Likewise.
7223         * modules/ldexpf (Depends-on): Likewise.
7224         * modules/ldexpl (Depends-on): Likewise.
7225         * modules/log10f (Depends-on): Likewise.
7226         * modules/log10l (Depends-on): Likewise.
7227         * modules/log1p (Depends-on): Likewise.
7228         * modules/logb (Depends-on): Likewise.
7229         * modules/logf (Depends-on): Likewise.
7230         * modules/modff (Depends-on): Likewise.
7231         * modules/modfl (Depends-on): Likewise.
7232         * modules/powf (Depends-on): Likewise.
7233         * modules/remainderf (Depends-on): Likewise.
7234         * modules/remainderl (Depends-on): Likewise.
7235         * modules/rintf (Depends-on): Likewise.
7236         * modules/rintl (Depends-on): Likewise.
7237         * modules/sinf (Depends-on): Likewise.
7238         * modules/sinhf (Depends-on): Likewise.
7239         * modules/sqrtf (Depends-on): Likewise.
7240         * modules/tanf (Depends-on): Likewise.
7241         * modules/tanhf (Depends-on): Likewise.
7242         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
7243         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
7244         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
7245         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
7246         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
7247         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
7248         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
7249         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
7250         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
7251         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
7252         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
7253         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
7254         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
7255         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
7256         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
7257         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
7258         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
7259         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
7260         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
7261         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
7262         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
7263         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
7264         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
7265         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
7266         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
7267         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
7268         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
7269         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
7270         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
7271         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
7272         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7273         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
7274         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
7275         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
7276         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
7277         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
7278         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
7279         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
7280         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
7281         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
7282         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
7283
7284 2012-03-06  Bruno Haible  <bruno@clisp.org>
7285
7286         math: Update module names in warnings.
7287         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
7288         tanl): Use specific module name in warn-on-use warning.
7289
7290 2012-03-06  Bruno Haible  <bruno@clisp.org>
7291
7292         expl: Simplify computation.
7293         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
7294
7295 2012-03-05  Bruno Haible  <bruno@clisp.org>
7296
7297         exp* tests: More tests.
7298         * tests/test-exp.h: New file.
7299         * tests/test-exp.c: Include <float.h> and test-exp.h.
7300         (main): Invoke test_function.
7301         * tests/test-expf.c: Include <float.h> and test-exp.h.
7302         (main): Invoke test_function.
7303         * tests/test-expl.c: Include <float.h> and test-exp.h.
7304         (main): Invoke test_function.
7305         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
7306         (Makefile.am): Add randomd.c to test_exp_SOURCES.
7307         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
7308         (Makefile.am): Add randomf.c to test_expf_SOURCES.
7309         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
7310         (Depends-on): Add 'float'.
7311         (Makefile.am): Add randoml.c to test_expl_SOURCES.
7312
7313         expl: Fix precision of computed result.
7314         * lib/expl.c: Completely rewritten.
7315         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
7316         (Maintainer): Add me.
7317         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
7318
7319 2012-03-05  Bruno Haible  <bruno@clisp.org>
7320
7321         cbrt* tests: More tests.
7322         * tests/test-cbrt.h: New file.
7323         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
7324         (main): Invoke test_function.
7325         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
7326         (main): Invoke test_function.
7327         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
7328         (main): Invoke test_function.
7329         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
7330         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
7331         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
7332         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
7333         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
7334         (Depends-on): Add 'float'.
7335         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
7336
7337 2012-03-05  Bruno Haible  <bruno@clisp.org>
7338
7339         hypot* tests: More tests.
7340         * tests/test-hypot.h: New file, partially extracted from
7341         tests/test-hypotl.c.
7342         * tests/test-hypot.c: Include test-hypot.h.
7343         (main): Invoke test_function.
7344         * tests/test-hypotf.c: Include test-hypot.h.
7345         (main): Invoke test_function.
7346         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
7347         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
7348         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
7349         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
7350         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
7351         tests/randomf.c.
7352         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
7353         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
7354         tests/randoml.c.
7355         (Depends-on): Add 'fpucw', 'float'.
7356         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
7357
7358 2012-03-05  Bruno Haible  <bruno@clisp.org>
7359
7360         fpucw: Doc about FreeBSD.
7361         * lib/fpucw.h: Mention FreeBSD in comments.
7362
7363 2012-03-04  Bruno Haible  <bruno@clisp.org>
7364
7365         sqrt* tests: More tests.
7366         * tests/test-sqrt.h: New file.
7367         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
7368         (main): Invoke test_function.
7369         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
7370         (main): Invoke test_function.
7371         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
7372         (main): Invoke test_function.
7373         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
7374         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
7375         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
7376         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
7377         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
7378         (Depends-on): Add 'float'.
7379         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
7380
7381 2012-03-04  Bruno Haible  <bruno@clisp.org>
7382
7383         remainder* tests: More tests.
7384         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
7385         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
7386         (main): Invoke test_function.
7387         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
7388         (main): Invoke test_function.
7389         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
7390         (main): Invoke test_function.
7391         * modules/remainder-tests (Files): Add tests/test-remainder.h,
7392         tests/randomd.c.
7393         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
7394         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
7395         tests/randomf.c.
7396         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
7397         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
7398         tests/randoml.c.
7399         (Depends-on): Add 'float'.
7400         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
7401
7402 2012-03-04  Bruno Haible  <bruno@clisp.org>
7403
7404         remainder, remainderf, remainderl: Fix computation for large quotients.
7405         * lib/remainder.c: Completely rewritten.
7406         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
7407         USE_FLOAT.
7408         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
7409         USE_LONG_DOUBLE.
7410         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
7411         isnand, isinf. Remove round, fma.
7412         * modules/remainderf (Files): Add lib/remainder.c.
7413         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
7414         Remove roundf, fmaf.
7415         * modules/remainderl (Files): Add lib/remainder.c.
7416         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
7417         isinf. Remove roundl, fmal.
7418         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
7419         REMAINDER_LIBM.
7420         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
7421         REMAINDERF_LIBM.
7422         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
7423         REMAINDERL_LIBM.
7424
7425 2012-03-04  Bruno Haible  <bruno@clisp.org>
7426
7427         fmod* tests: More tests.
7428         * tests/test-fmod.h (my_ldexp): New function.
7429         (test_function): Reduce amount of random numbers to test. Add tests
7430         of very large quotients x / y.
7431         * tests/test-fmod.c (MAX_EXP): New macro.
7432         * tests/test-fmodf.c (MAX_EXP): Likewise.
7433         * tests/test-fmodl.c (MAX_EXP): Likewise.
7434
7435 2012-03-04  Bruno Haible  <bruno@clisp.org>
7436
7437         fmod, fmodl: Fix computation for large quotients x / y.
7438         * lib/fmod.c: Completely rewritten.
7439         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
7440         USE_LONG_DOUBLE.
7441         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
7442         isnand. Remove fma.
7443         * modules/fmodl (Files): Add lib/fmod.c.
7444         (Depends-on): Add float, isfinite, signbit, fabsl,
7445         frexpl, ldexpl, isnanl. Remove fma.
7446         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
7447         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
7448
7449 2012-03-03  Bruno Haible  <bruno@clisp.org>
7450
7451         fmod* tests: More tests.
7452         * tests/test-fmod.h: New file.
7453         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
7454         (main): Invoke test_function.
7455         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
7456         (main): Invoke test_function.
7457         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
7458         (main): Invoke test_function.
7459         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
7460         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
7461         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
7462         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
7463         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
7464         (Depends-on): Add 'float'.
7465         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
7466
7467 2012-03-03  Bruno Haible  <bruno@clisp.org>
7468
7469         rint* tests: More tests.
7470         * tests/test-rint.h: New file, partially extracted from
7471         tests/test-rintl.c.
7472         * tests/test-rint.c: Include test-rint.h.
7473         (main): Invoke test_function.
7474         * tests/test-rintf.c: Include test-rint.h.
7475         (main): Invoke test_function.
7476         * tests/test-rintl.c: Include test-rint.h.
7477         (main): Invoke test_function.
7478         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
7479         (Makefile.am): Add randomd.c to test_rint_SOURCES.
7480         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
7481         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
7482         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
7483         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
7484
7485 2012-03-03  Bruno Haible  <bruno@clisp.org>
7486
7487         modf* tests: More tests.
7488         * tests/test-modf.h: New file.
7489         * tests/test-modf.c: Include <float.h> and test-modf.h.
7490         (main): Invoke test_function.
7491         * tests/test-modff.c: Include <float.h> and test-modf.h.
7492         (main): Invoke test_function.
7493         * tests/test-modfl.c: Include <float.h> and test-modf.h.
7494         (main): Invoke test_function.
7495         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
7496         (Makefile.am): Add randomd.c to test_modf_SOURCES.
7497         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
7498         (Makefile.am): Add randomf.c to test_modff_SOURCES.
7499         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
7500         (Depends-on): Add 'float'.
7501         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
7502
7503 2012-03-03  Bruno Haible  <bruno@clisp.org>
7504
7505         fabs* tests: More tests.
7506         * tests/test-fabs.h: New file, partially extracted from
7507         tests/test-fabsl.c.
7508         * tests/test-fabs.c (RANDOM): New macro.
7509         * tests/test-fabsf.c (RANDOM): New macro.
7510         * tests/test-fabsl.c (RANDOM): New macro.
7511         * modules/fabs-tests (Files): Add tests/randomd.c.
7512         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
7513         * modules/fabsf-tests (Files): Add tests/randomf.c.
7514         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
7515         * modules/fabsl-tests (Files): Add tests/randoml.c.
7516         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
7517
7518 2012-03-03  Bruno Haible  <bruno@clisp.org>
7519
7520         ldexp* tests: More tests.
7521         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
7522         * tests/test-ldexp.c (RANDOM): New macro.
7523         * tests/test-ldexpf.c (RANDOM): New macro.
7524         * tests/test-ldexpl.c (RANDOM): New macro.
7525         * modules/ldexp-tests (Files): Add tests/randomd.c.
7526         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
7527         * modules/ldexpf-tests (Files): Add tests/randomf.c.
7528         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
7529         * modules/ldexpl-tests (Files): Add tests/randoml.c.
7530         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
7531
7532 2012-03-03  Bruno Haible  <bruno@clisp.org>
7533
7534         frexp* tests: More tests.
7535         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
7536         * tests/test-frexp.c (RANDOM): New macro.
7537         * tests/test-frexpf.c (RANDOM): New macro.
7538         * tests/test-frexpl.c (RANDOM): New macro.
7539         * modules/frexp-tests (Files): Add tests/randomd.c.
7540         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
7541         * modules/frexpf-tests (Files): Add tests/randomf.c.
7542         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
7543         * modules/frexpl-tests (Files): Add tests/randoml.c.
7544         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
7545
7546 2012-03-03  Bruno Haible  <bruno@clisp.org>
7547
7548         Support for pseudo-random numbers in tests.
7549         * tests/randomf.c: New file.
7550         * tests/randomd.c: New file.
7551         * tests/randoml.c: New file.
7552         * tests/macros.h (randomf, randomd, randoml): New declarations.
7553
7554 2012-03-03  Bruno Haible  <bruno@clisp.org>
7555
7556         frexp* tests: Refactor.
7557         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
7558         * tests/test-frexp.c: Include and use it.
7559         * tests/test-frexpf.c: Likewise.
7560         * tests/test-frexpl.c: Likewise.
7561         * modules/frexp-tests (Files): Add tests/test-frexp.h.
7562         * modules/frexpf-tests (Files): Likewise.
7563         * modules/frexpl-tests (Files): Likewise.
7564
7565 2012-03-02  Jim Meyering  <meyering@redhat.com>
7566
7567         maint: don't specify XZ_OPT=-9ev in dist-related rule
7568         Using xz's -9 option is warranted only if you have a very large
7569         tarball (see xz's documentation for the sizes vs. presets), and
7570         requires 64MiB of memory at decompression time.
7571         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
7572         Automake's default of just "-e" is fine.  Override on a
7573         per-package basis by setting XZ_OPT e.g., in cfg.mk.
7574
7575 2012-03-01  Eric Blake  <eblake@redhat.com>
7576
7577         maint.mk: allow announcement for non-gnulib project
7578         * maint.mk (announcement): Skip gnulib version if not used.
7579
7580 2012-03-01  Jim Meyering  <meyering@redhat.com>
7581
7582         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
7583         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
7584         envvar settings cannot interfere.  Otherwise, setting envvars like
7585         prohibit=foo require=bar, etc. would cause spurious test failures.
7586
7587 2012-03-01  Eric Blake  <eblake@redhat.com>
7588
7589         maint.mk: add per-line exclusions to prohibitions
7590         * maint.mk (_sc_search_regexp): Add $exclude parameter.
7591         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
7592         (sc_const_long_option): Use it.
7593
7594 2012-03-01  Bruno Haible  <bruno@clisp.org>
7595
7596         Tests for module 'expl-ieee'.
7597         * modules/expl-ieee-tests: New file.
7598         * tests/test-expl-ieee.c: New file.
7599
7600         New module 'expl-ieee'.
7601         * modules/expl-ieee: New file.
7602
7603         Tests for module 'exp-ieee'.
7604         * modules/exp-ieee-tests: New file.
7605         * tests/test-exp-ieee.c: New file.
7606
7607         New module 'exp-ieee'.
7608         * modules/exp-ieee: New file.
7609
7610         Tests for module 'expf-ieee'.
7611         * modules/expf-ieee-tests: New file.
7612         * tests/test-expf-ieee.c: New file.
7613         * tests/test-exp-ieee.h: New file.
7614
7615         New module 'expf-ieee'.
7616         * modules/expf-ieee: New file.
7617
7618 2012-02-29  Bruno Haible  <bruno@clisp.org>
7619
7620         cbrtl-ieee: Work around test failure on IRIX 6.5.
7621         * m4/cbrtl-ieee.m4: New file.
7622         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
7623         test whether cbrtl works with a minus zero argument. Replace it if not.
7624         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
7625         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
7626         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
7627         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
7628         (Depends-on): Update conditions.
7629         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
7630         m4/signbit.m4.
7631         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
7632         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
7633         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
7634
7635         Tests for module 'cbrtl-ieee'.
7636         * modules/cbrtl-ieee-tests: New file.
7637         * tests/test-cbrtl-ieee.c: New file.
7638
7639         New module 'cbrtl-ieee'.
7640         * modules/cbrtl-ieee: New file.
7641
7642         Tests for module 'cbrt-ieee'.
7643         * modules/cbrt-ieee-tests: New file.
7644         * tests/test-cbrt-ieee.c: New file.
7645
7646         New module 'cbrt-ieee'.
7647         * modules/cbrt-ieee: New file.
7648
7649         Tests for module 'cbrtf-ieee'.
7650         * modules/cbrtf-ieee-tests: New file.
7651         * tests/test-cbrtf-ieee.c: New file.
7652         * tests/test-cbrt-ieee.h: New file.
7653
7654         New module 'cbrtf-ieee'.
7655         * modules/cbrtf-ieee: New file.
7656
7657 2012-02-29  Bruno Haible  <bruno@clisp.org>
7658
7659         cbrtf: Work around bug in IRIX 6.5 system function.
7660         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
7661         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
7662         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
7663         work.
7664         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
7665         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
7666         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
7667         (Depends-on): Update conditions.
7668         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
7669
7670 2012-02-29  Bruno Haible  <bruno@clisp.org>
7671
7672         Tests for module 'cbrtl'.
7673         * modules/cbrtl-tests: New file.
7674         * tests/test-cbrtl.c: New file.
7675
7676         New module 'cbrtl'.
7677         * lib/math.in.h (cbrtl): New declaration.
7678         * lib/cbrtl.c: New file.
7679         * m4/cbrtl.m4: New file.
7680         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
7681         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
7682         HAVE_DECL_CBRTL.
7683         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
7684         HAVE_DECL_CBRTL.
7685         * modules/cbrtl: New file.
7686         * tests/test-math-c++.cc: Check the declaration of cbrtl.
7687         * doc/posix-functions/cbrtl.texi: Mention the new module.
7688
7689 2012-02-29  Bruno Haible  <bruno@clisp.org>
7690
7691         Tests for module 'cbrtf'.
7692         * modules/cbrtf-tests: New file.
7693         * tests/test-cbrtf.c: New file.
7694
7695         New module 'cbrtf'.
7696         * lib/math.in.h (cbrtf): New declaration.
7697         * lib/cbrtf.c: New file.
7698         * m4/cbrtf.m4: New file.
7699         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
7700         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
7701         HAVE_DECL_CBRTF.
7702         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
7703         HAVE_DECL_CBRTF.
7704         * modules/cbrtf: New file.
7705         * tests/test-math-c++.cc: Check the declaration of cbrtf.
7706         * doc/posix-functions/cbrtf.texi: Mention the new module.
7707
7708 2012-02-29  Bruno Haible  <bruno@clisp.org>
7709
7710         cbrt: Provide replacement on MSVC and Minix.
7711         * lib/math.in.h (cbrt): New declaration.
7712         * lib/cbrt.c: New file.
7713         * m4/cbrt.m4: New file.
7714         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
7715         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
7716         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
7717         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
7718         (Depends-on): Add dependencies.
7719         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
7720         * tests/test-math-c++.cc: Check the declaration of cbrt.
7721         * doc/posix-functions/cbrt.texi: Mention that the module provides a
7722         replacement.
7723
7724 2012-02-29  Bruno Haible  <bruno@clisp.org>
7725
7726         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
7727         * m4/hypotl-ieee.m4: New file.
7728         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
7729         test whether hypotl works with mixed NaN and Infinity arguments.
7730         Replace it if not.
7731         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
7732         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
7733         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
7734         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
7735         (Depends-on): Update conditions.
7736         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
7737         (Depends-on): Add hypot-ieee.
7738         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
7739         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
7740
7741         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
7742         * m4/hypotf-ieee.m4: New file.
7743         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
7744         test whether hypotf works with mixed NaN and Infinity arguments.
7745         Replace it if not.
7746         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
7747         (Depends-on): Add hypot-ieee.
7748         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
7749         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
7750
7751         hypot-ieee: Work around test failure on OSF/1 and native Windows.
7752         * lib/math.in.h (hypot): New declaration.
7753         * lib/hypot.c: New file.
7754         * m4/hypot-ieee.m4: New file.
7755         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
7756         whether hypot works with mixed NaN and Infinity arguments. Replace it
7757         if not.
7758         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
7759         REPLACE_HYPOT.
7760         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
7761         * modules/hypot (Files): Add lib/hypot.c.
7762         (Depends-on): Add dependencies.
7763         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
7764         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
7765         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
7766         * tests/test-math-c++.cc: Check the declaration of hypot.
7767         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
7768
7769         Tests for module 'hypotl-ieee'.
7770         * modules/hypotl-ieee-tests: New file.
7771         * tests/test-hypotl-ieee.c: New file.
7772
7773         New module 'hypotl-ieee'.
7774         * modules/hypotl-ieee: New file.
7775
7776         Tests for module 'hypot-ieee'.
7777         * modules/hypot-ieee-tests: New file.
7778         * tests/test-hypot-ieee.c: New file.
7779
7780         New module 'hypot-ieee'.
7781         * modules/hypot-ieee: New file.
7782
7783         Tests for module 'hypotf-ieee'.
7784         * modules/hypotf-ieee-tests: New file.
7785         * tests/test-hypotf-ieee.c: New file.
7786         * tests/test-hypot-ieee.h: New file.
7787
7788         New module 'hypotf-ieee'.
7789         * modules/hypotf-ieee: New file.
7790
7791 2012-02-29  Bruno Haible  <bruno@clisp.org>
7792
7793         Remove unused variables.
7794         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
7795         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
7796         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
7797         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
7798
7799 2012-02-29  Eric Blake  <eblake@redhat.com>
7800
7801         termios: fix pid_t always, not just for tcgetsid
7802         * doc/posix-headers/termios.texi (termios.h): Mention problem.
7803         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
7804         just when building tcgetsid.
7805
7806 2012-02-29  Bruno Haible  <bruno@clisp.org>
7807
7808         Tests for module 'hypotl'.
7809         * modules/hypotl-tests: New file.
7810         * tests/test-hypotl.c: New file.
7811
7812         New module 'hypotl'.
7813         * lib/math.in.h (hypotl): New declaration.
7814         * lib/hypotl.c: New file.
7815         * m4/hypotl.m4: New file.
7816         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7817         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
7818         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
7819         * modules/hypotl: New file.
7820         * tests/test-math-c++.cc: Check the hypotl declaration.
7821         * doc/posix-functions/hypotl.texi: Mention the new module.
7822
7823 2012-02-29  Eric Blake  <eblake@redhat.com>
7824
7825         tcgetsid: fix cygwin header bug
7826         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
7827
7828         docs: update cygwin progress
7829         * doc/posix-functions/llround.texi (llround): Added in cygwin
7830         1.7.8.
7831         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
7832         * doc/glibc-functions/program_invocation_name.texi
7833         (program_invocation_name): Likewise.
7834         * doc/glibc-functions/program_invocation_short_name.texi
7835         (program_invocation_short_name): Likewise.
7836         * doc/glibc-functions/madvise.texi (madvise): Likewise.
7837         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
7838         Likewise.
7839         * doc/posix-functions/pthread_spin_destroy.texi
7840         (pthread_spin_destroy): Added in cygwin 1.7.10.
7841         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
7842         Likewise.
7843         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
7844         Likewise.
7845         * doc/posix-functions/pthread_spin_trylock.texi
7846         (pthread_spin_trylock): Likewise.
7847         * doc/posix-functions/pthread_spin_unlock.texi
7848         (pthread_spin_unlock): Likewise.
7849         * doc/posix-functions/pthread_setschedprio.texi
7850         (pthread_setschedprio): Likewise.
7851         * doc/posix-functions/pthread_attr_getstack.texi
7852         (pthread_attr_getstack): Likewise.
7853         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
7854         (pthread_attr_getstackaddr): Likewise.
7855         * doc/glibc-functions/pthread_getattr_np.texi
7856         (pthread_getattr_np): Likewise.
7857         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
7858         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
7859         * doc/posix-functions/clock_settime.texi (clock_settime):
7860         Likewise.
7861         * doc/posix-functions/pthread_attr_getguardsize.texi
7862         (pthread_attr_getguardsize): Likewise.
7863         * doc/posix-functions/pthread_attr_setguardsize.texi
7864         (pthread_attr_setguardsize): Likewise.
7865         * doc/posix-functions/pthread_attr_setstack.texi
7866         (pthread_attr_setstack): Likewise.
7867         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
7868         (pthread_attr_setstackaddr): Likewise.
7869         * doc/posix-functions/clock_getcpuclockid.texi
7870         (clock_getcpuclockid): Likewise.
7871         * doc/posix-functions/pthread_getcpuclockid.texi
7872         (pthread_getcpuclockid): Likewise.
7873         * doc/glibc-functions/error.texi (error): Likewise.
7874         * doc/glibc-functions/error_at_line.texi (error_at_line):
7875         Likewise.
7876         * doc/glibc-functions/error_message_count.texi
7877         (error_message_count): Likewise.
7878         * doc/glibc-functions/error_one_per_line.texi
7879         (error_one_per_line): Likewise.
7880         * doc/glibc-functions/error_print_progname.texi
7881         (error_print_progname): Likewise.
7882         * doc/posix-functions/pthread_condattr_getclock.texi
7883         (pthread_condattr_getclock): Likewise.
7884         * doc/posix-functions/pthread_condattr_setclock.texi
7885         (pthread_condattr_setclock): Likewise.
7886         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
7887         Likewise.
7888         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
7889         * doc/glibc-functions/getpt.texi (getpt): Likewise.
7890         * doc/glibc-functions/get_current_dir_name.texi
7891         (get_current_dir_name): Likewise.
7892         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
7893         Likewise.
7894         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
7895         wrong return type.
7896         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
7897         1.7.11.
7898
7899 2012-02-29  Bruno Haible  <bruno@clisp.org>
7900
7901         Tests for module 'hypotf'.
7902         * modules/hypotf-tests: New file.
7903         * tests/test-hypotf.c: New file.
7904
7905         New module 'hypotf'.
7906         * lib/math.in.h (hypotf): New declaration.
7907         * lib/hypotf.c: New file.
7908         * m4/hypotf.m4: New file.
7909         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7910         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
7911         REPLACE_HYPOTF.
7912         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
7913         REPLACE_HYPOTF.
7914         * modules/hypotf: New file.
7915         * tests/test-math-c++.cc: Check the hypotf declaration.
7916         * doc/posix-functions/hypotf.texi: Mention the new module.
7917
7918         hypot: Prepare for hypotf module.
7919         * m4/hypot.m4: New file.
7920         * modules/hypot (Files): Add m4/hypot.m4.
7921         (configure.ac): Invoke gl_FUNC_HYPOT.
7922
7923 2012-02-29  Bruno Haible  <bruno@clisp.org>
7924
7925         hypot tests: More tests.
7926         * tests/test-hypot.c: Include <float.h>.
7927         (main): Add tests about overflow and underflow.
7928
7929 2012-02-29  Bruno Haible  <bruno@clisp.org>
7930
7931         math code: Add comments.
7932         * lib/acosl.c: Add comment about related glibc source files.
7933         * lib/asinl.c: Likewise.
7934         * lib/atanl.c: Likewise.
7935         * lib/expl.c: Likewise.
7936         * lib/logl.c: Likewise.
7937         * lib/sincosl.c: Likewise.
7938         * lib/sinl.c: Likewise.
7939         * lib/tanl.c: Likewise.
7940         * lib/trigl.c: Likewise.
7941         * lib/cosl.c: Likewise. Fix comments.
7942
7943 2012-02-28  Bruno Haible  <bruno@clisp.org>
7944
7945         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
7946         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
7947         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
7948         HUGE_VALL are defined.
7949         (numeric_equald): Renamed from numeric_equal.
7950         (numeric_equalf, numeric_equall): New functions.
7951         (main): Check also HUGE_VALF, HUGE_VALL.
7952         * modules/math-tests (Files): Add tests/macros.h.
7953         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
7954         HUGE_VALL.
7955
7956 2012-02-28  Bruno Haible  <bruno@clisp.org>
7957
7958         doc: Move ISO C11 feature notes into POSIX chapters.
7959         * doc/posix-functions/aligned_alloc.texi: Renamed from
7960         doc/glibc-functions/aligned_alloc.texi.
7961         * doc/posix-functions/quick_exit.texi: Renamed from
7962         doc/glibc-functions/quick_exit.texi.
7963         * doc/posix-headers/uchar.texi: Renamed from
7964         doc/glibc-headers/uchar.texi.
7965         * doc/posix-functions/c16rtomb.texi: Renamed from
7966         doc/glibc-functions/c16rtomb.texi.
7967         * doc/posix-functions/c32rtomb.texi: Renamed from
7968         doc/glibc-functions/c32rtomb.texi.
7969         * doc/posix-functions/mbrtoc16.texi: Renamed from
7970         doc/glibc-functions/mbrtoc16.texi.
7971         * doc/posix-functions/mbrtoc32.texi: Renamed from
7972         doc/glibc-functions/mbrtoc32.texi.
7973         * doc/gnulib.texi: Update.
7974         (Glibc uchar.h): Remove section.
7975         Suggested by Eric Blake.
7976
7977 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
7978
7979         stdnoreturn: port to MSVC better
7980         MSVC standard headers use __declspec(noreturn), so #define noreturn
7981         to empty on that platform.  Reported by Bruno Haible in
7982         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
7983         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
7984         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
7985
7986 2012-02-28  Bruno Haible  <bruno@clisp.org>
7987
7988         doc: Mention new glibc headers and functions.
7989         * doc/glibc-headers/uchar.texi: New file.
7990         * doc/glibc-functions/aligned_alloc.texi: New file.
7991         * doc/glibc-functions/c16rtomb.texi: New file.
7992         * doc/glibc-functions/c32rtomb.texi: New file.
7993         * doc/glibc-functions/clock_adjtime.texi: New file.
7994         * doc/glibc-functions/fanotify_init.texi: New file.
7995         * doc/glibc-functions/fanotify_mark.texi: New file.
7996         * doc/glibc-functions/inet6_opt_append.texi: New file.
7997         * doc/glibc-functions/inet6_opt_find.texi: New file.
7998         * doc/glibc-functions/inet6_opt_finish.texi: New file.
7999         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
8000         * doc/glibc-functions/inet6_opt_init.texi: New file.
8001         * doc/glibc-functions/inet6_opt_next.texi: New file.
8002         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
8003         * doc/glibc-functions/inet6_rth_add.texi: New file.
8004         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
8005         * doc/glibc-functions/inet6_rth_init.texi: New file.
8006         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
8007         * doc/glibc-functions/inet6_rth_segments.texi: New file.
8008         * doc/glibc-functions/inet6_rth_space.texi: New file.
8009         * doc/glibc-functions/login.texi: New file.
8010         * doc/glibc-functions/mbrtoc16.texi: New file.
8011         * doc/glibc-functions/mbrtoc32.texi: New file.
8012         * doc/glibc-functions/name_to_handle_at.texi: New file.
8013         * doc/glibc-functions/ntp_gettimex.texi: New file.
8014         * doc/glibc-functions/open_by_handle_at.texi: New file.
8015         * doc/glibc-functions/prlimit.texi: New file.
8016         * doc/glibc-functions/process_vm_readv.texi: New file.
8017         * doc/glibc-functions/process_vm_writev.texi: New file.
8018         * doc/glibc-functions/recvmmsg.texi: New file.
8019         * doc/glibc-functions/scandirat.texi: New file.
8020         * doc/glibc-functions/sendmmsg.texi: New file.
8021         * doc/glibc-functions/setns.texi: New file.
8022         * doc/glibc-functions/timespec_get.texi: New file.
8023         * doc/gnulib.texi: Include them.
8024         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
8025         sections.
8026         Reported by Eric Blake.
8027
8028 2012-02-28  Bruno Haible  <bruno@clisp.org>
8029
8030         Avoid compilation errors with MSVC option -fp:strict.
8031         * lib/floor.c: Use MSVC specific pragma fenv_access.
8032         * lib/ceil.c: Likewise.
8033         * lib/trunc.c: Likewise.
8034         * lib/round.c: Likewise.
8035         * lib/rint.c: Likewise.
8036         * lib/fma.c: Likewise.
8037         * lib/integer_length.c: Likewise.
8038         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8039         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8040         * tests/test-floor2.c: Likewise.
8041         * tests/test-floorf2.c: Likewise.
8042         * tests/test-ceil2.c: Likewise.
8043         * tests/test-ceilf2.c: Likewise.
8044         * tests/test-trunc2.c: Likewise.
8045         * tests/test-truncf2.c: Likewise.
8046         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8047
8048 2012-02-27  Bruno Haible  <bruno@clisp.org>
8049
8050         Tests for module 'sqrtl-ieee'.
8051         * modules/sqrtl-ieee-tests: New file.
8052         * tests/test-sqrtl-ieee.c: New file.
8053
8054         New module 'sqrtl-ieee'.
8055         * modules/sqrtl-ieee: New file.
8056
8057         Tests for module 'sqrt-ieee'.
8058         * modules/sqrt-ieee-tests: New file.
8059         * tests/test-sqrt-ieee.c: New file.
8060
8061         New module 'sqrt-ieee'.
8062         * modules/sqrt-ieee: New file.
8063
8064         Tests for module 'sqrtf-ieee'.
8065         * modules/sqrtf-ieee-tests: New file.
8066         * tests/test-sqrtf-ieee.c: New file.
8067         * tests/test-sqrt-ieee.h: New file.
8068
8069         New module 'sqrtf-ieee'.
8070         * modules/sqrtf-ieee: New file.
8071
8072 2012-02-27  Bruno Haible  <bruno@clisp.org>
8073
8074         remainderl-ieee: Work around test failure on OSF/1.
8075         * m4/remainderl-ieee.m4: New file.
8076         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
8077         present, test whether remainderl works with a zero second argument.
8078         Replace it if not.
8079         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
8080         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
8081         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
8082         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
8083         (Depends-on): Update conditions.
8084         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
8085         (Depends-on): Add remainder-ieee.
8086         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
8087         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
8088         module.
8089
8090         remainderf-ieee: Work around test failure on OSF/1.
8091         * m4/remainderf-ieee.m4: New file.
8092         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
8093         present, test whether remainderf works with a zero second argument.
8094         Replace it if not.
8095         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
8096         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
8097         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
8098         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
8099         (Depends-on): Update conditions.
8100         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
8101         (Depends-on): Add remainder-ieee.
8102         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
8103         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
8104         module.
8105
8106         remainder-ieee: Work around test failure on OSF/1.
8107         * m4/remainder-ieee.m4: New file.
8108         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
8109         present, test whether remainder works with a zero second argument.
8110         Replace it if not.
8111         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
8112         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
8113         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
8114         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
8115         (Depends-on): Update dependencies.
8116         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
8117         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
8118         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
8119
8120         Tests for module 'remainderl-ieee'.
8121         * modules/remainderl-ieee-tests: New file.
8122         * tests/test-remainderl-ieee.c: New file.
8123
8124         New module 'remainderl-ieee'.
8125         * modules/remainderl-ieee: New file.
8126
8127         Tests for module 'remainder-ieee'.
8128         * modules/remainder-ieee-tests: New file.
8129         * tests/test-remainder-ieee.c: New file.
8130
8131         New module 'remainder-ieee'.
8132         * modules/remainder-ieee: New file.
8133
8134         Tests for module 'remainderf-ieee'.
8135         * modules/remainderf-ieee-tests: New file.
8136         * tests/test-remainderf-ieee.c: New file.
8137         * tests/test-remainder-ieee.h: New file.
8138
8139         New module 'remainderf-ieee'.
8140         * modules/remainderf-ieee: New file.
8141
8142 2012-02-27  Bruno Haible  <bruno@clisp.org>
8143
8144         modff, modfl: Fix configure syntax error.
8145         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
8146         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
8147
8148 2012-02-27  Bruno Haible  <bruno@clisp.org>
8149
8150         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
8151         * m4/fmodl-ieee.m4: New file.
8152         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
8153         whether fmodl works with zero arguments. Replace it if not.
8154         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
8155         (Depends-on): Add fmod-ieee.
8156         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
8157         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
8158
8159         fmodf-ieee: Work around test failure on OSF/1.
8160         * m4/fmodf-ieee.m4: New file.
8161         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
8162         whether fmodf works with zero arguments. Replace it if not.
8163         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
8164         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
8165         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
8166         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
8167         (Depends-on): Update dependencies.
8168         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
8169         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
8170         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
8171
8172         fmodf-ieee: Work around test failure on MSVC 9.
8173         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
8174         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
8175
8176         fmod-ieee: Work around test failures on OSF/1, mingw.
8177         * m4/fmod-ieee.m4: New file.
8178         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
8179         whether fmod works with zero arguments. Replace it if not.
8180         * lib/math.in.h (fmod): New declaration.
8181         * lib/fmod.c: New file.
8182         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
8183         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
8184         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
8185         * modules/fmod (Files): Add lib/fmod.c.
8186         (Depends-on): Add math, isinf, trunc, fma.
8187         (configure.ac): Arrange to compile lib/fmod.c if needed.
8188         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
8189         m4/signbit.m4.
8190         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
8191         * tests/test-math-c++.cc: Check the declaration of fmod.
8192         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
8193
8194         fmodl-ieee: Fix test failures.
8195         * lib/fmodl.c (fmodl): Treat Inf specially.
8196         * modules/fmodl (Depends-on): Add isinf.
8197
8198         Tests for module 'fmodl-ieee'.
8199         * modules/fmodl-ieee-tests: New file.
8200         * tests/test-fmodl-ieee.c: New file.
8201
8202         New module 'fmodl-ieee'.
8203         * modules/fmodl-ieee: New file.
8204
8205         Tests for module 'fmod-ieee'.
8206         * modules/fmod-ieee-tests: New file.
8207         * tests/test-fmod-ieee.c: New file.
8208
8209         New module 'fmod-ieee'.
8210         * modules/fmod-ieee: New file.
8211
8212         Tests for module 'fmodf-ieee'.
8213         * modules/fmodf-ieee-tests: New file.
8214         * tests/test-fmodf-ieee.c: New file.
8215         * tests/test-fmod-ieee.h: New file.
8216
8217         New module 'fmodf-ieee'.
8218         * modules/fmodf-ieee: New file.
8219
8220 2012-02-27  Bruno Haible  <bruno@clisp.org>
8221
8222         Tests for module 'rintl-ieee'.
8223         * modules/rintl-ieee-tests: New file.
8224         * tests/test-rintl-ieee.c: New file.
8225
8226         New module 'rintl-ieee'.
8227         * modules/rintl-ieee: New file.
8228
8229         Tests for module 'rint-ieee'.
8230         * modules/rint-ieee-tests: New file.
8231         * tests/test-rint-ieee.c: New file.
8232
8233         New module 'rint-ieee'.
8234         * modules/rint-ieee: New file.
8235
8236         Tests for module 'rintf-ieee'.
8237         * modules/rintf-ieee-tests: New file.
8238         * tests/test-rintf-ieee.c: New file.
8239         * tests/test-rint-ieee.h: New file.
8240
8241         New module 'rintf-ieee'.
8242         * modules/rintf-ieee: New file.
8243
8244 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
8245
8246         regex: re_search etc. should return -2 when memory exhausted
8247         This bug was uncovered when testing 'grep'.  Without the fix,
8248         re_search and friends return -1 when memory is exhausted, but -1
8249         means no match, and this causes grep to falsely report no-match
8250         instead of memory-exhaustion.  See
8251         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
8252         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
8253         trouble; this can occur if re_search_internal ran out of memory.
8254
8255 2012-02-26  Bruno Haible  <bruno@clisp.org>
8256
8257         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
8258         * m4/modfl-ieee.m4: New file.
8259         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
8260         whether modfl works with Inf. Replace it if not.
8261         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
8262         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
8263         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
8264         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
8265         (Depends-on): Update dependencies.
8266         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
8267         m4/signbit.m4.
8268         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
8269         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
8270
8271         modfl-ieee: Fix dependencies.
8272         * modules/modfl-ieee (Depends-on): Add modf-ieee.
8273
8274         modfl-ieee: Fix test failures.
8275         * lib/modfl.c (modfl): Treat NaN and Inf specially.
8276         * modules/modfl (Depends-on): Add isfinite, isinf.
8277
8278         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
8279         * m4/modff-ieee.m4: New file.
8280         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
8281         whether modff works with NaN and Inf. Replace it if not.
8282         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
8283         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
8284         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
8285         * modules/modff (configure.ac): Consider REPLACE_MODFF.
8286         (Depends-on): Update dependencies.
8287         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
8288         m4/signbit.m4.
8289         (Depends-on): Add modf-ieee.
8290         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
8291         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
8292
8293         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
8294         * m4/modf-ieee.m4: New file.
8295         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
8296         whether modf works with NaN and Inf. Replace it if not.
8297         * lib/math.in.h (modf): New declaration.
8298         * lib/modf.c: New file.
8299         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
8300         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
8301         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
8302         * modules/modf (Files): Add lib/modf.c.
8303         (Depends-on): Add math, isfinite, trunc, isinf.
8304         (configure.ac): Addrange to compile lib/modf.c if needed.
8305         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
8306         m4/signbit.m4.
8307         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
8308         * tests/test-math-c++.cc: Check the declaration of modf.
8309         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
8310
8311         Tests for module 'modfl-ieee'.
8312         * modules/modfl-ieee-tests: New file.
8313         * tests/test-modfl-ieee.c: New file.
8314
8315         New module 'modfl-ieee'.
8316         * modules/modfl-ieee: New file.
8317
8318         Tests for module 'modf-ieee'.
8319         * modules/modf-ieee-tests: New file.
8320         * tests/test-modf-ieee.c: New file.
8321
8322         New module 'modf-ieee'.
8323         * modules/modf-ieee: New file.
8324
8325         Tests for module 'modff-ieee'.
8326         * modules/modff-ieee-tests: New file.
8327         * tests/test-modff-ieee.c: New file.
8328         * tests/test-modf-ieee.h: New file.
8329
8330         New module 'modff-ieee'.
8331         * modules/modff-ieee: New file.
8332
8333 2012-02-26  Bruno Haible  <bruno@clisp.org>
8334
8335         Tests for module 'fabsl-ieee'.
8336         * modules/fabsl-ieee-tests: New file.
8337         * tests/test-fabsl-ieee.c: New file.
8338
8339         New module 'fabsl-ieee'.
8340         * modules/fabsl-ieee: New file.
8341
8342         Tests for module 'fabs-ieee'.
8343         * modules/fabs-ieee-tests: New file.
8344         * tests/test-fabs-ieee.c: New file.
8345
8346         New module 'fabs-ieee'.
8347         * modules/fabs-ieee: New file.
8348
8349         Tests for module 'fabsf-ieee'.
8350         * modules/fabsf-ieee-tests: New file.
8351         * tests/test-fabsf-ieee.c: New file.
8352         * tests/test-fabs-ieee.h: New file.
8353
8354         New module 'fabsf-ieee'.
8355         * modules/fabsf-ieee: New file.
8356
8357 2012-02-26  Bruno Haible  <bruno@clisp.org>
8358
8359         Tests for module 'fmal-ieee'.
8360         * modules/fmal-ieee-tests: New file.
8361         * tests/test-fmal-ieee.c: New file.
8362
8363         New module 'fmal-ieee'.
8364         * modules/fmal-ieee: New file.
8365
8366         Tests for module 'fma-ieee'.
8367         * modules/fma-ieee-tests: New file.
8368         * tests/test-fma-ieee.c: New file.
8369
8370         New module 'fma-ieee'.
8371         * modules/fma-ieee: New file.
8372
8373         Tests for module 'fmaf-ieee'.
8374         * modules/fmaf-ieee-tests: New file.
8375         * tests/test-fmaf-ieee.c: New file.
8376         * tests/test-fma-ieee.h: New file.
8377
8378         New module 'fmaf-ieee'.
8379         * modules/fmaf-ieee: New file.
8380
8381 2012-02-26  Bruno Haible  <bruno@clisp.org>
8382
8383         Tests for module 'ldexpl-ieee'.
8384         * modules/ldexpl-ieee-tests: New file.
8385         * tests/test-ldexpl-ieee.c: New file.
8386
8387         New module 'ldexpl-ieee'.
8388         * modules/ldexpl-ieee: New file.
8389
8390         Tests for module 'ldexp-ieee'.
8391         * modules/ldexp-ieee-tests: New file.
8392         * tests/test-ldexp-ieee.c: New file.
8393
8394         New module 'ldexp-ieee'.
8395         * modules/ldexp-ieee: New file.
8396
8397         Tests for module 'ldexpf-ieee'.
8398         * modules/ldexpf-ieee-tests: New file.
8399         * tests/test-ldexpf-ieee.c: New file.
8400         * tests/test-ldexp-ieee.h: New file.
8401
8402         New module 'ldexpf-ieee'.
8403         * modules/ldexpf-ieee: New file.
8404
8405 2012-02-26  Bruno Haible  <bruno@clisp.org>
8406
8407         Refactor frexp*-ieee tests.
8408         * tests/test-frexp-ieee.h: New file.
8409         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
8410         (main): Just call test_function.
8411         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
8412         (main): Just call test_function.
8413         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
8414         (main): Just call test_function.
8415         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
8416         * modules/frexp-ieee-tests (Files): Likewise.
8417         * modules/frexpl-ieee-tests (Files): Likewise.
8418
8419         Tests for module 'frexpl-ieee'.
8420         * modules/frexpl-ieee-tests: New file.
8421         * tests/test-frexpl-ieee.c: New file.
8422
8423         New module 'frexpl-ieee'.
8424         * modules/frexpl-ieee: New file.
8425
8426         Tests for module 'frexp-ieee'.
8427         * modules/frexp-ieee-tests: New file.
8428         * tests/test-frexp-ieee.c: New file.
8429
8430         New module 'frexp-ieee'.
8431         * modules/frexp-ieee: New file.
8432
8433         Tests for module 'frexpf-ieee'.
8434         * modules/frexpf-ieee-tests: New file.
8435         * tests/test-frexpf-ieee.c: New file.
8436
8437         New module 'frexpf-ieee'.
8438         * modules/frexpf-ieee: New file.
8439
8440 2012-02-26  Bruno Haible  <bruno@clisp.org>
8441
8442         roundl-ieee tests: More tests.
8443         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
8444         (main): Add tests for [MX] shaded specification in POSIX.
8445         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8446         (Depends-on): Add isnanl-nolibm.
8447
8448         round-ieee tests: More tests.
8449         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
8450         (main): Add tests for [MX] shaded specification in POSIX.
8451         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8452         (Depends-on): Add isnand-nolibm.
8453
8454         roundf-ieee tests: More tests.
8455         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
8456         (main): Add tests for [MX] shaded specification in POSIX.
8457         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8458         (Depends-on): Add isnanf-nolibm.
8459
8460         truncl-ieee tests: More tests.
8461         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
8462         (main): Add tests for [MX] shaded specification in POSIX.
8463         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8464         (Depends-on): Add isnanl-nolibm.
8465
8466         trunc-ieee tests: More tests.
8467         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
8468         (main): Add tests for [MX] shaded specification in POSIX.
8469         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8470         (Depends-on): Add isnand-nolibm.
8471
8472         truncf-ieee tests: More tests.
8473         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
8474         (main): Add tests for [MX] shaded specification in POSIX.
8475         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8476         (Depends-on): Add isnanf-nolibm.
8477
8478         ceill-ieee tests: More tests.
8479         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
8480         (main): Add tests for [MX] shaded specification in POSIX.
8481         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8482         (Depends-on): Add isnanl-nolibm.
8483
8484         ceil-ieee tests: More tests.
8485         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
8486         (main): Add tests for [MX] shaded specification in POSIX.
8487         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8488         (Depends-on): Add isnand-nolibm.
8489
8490         ceilf-ieee tests: More tests.
8491         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
8492         (main): Add tests for [MX] shaded specification in POSIX.
8493         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8494         (Depends-on): Add isnanf-nolibm.
8495
8496         floorl-ieee tests: More tests.
8497         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
8498         (main): Add tests for [MX] shaded specification in POSIX.
8499         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8500         (Depends-on): Add isnanl-nolibm.
8501
8502         floor-ieee tests: More tests.
8503         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
8504         (main): Add tests for [MX] shaded specification in POSIX.
8505         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8506         (Depends-on): Add isnand-nolibm.
8507
8508         floorf-ieee tests: More tests.
8509         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
8510         (main): Add tests for [MX] shaded specification in POSIX.
8511         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8512         (Depends-on): Add isnanf-nolibm.
8513
8514 2012-02-26  Bruno Haible  <bruno@clisp.org>
8515
8516         fpieee: More comments.
8517         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
8518
8519 2012-02-25  Bruno Haible  <bruno@clisp.org>
8520
8521         Tests for module 'log10l'.
8522         * modules/log10l-tests: New file.
8523         * tests/test-log10l.c: New file.
8524         * tests/test-math-c++.cc: Check the declaration of log10l.
8525
8526         New module 'log10l'.
8527         * lib/math.in.h (log10l): New declaration.
8528         * lib/log10l.c: New file.
8529         * m4/log10l.m4: New file.
8530         * modules/log10l: New file.
8531         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
8532         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
8533         HAVE_DECL_LOG10L.
8534         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
8535         HAVE_DECL_LOG10L.
8536         * doc/posix-functions/log10l.texi: Mention the new module.
8537
8538 2012-02-25  Bruno Haible  <bruno@clisp.org>
8539
8540         fmodl, remainder*: Avoid wrong results due to rounding errors.
8541         * lib/fmodl.c (fmodl): Correct the result if it is not within the
8542         expected bounds.
8543         * lib/remainderf.c (remainderf): Likewise.
8544         * lib/remainder.c (remainder): Likewise.
8545         * lib/remainderl.c (remainderl): Likewise.
8546
8547 2012-02-25  Bruno Haible  <bruno@clisp.org>
8548
8549         Tests for module 'remainderl'.
8550         * modules/remainderl-tests: New file.
8551         * tests/test-remainderl.c: New file.
8552         * tests/test-math-c++.cc: Check the declaration of remainderl.
8553
8554         New module 'remainderl'.
8555         * lib/math.in.h (remainderl): New declaration.
8556         * lib/remainderl.c: New file.
8557         * m4/remainderl.m4: New file.
8558         * modules/remainderl: New file.
8559         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
8560         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
8561         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
8562         HAVE_REMAINDERL.
8563         * doc/posix-functions/remainderl.texi: Mention the new module.
8564
8565 2012-02-25  Bruno Haible  <bruno@clisp.org>
8566
8567         Tests for module 'remainderf'.
8568         * modules/remainderf-tests: New file.
8569         * tests/test-remainderf.c: New file.
8570         * tests/test-math-c++.cc: Check the declaration of remainderf.
8571
8572         New module 'remainderf'.
8573         * lib/math.in.h (remainderf): New declaration.
8574         * lib/remainderf.c: New file.
8575         * m4/remainderf.m4: New file.
8576         * modules/remainderf: New file.
8577         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
8578         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
8579         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
8580         HAVE_REMAINDERF.
8581         * doc/posix-functions/remainderf.texi: Mention the new module.
8582
8583 2012-02-25  Bruno Haible  <bruno@clisp.org>
8584
8585         remainder: Support for MSVC.
8586         * lib/math.in.h (remainder): New declaration.
8587         * lib/remainder.c: New file.
8588         * m4/remainder.m4: New file.
8589         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
8590         (Depends-on): Add math, round, fma.
8591         (configure.ac): Use results of gl_FUNC_REMAINDER.
8592         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
8593         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
8594         HAVE_DECL_REMAINDER.
8595         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
8596         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
8597         * tests/test-math-c++.cc: Check the declaration of remainder.
8598         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
8599         problems are fixed.
8600
8601 2012-02-25  Bruno Haible  <bruno@clisp.org>
8602
8603         Tests for module 'fmodl'.
8604         * modules/fmodl-tests: New file.
8605         * tests/test-fmodl.c: New file.
8606         * tests/test-math-c++.cc: Check the declaration of fmodl.
8607
8608         New module 'fmodl'.
8609         * lib/math.in.h (fmodl): New declaration.
8610         * lib/fmodl.c: New file.
8611         * m4/fmodl.m4: New file.
8612         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
8613         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
8614         REPLACE_FMODL.
8615         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
8616         REPLACE_FMODL.
8617         * modules/fmodl: New file.
8618         * doc/posix-functions/fmodl.texi: Mention the new module.
8619
8620 2012-02-25  Bruno Haible  <bruno@clisp.org>
8621
8622         Tests for module 'modfl'.
8623         * modules/modfl-tests: New file.
8624         * tests/test-modfl.c: New file.
8625         * tests/test-math-c++.cc: Check the declaration of modfl.
8626
8627         New module 'modfl'.
8628         * lib/math.in.h (modfl): New declaration.
8629         * lib/modfl.c: New file.
8630         * m4/modfl.m4: New file.
8631         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
8632         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
8633         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
8634         * modules/modfl: New file.
8635         * doc/posix-functions/modfl.texi: Mention the new module.
8636
8637 2012-02-25  Bruno Haible  <bruno@clisp.org>
8638
8639         Tests for module 'fabsl'.
8640         * modules/fabsl-tests: New file.
8641         * tests/test-fabsl.c: New file.
8642         * tests/test-math-c++.cc: Check the declaration of fabsl.
8643
8644         New module 'fabsl'.
8645         * lib/math.in.h (fabsl): New declaration.
8646         * lib/fabsl.c: New file.
8647         * m4/fabsl.m4: New file.
8648         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
8649         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
8650         REPLACE_FABSL.
8651         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
8652         REPLACE_FABSL.
8653         * modules/fabsl: New file.
8654         * doc/posix-functions/fabsl.texi: Mention the new module.
8655
8656 2012-02-25  Bruno Haible  <bruno@clisp.org>
8657
8658         fabs tests: More tests.
8659         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
8660         (zero): New variable.
8661         (main): Add tests for signed zero.
8662         * modules/fabs-tests (Files): Add tests/minus-zero.h.
8663
8664         fabsf tests: More tests.
8665         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
8666         (zero): New variable.
8667         (main): Add tests for signed zero.
8668         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
8669
8670 2012-02-24  Bruno Haible  <bruno@clisp.org>
8671
8672         atanl: Provide function definition on MSVC.
8673         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
8674         function pointer.
8675         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
8676
8677 2012-02-24  Bruno Haible  <bruno@clisp.org>
8678
8679         acosl: Provide function definition on MSVC.
8680         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
8681         function pointer.
8682         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
8683
8684 2012-02-24  Bruno Haible  <bruno@clisp.org>
8685
8686         asinl: Provide function definition on MSVC.
8687         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
8688         function pointer.
8689         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
8690
8691 2012-02-24  Bruno Haible  <bruno@clisp.org>
8692
8693         tanl: Provide function definition on MSVC.
8694         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
8695         function pointer.
8696         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
8697
8698 2012-02-24  Bruno Haible  <bruno@clisp.org>
8699
8700         cosl: Provide function definition on MSVC.
8701         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
8702         function pointer.
8703         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
8704
8705 2012-02-24  Bruno Haible  <bruno@clisp.org>
8706
8707         sinl: Provide function definition on MSVC.
8708         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
8709         function pointer.
8710         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
8711
8712 2012-02-24  Bruno Haible  <bruno@clisp.org>
8713
8714         logl: Provide function definition on MSVC.
8715         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
8716         function pointer.
8717         * lib/math.in.h (logl): Undefine if it does not exist as a function.
8718
8719 2012-02-24  Bruno Haible  <bruno@clisp.org>
8720
8721         expl: Provide function definition on MSVC.
8722         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
8723         function pointer.
8724         * lib/math.in.h (expl): Undefine if it does not exist as a function.
8725
8726 2012-02-24  Bruno Haible  <bruno@clisp.org>
8727
8728         sqrtl: Provide function definition on MSVC.
8729         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
8730         a function pointer.
8731         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
8732
8733 2012-02-24  Bruno Haible  <bruno@clisp.org>
8734
8735         ceill: Provide function definition on MSVC.
8736         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
8737         used as a function pointer.
8738         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
8739
8740 2012-02-24  Bruno Haible  <bruno@clisp.org>
8741
8742         floorl: Provide function definition on MSVC.
8743         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
8744         used as a function pointer.
8745         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
8746
8747 2012-02-24  Bruno Haible  <bruno@clisp.org>
8748
8749         ceilf: Provide function definition on MSVC.
8750         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
8751         used as a function pointer.
8752         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
8753
8754 2012-02-24  Bruno Haible  <bruno@clisp.org>
8755
8756         floorf: Provide function definition on MSVC.
8757         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
8758         used as a function pointer.
8759         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
8760
8761 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8762
8763         stdnoreturn: new module
8764         This implements a replacement for C11's <stdnoreturn.h>.
8765         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
8766         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
8767         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8768         * tests/test-stdnoreturn.c: New files.
8769
8770 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
8771
8772         regex: fix false multibyte matches in some regular expressions
8773         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
8774         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
8775         * lib/regex_internal.c (re_string_skip_chars):
8776         Fix miscomputation of remain_len that may cause incomplete
8777         multi-byte character and false match.
8778
8779 2012-02-24  Jim Meyering  <meyering@redhat.com>
8780
8781         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
8782         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
8783         uses with "==" *before* the call, e.g., 0 == strcmp (...)
8784         Remove now-unnecessary str''cmp obfuscation.
8785         Suggested by Akim Demaille.
8786
8787 2012-02-24  Bruno Haible  <bruno@clisp.org>
8788
8789         streq: Rename macro.
8790         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
8791         * NEWS: Mention the change.
8792         * lib/mbrtowc.c (mbrtowc): Update.
8793         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
8794         * lib/wcwidth.c (wcwidth): Update.
8795         Suggested by Akim Demaille and Jim Meyering.
8796
8797 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
8798
8799         regex: fix typo in definition of MIN
8800         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
8801         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
8802
8803 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8804             Bruno Haible  <bruno@clisp.org>
8805
8806         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
8807         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
8808         entries into a stack-allocated buffer directly.
8809         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
8810
8811 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8812             Bruno Haible  <bruno@clisp.org>
8813
8814         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
8815
8816          - There were several instances of this pattern:
8817
8818              for (;;) {
8819                n = acl (f, GETACLCNT, 0, NULL);
8820                [ allocate an array A of size N ]
8821                if (acl (f, GETACL, n, a) == n)
8822                  break;
8823              }
8824
8825            This loop might never terminate if some other process is constantly
8826            manipulating the file's ACL.  The loop should be rewritten to
8827            terminate.
8828
8829          - The acl (... GETACLNT ...) call is merely an optimization; its value
8830            is merely a hint as to how big to make the array.  A better
8831            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
8832            and just guess a reasonably-big size, growing the size and trying
8833            again if it's not large enough.  This guarantees termination, and
8834            saves a system call.
8835
8836         * lib/acl-internal.h: Include <limits.h>.
8837         (MIN, SIZE_MAX): New macros.
8838         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
8839         a stack-allocated buffer, and use malloc if it does not fit. Don't
8840         use GETACLCNT.
8841         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8842
8843 2012-02-19  Bruno Haible  <bruno@clisp.org>
8844
8845         acl: Fix endless loop on Solaris with vxfs.
8846         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
8847         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
8848         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8849         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
8850         * tests/test-sameacls.c (main)[Solaris]: Likewise.
8851         Reported by Bill Jones in
8852         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
8853
8854 2012-02-19  Bruno Haible  <bruno@clisp.org>
8855
8856         acl: Fix copy-acl test failure on Solaris 11 2011-11.
8857         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
8858         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
8859         that this function returns 0 in some more cases.
8860
8861 2012-02-19  Bruno Haible  <bruno@clisp.org>
8862
8863         acl: Update doc references.
8864         * doc/acl-resources.txt: Update links to Solaris documentation.
8865
8866 2012-02-19  Bruno Haible  <bruno@clisp.org>
8867
8868         Fix test failure in many locales on Solaris 11.
8869         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
8870         'tr' arguments.
8871         * tests/test-pipe-filter-ii1.c (main): Likewise.
8872         * build-aux/bootstrap (check_versions): Run 'tr' command with range
8873         expressions in the C locale.
8874         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8875         * m4/host-os.m4 (gl_HOST_OS): Likewise.
8876
8877 2012-02-19  Bruno Haible  <bruno@clisp.org>
8878
8879         gnulib-tool: Improve usage message.
8880         * gnulib-tool (func_usage): Move doc of --help and --version to the
8881         section "Operation modes".
8882
8883 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
8884
8885         README-release: make it easier to execute commands
8886         * top/README-release: break commands out on to separate lines.
8887
8888 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
8889
8890         GNUmakefile: simplify detection of unconfigured trees
8891         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
8892         whether the tree make is being run from is already configured or
8893         not.  Related simplifications.
8894
8895 2012-02-13  Simon Josefsson  <simon@josefsson.org>
8896
8897         * gnulib-tool (func_usage): Document --help and --version.
8898
8899 2012-02-11  Jim Meyering  <meyering@redhat.com>
8900
8901         bootstrap: don't exit 0 upon gnulib-tool failure
8902         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
8903         its exit status, not 0.
8904
8905 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
8906
8907         README-release: various improvements
8908         * top/README-release: Give a command to push changes for the
8909         release.  Add "distcheck" to list of other pre-release checks.
8910         Fix instance of "make stable" which should be "make TYPE".
8911
8912 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
8913
8914         maint: replace FSF snail-mail addresses with URLs
8915         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
8916         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
8917         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
8918         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
8919         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
8920         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
8921         * lib/check-version.c, lib/check-version.h, lib/config.charset:
8922         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
8923         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
8924         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
8925         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
8926         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
8927         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
8928         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
8929         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
8930         * lib/glthread/thread.c, lib/glthread/thread.h:
8931         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
8932         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
8933         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
8934         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
8935         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
8936         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
8937         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
8938         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
8939         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
8940         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
8941         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
8942         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
8943         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
8944         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
8945         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
8946         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
8947         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
8948         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
8949         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
8950         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
8951         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
8952         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
8953         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
8954         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
8955         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
8956         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
8957         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
8958         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
8959         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
8960         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
8961         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
8962         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
8963         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
8964         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
8965         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
8966         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
8967         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
8968         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
8969         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
8970         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
8971         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
8972         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
8973         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
8974         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
8975         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
8976         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
8977         * tests/test-poll.c, tests/test-quotearg-simple.c:
8978         * tests/test-quotearg.c, tests/test-quotearg.h:
8979         * tests/test-round-ieee.c, tests/test-round1.c:
8980         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
8981         * tests/test-roundl-ieee.c, tests/test-roundl.c:
8982         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
8983         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
8984         * tests/test-strerror.c, tests/test-strerror_r.c:
8985         * tests/test-strsignal.c, tests/test-strverscmp.c:
8986         * tests/test-xmemdup0.c:
8987         Replace FSF snail mail addresses with URLs, as per GNU coding
8988         standards.  See glibc bug
8989         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
8990
8991 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
8992
8993         README-release: capitalize a word and split a line
8994         * top/README-release: Fix punctuation and spacing.
8995
8996 2012-02-08  Akim Demaille  <demaille@gostai.com>
8997
8998         fatal-signal: use C prototypes (with explicit void).
8999         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
9000         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
9001
9002 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
9003
9004         regex: spelling fix
9005         * lib/regexec.c: spelling fix
9006
9007         regex: rely on stdint.h for SIZE_MAX
9008         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
9009
9010 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
9011
9012         regex: merge glibc changes
9013
9014         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
9015         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
9016         (init_word_char): Work even if bitset words are not exactly 32 or
9017         64 bits wide.  Don't assume there are no padding bits.
9018         * lib/regex.c [_LIBC]: Do not include <config.h>.
9019         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
9020         and -Wtype-limits.
9021         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
9022         needless disagreement with glibc.  All uses changed.  Define it to
9023         1 only if _GNU_SOURCE, to match glibc.
9024         (_REG_RM_NAME): Remove; no longer needed, since the names in
9025         question are now all protected by __USE_GNU.
9026         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
9027         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
9028         * lib/regex_internal.h (MIN): New macro.
9029
9030         2012-01-03 Ulrich Drepper <drepper@gmail.com>
9031         * lib/regcomp.c (init_word_char): Optimize regex a bit.
9032
9033         2011-12-30 Jakub Jelinek <jakub@redhat.com>
9034         * lib/regex_internal.c (re_string_fetch_byte_case):
9035         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
9036         is miscompiled, and it turns out it is because of an incorrect
9037         attribute on re_string_fetch_byte_case.  Unlike
9038         re_string_peek_byte_case, this one is really not pure, it modifies
9039         memory (increments pstr->cur_idx), and with the pure attribute GCC
9040         assumed it doesn't and it cached the presumed value of
9041         regexp->cur_idx in a variable across the
9042          for (;; ++i)
9043            {
9044              if (i >= BRACKET_NAME_BUF_SIZE)
9045                return REG_EBRACK;
9046              if (token->type == OP_OPEN_CHAR_CLASS)
9047                ch = re_string_fetch_byte_case (regexp);
9048              else
9049                ch = re_string_fetch_byte (regexp);
9050              if (re_string_eoi(regexp))
9051                return REG_EBRACK;
9052              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
9053                break;
9054              elem->opr.name[i] = ch;
9055            }
9056
9057         2011-11-29 Andreas Schwab <schwab@redhat.com>
9058         * lib/regcomp.c (build_equiv_class):
9059         Fix access after end of search string in regex matcher.
9060
9061         2011-11-12 Ulrich Drepper <drepper@redhat.com>
9062         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
9063
9064         2011-10-12 Ulrich Drepper <drepper@redhat.com>
9065         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
9066
9067         2011-10-11 Ulrich Drepper <drepper@redhat.com>
9068         * lib/regcomp.c (parse_branch, parse_sub_exp):
9069         More regex memory leak fixes and tests.
9070         (parse_sub_exp, parse_bracket_exp):
9071         Fix memory leak for some invalid regular expressions.
9072
9073         2011-05-28 Ulrich Drepper <drepper@gmail.com>
9074         * lib/regex_internal.c, lib/regexec.c:
9075         Fix unnecessary overallocation due to incomplete character.  When
9076         incomplete characters are found at the end of a string the code
9077         ran amok and allocated lots of memory.  Stricter limits are now in
9078         place.
9079
9080         2011-05-20 Reuben Thomas <rrt@sc3d.org>
9081         * lib/regex.h: Update documentation.
9082
9083         2011-05-16 Aharon Robbins <arnold@skeeve.com>
9084         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
9085
9086         2010-05-05 Andreas Schwab <schwab@redhat.com>
9087         * lib/regexec.c (find_collation_sequence_value):
9088         Fix lookup of collation sequence value during regexp matching.
9089
9090         2010-01-22 Ulrich Drepper <drepper@redhat.com>
9091         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
9092
9093         2008-01-16 Ulrich Drepper <drepper@redhat.com>
9094         * lib/regex.h: Cleanup namespace.
9095
9096         2007-11-26 Ulrich Drepper <drepper@redhat.com>
9097         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
9098
9099         2007-08-26 Ulrich Drepper <drepper@redhat.com>
9100         * lib/regex_internal.h: Prevent some declarations and definitions
9101         to be seen when used in tests.
9102
9103         2005-05-06 Ulrich Drepper <drepper@redhat.com>
9104         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
9105         __libc_lock_* macros if not _LIBC.
9106         (struct re_dfa_t): Add lock.
9107
9108 2012-02-07  Eric Blake  <eblake@redhat.com>
9109
9110         maint.mk: also prohibit lower-case @var@
9111         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
9112         lower case, like @top_srcdir@.
9113
9114 2012-02-04  Eric Blake  <eblake@redhat.com>
9115
9116         canonicalize: avoid uninitialized memory use
9117         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
9118         random '/' left in dest.
9119         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
9120
9121 2012-02-04  Bruno Haible  <bruno@clisp.org>
9122
9123         isatty: Fix test failure of ptsname_r on native Windows.
9124         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
9125         and don't set errno.
9126         (isatty): Test first whether fd is valid. Set errno when returning 0.
9127
9128 2012-02-04  Bruno Haible  <bruno@clisp.org>
9129
9130         spawn-pipe tests: Fix a NULL program name in a diagnostic.
9131         * tests/test-spawn-pipe-main.c: Include progname.h.
9132         (main): Invoke set_program_name.
9133         * modules/spawn-pipe-tests (Depends-on): Add progname.
9134
9135         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
9136         * tests/test-nonblocking-socket-main.c: Include progname.h.
9137         (main): Invoke set_program_name.
9138         * modules/nonblocking-socket-tests (Depends-on): Add progname.
9139
9140         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
9141         * tests/test-nonblocking-pipe-main.c: Include progname.h.
9142         (main): Invoke set_program_name.
9143         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
9144
9145 2012-02-04  Eric Blake  <eblake@redhat.com>
9146
9147         canonicalize-lgpl: fix // handling
9148         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
9149
9150         canonicalize: fix // handling
9151         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
9152         /// to //, since only // is special.
9153
9154 2012-02-04  Bruno Haible  <bruno@clisp.org>
9155
9156         ioctl: Fix test failure on native Windows.
9157         * lib/ioctl.c: Include msvc-nothrow.h.
9158         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
9159
9160 2012-02-04  Bruno Haible  <bruno@clisp.org>
9161
9162         fsync: Avoid test failure on native Windows.
9163         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
9164         read-only.
9165
9166 2012-02-04  Bruno Haible  <bruno@clisp.org>
9167
9168         sys_select: Avoid syntax error on OpenBSD 5.0.
9169         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
9170         currently being included, just include the system's <sys/select.h>.
9171
9172 2012-02-04  Bruno Haible  <bruno@clisp.org>
9173
9174         sys_select: Avoid syntax error on OpenBSD 5.0.
9175         * lib/sys_select.in.h: Include <signal.h> only after the include_next
9176         <sys/select.h>, not before.
9177         Reported by Jiri B <jirib@devio.us>.
9178
9179 2012-02-04  Bruno Haible  <bruno@clisp.org>
9180
9181         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
9182         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
9183         global variables.
9184         * tests/test-get-rusage-data.c (main): Likewise.
9185         Reported by Jim Meyering.
9186
9187 2012-02-04  Bruno Haible  <bruno@clisp.org>
9188
9189         stdioext: Fix last commit.
9190         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
9191
9192 2012-02-03  Bruno Haible  <bruno@clisp.org>
9193
9194         stdioext: Add tentative support for Plan9.
9195         * lib/stdio-impl.h: Include <errno.h>.
9196         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
9197         * lib/freadable.c (freadable): Likewise.
9198         * lib/fwritable.c (fwritable): Likewise.
9199         * lib/fbufmode.c (fbufmode): Likewise.
9200         * lib/freading.c (freading): Likewise.
9201         * lib/fwriting.c (fwriting): Likewise.
9202         * lib/freadptr.c (freadptr): Likewise.
9203         * lib/freadseek.c (freadptrinc): Likewise.
9204         * lib/freadahead.c (freadahead): Likewise.
9205         * lib/fpurge.c (fpurge): Likewise.
9206         * lib/fseeko.c (rpl_fseeko): Likewise.
9207         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
9208         Reported by Jens Staal <staal1978@gmail.com>.
9209
9210 2012-02-02  Jim Meyering  <meyering@redhat.com>
9211
9212         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
9213         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
9214         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
9215         not even to try to add the attribute.  Instead, add a pragma to suppress
9216         the suggestion/warning.
9217
9218 2012-01-31  Karl Berry  <karl@gnu.org>
9219
9220         setstate doc: typo.
9221         * doc/posix-functions/setstate.texi (setstate): { not (.
9222
9223 2012-01-31  Bruno Haible  <bruno@clisp.org>
9224
9225         popen: Make more robust on Windows.
9226         * lib/popen.c: On native Windows, use the _popen based code even if
9227         HAVE_POPEN is set.
9228         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
9229         environment variable on native Windows.
9230
9231 2012-01-30  Bruno Haible  <bruno@clisp.org>
9232
9233         pclose: Fix typo.
9234         * lib/stdio.in.h (pclose): Fix typo in warning message.
9235
9236 2012-01-30  Bruno Haible  <bruno@clisp.org>
9237
9238         doc about getlogin_r, setstate.
9239         * doc/posix-functions/getlogin_r.texi: List the incompatible
9240         declaration problem under "not fixed by gnulib".
9241         * doc/posix-functions/setstate.texi: Mention incompatible declaration
9242         problem on Solaris 11 and other platforms.
9243
9244 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
9245             Bruno Haible  <bruno@clisp.org>
9246
9247         poll tests: Make test more robust.
9248         * tests/test-poll.c: Include macros.h.
9249         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
9250         return value of various I/O operations.
9251         * modules/poll-tests (Files): Add tests/macros.h.
9252
9253 2012-01-30  Bruno Haible  <bruno@clisp.org>
9254
9255         sys_stat: Fix support for mingw64 and MSVC.
9256         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
9257         header files already do it.
9258         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
9259         stat itself.
9260         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
9261
9262 2012-01-30  Bruno Haible  <bruno@clisp.org>
9263
9264         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
9265         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
9266         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
9267
9268 2012-01-29  Bruno Haible  <bruno@clisp.org>
9269
9270         quotearg: Fix test failure on MacOS X 10.5.
9271         * tests/test-quotearg-simple.c: Include localcharset.h.
9272         (main): If the locale encoding is not ASCII, bypass the tests of
9273         locale_quoting_style and clocale_quoting_style.
9274         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
9275
9276 2012-01-29  Jim Meyering  <meyering@redhat.com>
9277
9278         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
9279         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
9280         detect uses of canonicalize_file_name.
9281
9282 2012-01-28  Bruno Haible  <bruno@clisp.org>
9283
9284         test-framework-sh: Fix test failure with AIX 7.1 diff.
9285         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
9286         in column 1, like 'diff -c' does.
9287         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
9288         whether 'diff -u' is used. Instead, test whether the output contains
9289         some '@' character.
9290
9291 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
9292
9293         strtoimax: eliminate need for stdint.h, inttypes.h checks
9294         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
9295         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
9296         the prerequisites for a recently-introduced strtoimax test.
9297         I guess this might cause strtoimax to be replaced when not
9298         strictly necessary on older hosts, but this shouldn't introduce
9299         any bugs and it should make Emacs 'configure' faster on typical
9300         modern hosts.  Problem discovered when importing the latest gnulib
9301         to an Emacs test version.
9302         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
9303
9304 2012-01-28  Bruno Haible  <bruno@clisp.org>
9305
9306         sys_time: Override 'struct timeval' on some native Windows platforms.
9307         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
9308         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
9309         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
9310         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
9311         needs to be overridden.
9312         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
9313         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
9314         * tests/test-sys_select.c: Check that the tv_sec member has the same
9315         size as a 'time_t'.
9316         * tests/test-sys_time.c: Likewise.
9317         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
9318         is set, set also REPLACE_GETTIMEOFDAY.
9319         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
9320         convert the resulting 'struct timeval' before returning.
9321         * lib/select.c: Include <sys/time.h>.
9322         (select, timeval): Undefine at the right place.
9323         * modules/select (Depends-on): Add sys_time.
9324         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
9325         some Windows platforms.
9326         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
9327
9328 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
9329
9330         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
9331         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
9332         an integer.
9333         * lib/fcntl.c (dupfd): Likewise.
9334         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
9335
9336 2012-01-28  Bruno Haible  <bruno@clisp.org>
9337
9338         fcntl: Avoid compilation error on native Windows.
9339         * modules/fcntl (Depends-on): Add 'close'.
9340
9341 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
9342
9343         select, poll, isatty: Avoid warnings on x86_64 mingw64.
9344         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
9345         pointer to an integer.
9346         * lib/poll.c (IsConsoleHandle): Likewise.
9347         * lib/isatty.c (IsConsoleHandle): Likewise.
9348
9349 2012-01-28  Jim Meyering  <meyering@redhat.com>
9350
9351         doc: clarify README-release
9352         * top/README-release: Clarify: you should make a point to have
9353         the latest stable versions of build tools in your PATH, and the
9354         reference to buildreq is solely for its list of tool names, not
9355         for its minimal-functional version numbers.
9356         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
9357
9358         maint.mk: use more readable (yet functionally equivalent) quoting
9359         It is common to quote a single quote in a single quoted string like
9360         this:  '...'\''...'.  Unless you know the idiom, that looks like
9361         gibberish, so prefer to double-quote the string when possible.
9362         Then you can use a more readable, lone single quote: "...'..."
9363         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
9364         "don't" is more readable than the equivalent 'don'\''t'.
9365         (sc_cast_of_x_alloc_return_value): Likewise.
9366         (sc_cast_of_alloca_return_value): Likewise.
9367         (sc_makefile_path_separator_check): Similar: use ":" in '...',
9368         rather than '\'':'\''.
9369
9370 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
9371
9372         stdalign: relax _Alignof and tighten _Alignas test
9373         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
9374         as it was too strict: alignof must divide offsetof, but it need
9375         not equal offsetof.  Inspired by Joseph S. Myers's comment
9376         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
9377         Conversely, tighten the _Alignas test a bit, as the resulting
9378         alignment must be exactly 8.
9379
9380 2012-01-27  Bruno Haible  <bruno@clisp.org>
9381
9382         stdalign: Document the last change.
9383         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
9384
9385 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
9386
9387         stdalign: check that alignof and offsetof are consistent
9388         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
9389         Problem reported for gnulib by Richard W.M. Jones in
9390         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
9391
9392 2012-01-27  Jim Meyering  <meyering@redhat.com>
9393
9394         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
9395         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
9396         convert a sequence with gaps to the minimal containing range.
9397         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
9398         * tests/test-update-copyright.sh: Test for this.
9399         The FSF confirmed it is ok to do this, assuming there is at
9400         least one significant change per year in the affected range:
9401         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
9402
9403 2012-01-26  Bruno Haible  <bruno@clisp.org>
9404
9405         pipe2: refine doc about thread-safety
9406         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
9407         multithread-safety problem.
9408         * doc/glibc-functions/accept4.texi: Likewise.
9409
9410 2012-01-26  Bruno Haible  <bruno@clisp.org>
9411
9412         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
9413         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
9414         In the test program, include <fcntl.h>, for O_RDONLY.
9415
9416 2012-01-26  Eric Blake  <eblake@redhat.com>
9417
9418         pipe2: document lack of thread-safety in replacement
9419         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
9420         issue in replacement.
9421         * doc/glibc-functions/accept4.texi (accept4): Likewise.
9422         Based on a report by Eric Wong.
9423
9424 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
9425             Bruno Haible  <bruno@clisp.org>
9426
9427         malloca: Avoid warnings on x86_64 mingw64.
9428         * lib/malloca.c: Include <stdint.h>.
9429         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
9430         * modules/malloca (Depends-on): Add stdint.
9431         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
9432
9433 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
9434
9435         obstack: remove __STDC__ conditionals
9436         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
9437         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
9438         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
9439         m4/include_next.m4 as the only gnulib-maintained places that still
9440         refer to __STDC__.
9441
9442 2012-01-24  Bruno Haible  <bruno@clisp.org>
9443
9444         havelib: Modern quoting.
9445         * build-aux/config.rpath: Quote 'like this', not `like this', as per
9446         the recent change to the GNU coding standards.
9447
9448 2012-01-24  Bruno Haible  <bruno@clisp.org>
9449
9450         stdint: Improve support for Android.
9451         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
9452         Reported by Simon Josefsson <simon@josefsson.org>.
9453
9454 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9455
9456         doc: omit trailing empty lines from INSTALL etc.
9457         * doc/Makefile (INSTALL): Omit trailing empty lines.
9458         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
9459         omit trailing empty lines.  This simplifies the build procedure.
9460
9461 2012-01-23  Jim Meyering  <meyering@redhat.com>
9462
9463         tests: avoid spurious warnings about gl_sockets_startup
9464         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
9465         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
9466         reporting a "statement with no effect".
9467         * tests/test-accept.c (main): Mark as "(void)".
9468         * tests/test-accept4.c (main): Likewise.
9469         * tests/test-bind.c (main): Likewise.
9470         * tests/test-connect.c (main): Likewise.
9471         * tests/test-getpeername.c (main): Likewise.
9472         * tests/test-getsockname.c (main): Likewise.
9473         * tests/test-getsockopt.c (main): Likewise.
9474         * tests/test-listen.c (main): Likewise.
9475         * tests/test-recv.c (main): Likewise.
9476         * tests/test-recvfrom.c (main): Likewise.
9477         * tests/test-send.c (main): Likewise.
9478         * tests/test-sendto.c (main): Likewise.
9479         * tests/test-setsockopt.c (main): Likewise.
9480         * tests/test-shutdown.c (main): Likewise.
9481
9482 2012-01-21  Bruno Haible  <bruno@clisp.org>
9483
9484         locale-fr.m4: Fix for Android.
9485         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
9486         failure of the test program on Bionic libc.
9487
9488 2012-01-21  Jim Meyering  <meyering@redhat.com>
9489
9490         bootstrap: fail when bootstrap_post_import_hook fails
9491         Otherwise, it's far too easy to miss diagnostics emitted
9492         between gnulib-tool's output and that of running configure.
9493         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
9494
9495 2012-01-17  Jim Meyering  <meyering@redhat.com>
9496
9497         maint: enable sc_trailing_blank
9498         * build-aux/pmccabe.css: Remove trailing blanks.
9499         * doc/acl-cygwin.txt: Likewise.
9500         * doc/gnu-oids.texi: Likewise
9501         * cfg.mk: Enable sc_trailing_blank.
9502         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
9503
9504 2012-01-17  Jim Meyering  <meyering@redhat.com>
9505
9506         maint: enable sc_prohibit_openat_without_use
9507         * cfg.mk: Enable sc_prohibit_openat_without_use.
9508         Exempt lib/selinux-at.c.
9509
9510 2012-01-17  Jim Meyering  <meyering@redhat.com>
9511
9512         maint: enable sc_prohibit_cloexec_without_use
9513         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
9514         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
9515
9516 2012-01-17  Jim Meyering  <meyering@redhat.com>
9517
9518         maint: enable sc_prohibit_intprops_without_use
9519         * cfg.mk: Enable sc_prohibit_intprops_without_use
9520         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
9521
9522 2012-01-17  Jim Meyering  <meyering@redhat.com>
9523
9524         maint: enable sc_prohibit_hash_pjw_without_use
9525         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
9526         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
9527         to match any use of \<hash_pjw\>, i.e., not necessarily with a
9528         following " (".
9529
9530 2012-01-17  Jim Meyering  <meyering@redhat.com>
9531
9532         maint: enable double-word-prohibiting rule
9533         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
9534         Exempt three files.
9535
9536 2012-01-17  Jim Meyering  <meyering@redhat.com>
9537
9538         maint: remove empty lines at EOF, but excluding modules/*
9539         Apply syntax rules at home as well as abroad.  Most changes
9540         were induced by running this:
9541           make srcdir=. _build-aux=build-aux -f top/maint.mk \
9542             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
9543             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
9544         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
9545         Exempt modules/* and two binary files.
9546         Also exempt doc/INSTALL*, per request from Bruno Haible.
9547         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
9548         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
9549         * doc/Copyright/request-assign.future: Likewise.
9550         * doc/Copyright/request-disclaim.changes: Likewise.
9551         * doc/INSTALL: Likewise.
9552         * doc/INSTALL.ISO: Likewise.
9553         * doc/INSTALL.UTF-8: Likewise.
9554         * doc/acl-cygwin.txt: Likewise.
9555         * doc/acl-resources.txt: Likewise.
9556         * doc/fdl-1.2.texi: Likewise.
9557         * doc/fdl-1.3.texi: Likewise.
9558         * doc/fdl.texi: Likewise.
9559         * lib/argp-pin.c: Likewise.
9560         * lib/round.c: Likewise.
9561         * lib/unicase/u16-totitle.c: Likewise.
9562         * lib/unictype/block_test.c: Likewise.
9563         * lib/uninorm/canonical-decomposition.c: Likewise.
9564         * m4/README: Likewise.
9565         * m4/relocatable-lib.m4: Likewise.
9566         * tests/test-isnand-nolibm.c: Likewise.
9567         * tests/test-isnand.c: Likewise.
9568         * tests/uninorm/NormalizationTest.txt: Likewise.
9569
9570 2012-01-17  Jim Meyering  <meyering@redhat.com>
9571
9572         maint: add framework to run syntax-check rules against gnulib sources
9573         * cfg.mk: New file, to disable all currently-failing tests.
9574         We'll enable them one by one, as they are made to pass.
9575         * Makefile (sc_maint): New rule.
9576
9577 2012-01-21  Bruno Haible  <bruno@clisp.org>
9578
9579         stdint: Add support for Android.
9580         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
9581         include the system's <stdint.h>.
9582         Reported by Simon Josefsson <simon@josefsson.org>.
9583
9584 2012-01-19  Jim Meyering  <meyering@redhat.com>
9585
9586         bootstrap: add bootstrap_post_import_hook
9587         Bison does still need something like the gnulib_mk_hook whose
9588         invocation I had to remove along with slurp in commit 767ccd40.
9589         Technically, we could get along without it, but doing so would
9590         have required living with a warning and a mandatory post-bootstrap
9591         automake rerun.
9592         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
9593         (bootstrap_post_import_hook): New function.
9594         Invoke it after gnulib-tool --import and before autoreconf.
9595
9596 2012-01-18  Jim Meyering  <meyering@redhat.com>
9597
9598         gitlog-to-changelog: don't use "no_"-prefixed variable name
9599         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
9600         to enable both --cluster and --no-cluster.  Change variable name,
9601         s/\$no_cluster/$cluster/, and reverse usage to match.
9602
9603         gitlog-to-changelog: use "||", not "or" in expressions
9604         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
9605         expressions.
9606
9607 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
9608
9609         gitlog-to-changelog: new option --no-cluster
9610         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
9611         clustering of adjacent commit messages.
9612
9613 2012-01-17  Jim Meyering  <meyering@redhat.com>
9614
9615         maint: spell file systems with two words, not one
9616         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
9617         two words, not one.
9618
9619 2012-01-16  Jim Meyering  <meyering@redhat.com>
9620
9621         bootstrap: add a FIXME comment to ensure we eventually remove the hack
9622         * build-aux/bootstrap (gnulib_tool_options): Add comment.
9623
9624 2012-01-16  Eric Blake  <eblake@redhat.com>
9625
9626         bootstrap: cater to autoconf 2.59
9627         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
9628         is not available.
9629
9630         bootstrap: properly check for libtool
9631         * build-aux/bootstrap (libtoolize): Also run libtool when older
9632         usage is detected.
9633
9634 2012-01-15  Bruno Haible  <bruno@clisp.org>
9635
9636         Improve support for MSVC 9.
9637         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
9638         clashes on MSVC.
9639         * lib/fcntl.in.h: Likewise.
9640         * lib/stdlib.in.h: Likewise.
9641         * lib/sys_stat.in.h: Likewise.
9642
9643 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
9644
9645         gnupload: we hold the master copy of this script now
9646         For motivation and more information, see:
9647         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
9648         * build-aux/gnupload: Make it clear in the heading comments that the
9649         master copy of this file is maintained by gnulib.  Since we are at
9650         it, bump its copyright year and ...
9651         ($scriptversion): ... the date in its version.
9652         ($usage): Patches and bug reports should be sent to the gnulib list,
9653         not the automake one.
9654         * config/srclist.txt: Don't try to sync 'gnupload' from automake
9655         anymore.
9656
9657 2012-01-15  Bruno Haible  <bruno@clisp.org>
9658
9659         Fix module 'random'.
9660         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
9661         initstate, setstate are declared.
9662
9663 2012-01-14  Bruno Haible  <bruno@clisp.org>
9664
9665         Tests for module 'random'.
9666         * modules/random-tests: New file.
9667         * tests/test-random.c: New file, based on tests/test-random_r.c.
9668
9669         New module 'random'.
9670         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
9671         declarations.
9672         * lib/random.c: New file, based on glibc/stdlib/random.c.
9673         * m4/random.m4: New file.
9674         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
9675         HAVE_RANDOM.
9676         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
9677         * modules/random: New file.
9678         * config/srclist.txt: Add an entry for random.c.
9679         * doc/posix-functions/random.texi: Mention the 'random' module.
9680         * doc/posix-functions/initstate.texi: Likewise.
9681         * doc/posix-functions/setstate.texi: Likewise.
9682         * doc/posix-functions/srandom.texi: Likewise.
9683
9684 2012-01-12  Bruno Haible  <bruno@clisp.org>
9685
9686         random_r: Use common idioms.
9687         * lib/random_r.c: Include <stdlib.h> first.
9688
9689         random_r: Override incompatible API on AIX, OSF/1.
9690         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
9691         Override the system function if REPLACE_RANDOM_R is 1.
9692         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
9693         and OSF/1, set REPLACE_RANDOM_R.
9694         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
9695         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
9696         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
9697         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
9698         * doc/glibc-functions/random_r.texi: Likewise.
9699         * doc/glibc-functions/setstate_r.texi: Likewise.
9700
9701         random_r: Support for MSVC 9.
9702         * lib/random_r.c: Include stdint.h, not inttypes.h.
9703
9704 2012-01-12  Eric Blake  <eblake@redhat.com>
9705
9706         inet_ntop: guard extra work by IF_LINT
9707         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
9708         better code generation when not checking for warnings.
9709         Suggested by Paul Eggert and Jim Meyering.
9710
9711         strptime: fix regression on mingw
9712         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
9713         Fix regression.  Reported by Bruno Haible.
9714
9715 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
9716             Bruno Haible  <bruno@clisp.org>
9717
9718         copy-file: add error-code-returning variant.
9719         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
9720         (qcopy_file_preserving): New declaration.
9721         * lib/copy-file.c (qcopy_file_preserving): Renamed from
9722         copy_file_preserving. Change return type to 'int'. Don't emit an error
9723         message here.
9724         (copy_file_preserving): New function.
9725         * tests/test-copy-file.c: Include <stdlib.h>.
9726         (main): Test qcopy_file_preserving if the environment variable
9727         NO_STDERR_OUTPUT is set.
9728         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
9729         with NO_STDERR_OUTPUT
9730         * tests/test-copy-file-2.sh: Likewise.
9731
9732 2012-01-10  Bruno Haible  <bruno@clisp.org>
9733
9734         copy-file: Use 'quote' module consistently.
9735         * lib/copy-file.c (copy_file_preserving): Use quote().
9736
9737         copy-file: Refactor.
9738         * lib/copy-file.c: Include quote.h.
9739         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
9740         message here.
9741         * modules/copy-file (Depends-on): Add quote.
9742
9743         acl: Export qcopy_acl.
9744         * lib/acl.h (qcopy_acl): New declaration.
9745         * lib/copy-acl.c (qcopy_acl): Make non-static.
9746
9747         acl: Rename a local variable.
9748         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
9749
9750         acl: Align return values of copy_acl and qcopy_acl.
9751         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
9752         maybe < -1.
9753
9754 2012-01-11  Eric Blake  <eblake@redhat.com>
9755
9756         strptime: silence gcc warnings
9757         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
9758         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
9759         Reported by Daniel P. Berrange.
9760
9761         inet_ntop: silence gcc warning
9762         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
9763         Reported by Daniel P. Berrange.
9764
9765 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
9766
9767         getloadavg test: skip the test on GNU/Linux without /proc mounted
9768         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
9769         file.  When /proc is not mounted, it always fails with ENOENT.
9770         * tests/test-getloadavg.c (main): Treat ENOENT return code from
9771         getloadavg(3) the same way as ENOSYS and ENOTSUP.
9772
9773 2012-01-10  Bruno Haible  <bruno@clisp.org>
9774
9775         regex: Avoid link error on MSVC 9.
9776         * modules/regex (Depends-on): Add wctype.
9777
9778 2012-01-10  Bruno Haible  <bruno@clisp.org>
9779
9780         doc: Mention --with-tests option.
9781         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
9782         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
9783         --with-tests.
9784         Reported by Reuben Thomas.
9785
9786 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
9787
9788         users.txt: order package names lexicographically.
9789         * users.txt: Order package names lexicographically.
9790
9791 2012-01-10  Jim Meyering  <meyering@redhat.com>
9792
9793         maint.mk: fix description in comment
9794         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
9795
9796         ignore-value: remove deprecated ignore_ptr function
9797         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
9798         * NEWS: Note this.
9799
9800 2012-01-09  Jim Meyering  <meyering@redhat.com>
9801
9802         test-init.sh: avoid a subshell
9803         * tests/test-init.sh: Remove protective subshell.
9804         Suggested by Bernhard Voelker.  While a subshell is normally
9805         required to protect against older shells (Solaris, FreeBSD) that
9806         warn about a missing program before performing redirection, the
9807         shell-selection tests performed by init.sh probably exclude any
9808         offending shell.
9809
9810 2012-01-08  Bruno Haible  <bruno@clisp.org>
9811
9812         setlocale tests: Avoid test failure on Solaris 11 2011-11.
9813         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
9814         variable.
9815
9816 2012-01-08  Bruno Haible  <bruno@clisp.org>
9817
9818         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
9819         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9820         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9821         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
9822         macro.
9823         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
9824         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9825         * lib/spawn_faction_addopen.c: Add workaround implementation if
9826         HAVE_WORKING_POSIX_SPAWN.
9827         * modules/spawn (Makefile): Substitute
9828         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9829         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
9830         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
9831         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9832         (Depends-on): Update conditions.
9833         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
9834         the Solaris 11 bug.
9835
9836 2012-01-08  Bruno Haible  <bruno@clisp.org>
9837
9838         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
9839         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9840         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9841         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
9842         macro.
9843         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
9844         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9845         * lib/spawn_faction_adddup2.c: Add workaround implementation if
9846         HAVE_WORKING_POSIX_SPAWN.
9847         * modules/spawn (Makefile): Substitute
9848         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9849         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
9850         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
9851         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9852         (Depends-on): Update conditions.
9853         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
9854         the Solaris 11 bug.
9855
9856 2012-01-08  Bruno Haible  <bruno@clisp.org>
9857
9858         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
9859         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9860         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9861         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
9862         HAVE_WORKING_POSIX_SPAWN.
9863         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
9864         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
9865         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9866         * lib/spawn_faction_addclose.c: Add workaround implementation if
9867         HAVE_WORKING_POSIX_SPAWN.
9868         * modules/spawn (Makefile): Substitute
9869         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9870         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
9871         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
9872         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9873         (Depends-on): Update conditions.
9874         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
9875         the Solaris 11 bug.
9876
9877 2012-01-08  Bruno Haible  <bruno@clisp.org>
9878
9879         doc: Update for Solaris 11 2011-11.
9880         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
9881         * m4/printf.m4: Update comments.
9882
9883 2012-01-08  Bruno Haible  <bruno@clisp.org>
9884
9885         mktime: Avoid compilation error on Solaris 11.
9886         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
9887
9888 2012-01-08  Bruno Haible  <bruno@clisp.org>
9889
9890         doc: Small fix.
9891         * doc/posix-headers/nl_types.texi: Correct platforms list.
9892
9893 2012-01-08  Simon Josefsson  <simon@josefsson.org>
9894
9895         Add lgpl-3.0 module.
9896         * MODULES.html.sh (Support for building documentation): Add
9897         lgpl-3.0.
9898         * modules/lgpl-3.0: New file.
9899
9900 2012-01-08  Jim Meyering  <meyering@redhat.com>
9901
9902         select.c: indent with spaces, not TABs
9903         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
9904
9905 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9906
9907         quotearg: do not use grave accent for left quote
9908         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
9909         locale_quoting_style.
9910         (quotearg_buffer_restyled): Fix example.
9911         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
9912
9913 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9914
9915         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
9916         Most programs do not have translation catalogs for English and much
9917         less separate catalogs for British and American English.  Drop the
9918         suggestion to translators about these two, and provide it
9919         automatically for Unicode locales.  Like most programs, even those
9920         using American English, we use single quotation marks.  This conflicts
9921         with the American typographic convention, but works better when you
9922         cite the entire error message within double quotes.  It also tries not
9923         to clash with established practice and with what non-gnulib programs
9924         will usually do.
9925         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
9926         using an UTF-8 or GB-18030 locale.  The list of other locales with
9927         quotes was provided by Bruno Haible.
9928         (quotearg_buffer_restyled): Adjust instructions to translators.
9929         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
9930         text, since this would be wrong when using Unicode.
9931         * modules/quotearg: Depend on c-strcaseeq.
9932
9933 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9934
9935         quotearg: fix Wikipedia link
9936         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
9937
9938 2012-01-07  Simon Josefsson  <simon@josefsson.org>
9939
9940         Fix for mingw with MSVC9.
9941         * m4/ld-version-script.m4: Check that compiler rejects version
9942         scripts with syntax errors.  Reported by Bruno Haible
9943         <bruno@clisp.org>.
9944
9945 2012-01-06  Bruno Haible  <bruno@clisp.org>
9946
9947         Talk about "native Windows API", not "Woe32".
9948         * lib/accept4.c: Update comments to mention native Windows.
9949         * lib/execute.c: Likewise.
9950         * lib/fatal-signal.c: Likewise.
9951         * lib/localcharset.c: Likewise.
9952         * lib/nanosleep.c: Likewise.
9953         * lib/nl_langinfo.c: Likewise.
9954         * lib/pclose.c: Likewise.
9955         * lib/pipe-filter-gi.c: Likewise.
9956         * lib/pipe-filter-ii.c: Likewise.
9957         * lib/pipe.c: Likewise.
9958         * lib/pipe2.c: Likewise.
9959         * lib/popen.c: Likewise.
9960         * lib/progreloc.c: Likewise.
9961         * lib/relocatable.c: Likewise.
9962         * lib/sigaction.c: Likewise.
9963         * lib/sigprocmask.c: Likewise.
9964         * lib/spawn-pipe.h: Likewise.
9965         * lib/spawn-pipe.c: Likewise.
9966         * lib/spawni.c: Likewise.
9967         * lib/stat-time.h: Likewise.
9968         * lib/w32spawn.h: Likewise.
9969         * tests/test-isatty.c: Likewise.
9970         * lib/config.charset: More comments.
9971         * doc/gnulib-intro.texi: Mention native Windows.
9972         * doc/posix-functions/_Exit_C99.texi: Likewise.
9973         * doc/posix-headers/fcntl.texi: Likewise.
9974
9975 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
9976
9977         argp: Avoid crash if translator uses % characters in a translation.
9978         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
9979         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9980
9981 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
9982
9983         doc: C11 and C++11 are now official
9984         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
9985         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
9986         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
9987         * modules/stdalign:
9988         Replace references to draft C1X to C11, and to draft C++0X to C++11.
9989
9990 2012-01-06  Bruno Haible  <bruno@clisp.org>
9991
9992         uc-is-grapheme-break tests: Tweak.
9993         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
9994         message.
9995
9996 2012-01-06  Bruno Haible  <bruno@clisp.org>
9997
9998         test-init.sh: correct the test for diff -u
9999         * tests/test-init.sh: Also redirect stdout to /dev/null.
10000
10001 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
10002
10003         Use ', not `, for quoting output.
10004         * build-aux/announce-gen (usage, sizes, print_news_deltas)
10005         (print_changelog_deltas, get_tool_versions, main program):
10006         * build-aux/git-version-gen:
10007         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
10008         * build-aux/move-if-change (help):
10009         * build-aux/useless-if-before-free (usage, main program):
10010         * check-module (parse_module_file, usage)
10011         (find_included_lib_files, check_module):
10012         * lib/argmatch.c (main) [TEST]:
10013         * lib/argp-help.c (_help):
10014         * lib/getopt1.c (main) [TEST]:
10015         * lib/git-merge-changelog.c (usage):
10016         * lib/xstrtol-error.c (xstrtol_error):
10017         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
10018         * m4/argz.m4 (gl_FUNC_ARGZ):
10019         * m4/bison.m4 (gl_BISON):
10020         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
10021         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
10022         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
10023         * m4/fpending.m4 (gl_PREREQ_FPENDING):
10024         * m4/gc-random.m4 (gl_GC_RANDOM):
10025         * m4/intl.m4 (gt_CHECK_DECL):
10026         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
10027         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
10028         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
10029         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
10030         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
10031         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
10032         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
10033         * tests/test-dirname.c (main):
10034         * tests/test-getpass.c (main):
10035         * tests/test-iconvme.c (main):
10036         * tests/test-parse-datetime.c (LOG):
10037         * tests/test-xstrtoimax.sh:
10038         * tests/test-xstrtol.sh:
10039         * tests/test-xstrtoll.sh:
10040         * tests/test-xstrtoumax.sh:
10041         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
10042         * top/GNUmakefile (abort-due-to-no-makefile):
10043         Quote 'like this', not `like this', as per the recent change to
10044         the GNU coding standards.
10045
10046 2012-01-05  Bruno Haible  <bruno@clisp.org>
10047
10048         strtoimax: Don't force a replacement on systems where intmax_t is int.
10049         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
10050         'intmax_t' is not larger than 'int'.
10051         Reported by Pádraig Brady <P@draigBrady.com>.
10052
10053 2012-01-05  Bruno Haible  <bruno@clisp.org>
10054
10055         doc: Mention NetBSD bugs.
10056         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
10057         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
10058
10059 2012-01-05  Bruno Haible  <bruno@clisp.org>
10060
10061         strtoumax tests: Enhance tests.
10062         * tests/test-strtoumax.c (main): Add tests for large values.
10063
10064 2012-01-05  Bruno Haible  <bruno@clisp.org>
10065
10066         strtoimax: Work around AIX 5.1 bug.
10067         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
10068         definition.
10069         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
10070         Set HAVE_STRTOIMAX.
10071         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
10072         REPLACE_STRTOIMAX.
10073         * modules/inttypes-incomplete (Makefile.am): Substitute
10074         REPLACE_STRTOIMAX.
10075         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
10076         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
10077         (Depends-on): Update conditions.
10078         * tests/test-strtoimax.c (main): Add tests for large values.
10079         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
10080
10081 2012-01-05  Bruno Haible  <bruno@clisp.org>
10082
10083         inttypes: Modernize.
10084         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
10085         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
10086         (Makefile.am): Update inttypes.h rule.
10087
10088 2012-01-05  Jim Meyering  <meyering@redhat.com>
10089
10090         init.sh: don't waste a subshell just to redirect stderr
10091         * tests/init.sh: In testing for diff -u and diff -c, use a
10092         stderr-redirecting exec inside `...` rather than a subshell.
10093
10094         test-init.sh: avoid failure on HP-UX 11.00
10095         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
10096         resolves to diff -c or cmp.  Reported by Bruno Haible.
10097
10098 2012-01-05  Bruno Haible  <bruno@clisp.org>
10099
10100         Tests for module 'strtoull'.
10101         * modules/strtoull-tests: New file.
10102         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
10103
10104 2012-01-05  Bruno Haible  <bruno@clisp.org>
10105
10106         Tests for module 'strtoll'.
10107         * modules/strtoll-tests: New file.
10108         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
10109
10110 2012-01-05  Bruno Haible  <bruno@clisp.org>
10111
10112         Tests for module 'strtoul'.
10113         * modules/strtoul-tests: New file.
10114         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
10115
10116 2012-01-05  Bruno Haible  <bruno@clisp.org>
10117
10118         Tests for module 'strtol'.
10119         * modules/strtol-tests: New file.
10120         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
10121
10122 2012-01-04  Jim Meyering  <meyering@redhat.com>
10123
10124         test-init.sh: accommodate Solaris 5.10's different diff -u output
10125         * tests/test-init.sh: Also exempt @@ lines from the comparison
10126         of diff output, since Solaris 5.10 and GNU diff formats differ.
10127         Reported by Stefano Lattarini.
10128
10129 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
10130
10131         test-posixtm: don't assume signed integer wraparound
10132         * tests/test-posixtm.c (main): Don't assume wraparound semantics
10133         after signed integer overflow.  Inspired by (though it may not
10134         fix) Bruno Haible's bug report in
10135         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
10136
10137         Spell out "Windows 9x" and "Windows XP".
10138         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
10139         "Windows 9x" and "WinXP" with "Windows XP".
10140
10141 2012-01-04  Jim Meyering  <meyering@redhat.com>
10142
10143         test-vc-list-files-cvs.sh: remove obsolete comment
10144         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
10145         double exit.  Now that's all encapsulated via skip_ and Exit.
10146
10147 2012-01-04  Bruno Haible  <bruno@clisp.org>
10148
10149         Talk about "native Windows API", not "Win32".
10150         * lib/classpath.c: Update comments to mention native Windows.
10151         * lib/csharpexec.c: Likewise.
10152         * lib/dup2.c: Likewise.
10153         * lib/error.c: Likewise.
10154         * lib/fcntl.c: Likewise.
10155         * lib/filename.h: Likewise.
10156         * lib/findprog.c: Likewise.
10157         * lib/get-rusage-as.c: Likewise.
10158         * lib/get-rusage-data.c: Likewise.
10159         * lib/getpagesize.c: Likewise.
10160         * lib/javaexec.c: Likewise.
10161         * lib/msvc-inval.c: Likewise.
10162         * lib/msvc-nothrow.c: Likewise.
10163         * lib/nanosleep.c: Likewise.
10164         * lib/nonblocking.c: Likewise.
10165         * lib/printf-parse.c: Likewise.
10166         * lib/setlocale.c: Likewise.
10167         * lib/sigaction.c: Likewise.
10168         * lib/strerror_r.c: Likewise.
10169         * lib/tmpdir.c: Likewise.
10170         * lib/vasnprintf.c: Likewise.
10171         * lib/w32spawn.h: Likewise.
10172         * lib/waitpid.c: Likewise.
10173         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
10174         * m4/locale-ar.m4: Likewise.
10175         * m4/locale-fr.m4: Likewise.
10176         * m4/locale-ja.m4: Likewise.
10177         * m4/locale-tr.m4: Likewise.
10178         * m4/locale-zh.m4: Likewise.
10179         * m4/printf.m4: Likewise.
10180         * tests/test-cloexec.c: Likewise.
10181         * tests/test-copy-acl.sh: Likewise.
10182         * tests/test-copy-file.sh: Likewise.
10183         * tests/test-file-has-acl.sh: Likewise.
10184         * tests/test-set-mode-acl.sh: Likewise.
10185         * tests/test-dup-safer.c: Likewise.
10186         * tests/test-dup2.c: Likewise.
10187         * tests/test-dup3.c: Likewise.
10188         * tests/test-fcntl.c: Likewise.
10189         * tests/test-nonblocking-pipe.h: Likewise.
10190         * tests/test-nonblocking-socket.h: Likewise.
10191         * tests/test-pipe.c: Likewise.
10192         * tests/test-pipe2.c: Likewise.
10193         * tests/test-spawn-pipe-child.c: Likewise.
10194         * doc/acl-resources.txt: Likewise.
10195         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
10196         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
10197         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
10198         * lib/localcharset.c: Update comments to mention native Windows.
10199         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
10200         * lib/localename.c: Likewise.
10201         * lib/progreloc.c: Likewise.
10202         * lib/relocatable.c: Likewise.
10203         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
10204         (windows_compute_revents): Renamed from win32_compute_revents.
10205         (windows_compute_revents_socket): Renamed from
10206         win32_compute_revents_socket.
10207         * lib/select.c: Update comments to mention native Windows.
10208         (windows_poll_handle): Renamed from win32_poll_handle.
10209         * m4/threadlib.m4: Update comments to mention native Windows.
10210         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
10211         --enable-threads=windows instead of --enable-threads=win32. Set
10212         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
10213         * lib/glthread/lock.h: Update comments to mention native Windows.
10214         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
10215         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
10216         USE_WIN32_THREADS.
10217         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
10218         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
10219         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
10220         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
10221         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
10222         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
10223         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
10224         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
10225         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
10226         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
10227         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
10228         * tests/test-tls.c: Likewise.
10229         Rationale:
10230         Microsoft renamed the "Win32 API" to "Windows API", as it is available
10231         on both 32-bit and 64-bit Windows systems.
10232         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
10233         line of distinction is between "native Windows" on one side and Unix/
10234         POSIX systems on the other side. More details in
10235         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
10236         Suggested by Paul Eggert.
10237
10238 2012-01-03  Bruno Haible  <bruno@clisp.org>
10239
10240         isatty: Support for MSVC 9.
10241         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
10242         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
10243         (_isatty_nothrow): New function.
10244         (isatty): Use it instead of _isatty.
10245         (IsConsoleHandle): Add comment, from Paolo Bonzini.
10246         * lib/poll.c (IsConsoleHandle): Likewise.
10247         * lib/select.c (IsConsoleHandle): Likewise.
10248         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
10249         (gl_PREREQ_ISATTY): New macro.
10250         * modules/isatty (Depends-on): Add msvc-inval.
10251         (configure.ac): Invoke gl_PREREQ_ISATTY.
10252
10253 2012-01-03  Jim Meyering  <meyering@redhat.com>
10254
10255         maint.mk: remove temporary transition aid from over 1.5 years ago
10256         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
10257         purpose was to aid in the transition (avoiding silent malfunction)
10258         from that old name to the new _sc_search_regexp.  This shim was
10259         added by commit 219c504b.
10260
10261         init.sh: do not try to accommodate compare arguments starting with "-"
10262         * tests/init.sh (compare_dev_null_): Do not try to accommodate
10263         compare arguments that start with "-".  Besides, we do not worry
10264         about this when invoking diff or cmp; why start now with sed?
10265         Using "--" to separate options from argument would trigger sed
10266         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
10267         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
10268
10269 2012-01-02  Bruno Haible  <bruno@clisp.org>
10270
10271         Enhance tests for module 'isatty'.
10272         * modules/isatty-tests (Depends-on): Add pipe-posix.
10273         * tests/test-isatty.c: Include <fcntl.h>.
10274         (DEV_NULL): New macro.
10275         (main): Test the resut of isatty() also on regular files, pipes, and
10276         /dev/null.
10277
10278         New module 'isatty'.
10279         * lib/unistd.in.h (isatty): New declaration.
10280         * lib/isatty.c: New file, based on an idea of
10281         Bastien Roucariès <roucaries.bastien@gmail.com>.
10282         * m4/isatty.m4: New file.
10283         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
10284         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
10285         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
10286         REPLACE_ISATTY.
10287         * modules/isatty: New file.
10288         * doc/posix-functions/isatty.texi: Mention the new module.
10289         Suggested by Paolo Bonzini.
10290
10291 2012-01-02  Bruno Haible  <bruno@clisp.org>
10292
10293         canonicalize: Tweak 2011-12-29 commit.
10294         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
10295         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
10296
10297 2012-01-02  Jim Meyering  <meyering@redhat.com>
10298
10299         gitlog-to-changelog: describe input syntax in --help output
10300         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
10301
10302         gitlog-to-changelog: fix typo in --help: show backslash before email @
10303         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
10304         in sources, but not in actual output.
10305
10306 2011-12-30  Jim Meyering  <meyering@redhat.com>
10307
10308         gitlog-to-changelog: don't malfunction when name contains %-directive
10309         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
10310         in a name string cause trouble.  E.g., with a user name of "%s",
10311         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
10312
10313 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
10314
10315         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
10316         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
10317         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
10318         the "  (tiny change)" notation that is appended to the standard
10319         ChangeLog "date  name  email" header line.
10320
10321 2012-01-01  Jim Meyering  <meyering@redhat.com>
10322
10323         test-framework-sh: init.sh: fix "make dist" failure
10324         When using gnulib-tool's --with-tests option and any module that
10325         depends on test-framework-sh, "make dist" would fail due to the
10326         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
10327         in the gltests directory, and not in the gllib/ directory.
10328         One way to work around that is to move the EXTRA_DIST += init.sh
10329         from the primary module to the -tests one:
10330         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
10331         * modules/test-framework-sh (Makefile.am): ...not here.
10332         Reported by Tom G. Christensen in
10333         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
10334
10335         version-etc: update copyright year reported by --version
10336         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
10337
10338 2011-12-31  Pádraig Brady  <P@draigBrady.com>
10339
10340         canonicalize: only stat() if required
10341         * lib/canonicalize.c (canonicalize_filename_mode):
10342         Avoid calling l?stat() when both CAN_MISSING,
10343         and CAN_NOLINKS are set, as we neither need
10344         to resolve symlinks or test component existence.
10345
10346 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
10347
10348         doc: cover st_ino issues once; add OpenVMS etc.
10349         * doc/posix-functions/stat.texi (stat):
10350         * doc/posix-functions/lstat.texi (lstat):
10351         * doc/posix-functions/fstatat.texi (fstatat):
10352         * doc/posix-functions/fstat.texi (fstat):
10353         Move general 'struct stat' stuff to sys_stat.texi,
10354         leaving behind a pointer.
10355         * doc/posix-headers/sys_stat.texi (sys/stat.h):
10356         Merge duplicate info about 'struct stat' problems into here.
10357         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
10358         and suggest partial workarounds.
10359
10360         same-inode: port to OpenVMS
10361         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
10362         three st_ino values.
10363
10364 2011-12-30  Pádraig Brady  <P@draigBrady.com>
10365
10366         canonicalize: fix references to stat() and lstat()
10367         * lib/canonicalize.c (canonicalize_filename_mode):
10368         Ensure references always resolve to a replacement
10369         function if required (even via a macro).
10370
10371 2011-12-30  Jim Meyering  <meyering@redhat.com>
10372
10373         gitlog-to-changelog: remove a little duplication
10374         * build-aux/gitlog-to-changelog (main): Grep @lines once,
10375         rather than twice.
10376
10377 2011-12-29  Pádraig Brady  <P@draigBrady.com>
10378
10379         canonicalize: add support for not resolving symlinks
10380         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
10381         indicate we don't want to follow symlinks.  Also
10382         provide CAN_MODE_MASK to aid setting these existing
10383         mutually exclusive values.
10384         * lib/canonicalize.c (canonicalize_filename_mode):
10385         Extract the flags from can_mode parameter, which
10386         are currently just used to select between stat()
10387         and lstat().  Also ensure that mutually exclusive
10388         values are flagged immediately as invalid.
10389         * tests/test-canonicalize.c: Verify symlinks are
10390         not followed, and that invalid flag combinations
10391         are diagnosed.
10392
10393 2011-12-25  Jim Meyering  <meyering@redhat.com>
10394
10395         gitlog-to-changelog: do not clump multi-paragraph entries
10396         Identical header lines (date,name,email+coauthors) are suppressed,
10397         thus putting all entries with those same characteristics under
10398         a single header.  However, when a log entry consists of two or
10399         more paragraphs, it may not be clear where it starts and ends.
10400         This change makes it so that such an entry is always separated
10401         from others by a header line, even when that header would
10402         otherwise be suppressed.
10403         * build-aux/gitlog-to-changelog: Implement the above.
10404         Inspired by a related request from Stefano Lattarini in
10405         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
10406
10407 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
10408
10409         announce-gen: fix `cmd' typo in diagnostic
10410         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
10411         diagnostic: a missing '$' meant that the command was not output.
10412
10413 2011-12-23  Jim Meyering  <meyering@redhat.com>
10414
10415         test-framework-sh: distribute init.sh
10416         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
10417         Otherwise, "make -C gnulib-tests check" (at least in grep) would
10418         fail due to the lack of init.sh.
10419
10420         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
10421         * modules/atexit-tests: Rather than listing tests/init.sh,
10422         now that there's a module for it, simply depend on that new module.
10423         * modules/closein-tests: Likewise.
10424         * modules/exclude-tests: Likewise.
10425         * modules/getcwd-tests: Likewise.
10426         * modules/perror-tests: Likewise.
10427         * modules/pread-tests: Likewise.
10428         * modules/pwrite-tests: Likewise.
10429         * modules/vc-list-files-tests: Likewise.
10430         * modules/verify-tests: Likewise.
10431         * modules/xalloc-die-tests: Likewise.
10432         * modules/xstrtoimax-tests: Likewise.
10433         * modules/xstrtol-tests: Likewise.
10434         * modules/xstrtoll-tests: Likewise.
10435         * modules/xstrtoumax-tests: Likewise.
10436         * modules/yesno-tests: Likewise.
10437
10438 2011-12-22  Jim Meyering  <meyering@redhat.com>
10439
10440         test-framework-sh: add minimal tests of init.sh's compare function
10441         * modules/test-framework-sh-tests: New file.
10442         * tests/test-init.sh: New file.
10443
10444         test-framework-sh: new module
10445         * modules/test-framework-sh: New file.
10446         * MODULES.html.sh (Support for maintaining and releasing projects):
10447         List it.
10448
10449         init.sh: do not emit simulated diff output to stderr
10450         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
10451
10452 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
10453
10454         .gitignore: ignore gnulib.dvi and regex.info
10455         * doc/.gitignore:add gnulib.dvi and regex.info
10456
10457 2011-12-22  Jim Meyering  <meyering@redhat.com>
10458
10459         init.sh: correct previous change
10460         * tests/init.sh (compare): My previous change was wrong.
10461         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
10462
10463         init.sh: avoid unwarranted test failure when using "set -e"
10464         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
10465         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
10466         a use like "compare exp out" would get evoke an unconditional failure.
10467
10468 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
10469
10470         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
10471         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
10472         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
10473         autoreconf that did not.
10474         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
10475         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
10476
10477 2011-12-17  Jim Meyering  <meyering@redhat.com>
10478
10479         bootstrap: remove some now-unneeded code
10480         This script arose back when gnulib-tool was young.
10481         Since then, it has seen improvements that render much of this
10482         script unnecessary.  In particular, it can now make symlinks
10483         to the files it uses.  Also, I no longer see as much value in
10484         marking files as read-only via comments.
10485         If you relied on the symlink-creation feature of the preceding
10486         version of this script, you can get most of that functionality
10487         by adding the --symlink option to the definition of
10488         gnulib_tool_option_extras in your bootstrap.conf file.
10489         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
10490         Run autopoint and libtoolize *before* gnulib-tool.
10491         After it, run an abbreviated autoreconf, rather than a loop around
10492         all tools.
10493         (slirp, bt_mark_as_generated): Remove functions.
10494
10495 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10496
10497         ftoastr: fix typo
10498         * lib/ftoastr.h: Fix misspelling in comment.
10499
10500 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
10501
10502         * top/README-release: fix punctuation.
10503
10504 2011-12-17  Jim Meyering  <meyering@redhat.com>
10505
10506         bootstrap: correct the recent buildreq change
10507         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
10508         had no effect.
10509         * build-aux/bootstrap (buildreq): Bracket each search term with
10510         "*...*", so that the shell "case" statement works as intended.
10511         Add comments.
10512
10513 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
10514
10515         build: let bootstrap resort to wget when downloading .po files
10516         * build-aux/bootstrap (download_po_files): Fallback to wget when
10517         downloading the .po files via rsync fails.  This is necessary to
10518         bootstrap from behind a strict firewall.
10519
10520 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
10521
10522         stdint: don't assume C++11 when compiling with g++
10523         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
10524         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
10525         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
10526         work also in C++ before C++11, as that improperly inhibits
10527         generating a substitute stdint.h for that case.
10528
10529 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
10530
10531         alloca: protect comment from gnulib-tool
10532         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
10533         that gnulib-tool doesn't think it's a license, and munge it to
10534         say "GCC version 3".
10535
10536 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
10537
10538         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
10539         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
10540         $(abs_top_builddir) instead of $(top_builddir).
10541
10542 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
10543
10544         strftime-tests: also test nanoseconds
10545         * tests/test-strftime.c (T): Add a test of %N.
10546
10547 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
10548
10549         inttypes, stdint: add C++11 support
10550         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
10551         when including inttypes.h and stdint.h.  Support this change to
10552         the standard.
10553         * doc/posix-headers/inttypes.texi (inttypes.h):
10554         * doc/posix-headers/stdint.texi (stdint.h): Document this.
10555         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
10556         Define if not defined already, for the benefit of pre-C++11 hosts.
10557         Define the standard format macros (e.g., PRId8) always.
10558         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
10559         Likewise, if __cpluspus.  Define the standard constant and limit
10560         macros (e.g., INT8_C, INT8_MAX) always.
10561         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
10562         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
10563         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
10564         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
10565         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
10566         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
10567         Likewise.
10568
10569 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
10570
10571         nonblocking tests: Fix test failure on Linux/PPC.
10572         Suggested by Prerna Saxena in
10573         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
10574         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
10575         Set to 1100000.
10576
10577 2011-12-12  Jim Meyering  <meyering@redhat.com>
10578
10579         argmatch: don't hard-code `' when listing valid option arguments
10580         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
10581         use the quote function to add quotes.  Use fputs rather than
10582         fprintf for the format string with no format directive.
10583
10584 2011-12-07  Eric Blake  <eblake@redhat.com>
10585
10586         bootstrap: detect tools required by gnulib-tool
10587         * build-aux/bootstrap (buildreq): Provide minimum implicit
10588         dependencies.
10589         * DEPENDENCIES: Mention patch as a prereq.
10590
10591 2011-12-04  Bruno Haible  <bruno@clisp.org>
10592
10593         sethostname: Port to Windows platforms.
10594         * lib/sethostname.c: Provide an alternate implementation for Windows
10595         platforms.
10596         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
10597         (main): Skip the test if sethostname() fails with EPERM. On Windows
10598         platforms, don't check the result of gethostname().
10599
10600 2011-12-04  Bruno Haible  <bruno@clisp.org>
10601             Jim Meyering  <meyering@redhat.com>
10602
10603         tests: Avoid spurious error message on platforms without mktemp program.
10604         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
10605
10606 2011-12-04  Bruno Haible  <bruno@clisp.org>
10607
10608         sethostname: Fix documentation.
10609         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
10610         "not fixed" section.
10611
10612 2011-12-03  Bruno Haible  <bruno@clisp.org>
10613
10614         gnulib-tool: Verify that the License field is present and non-empty.
10615         * gnulib-tool (func_get_license_raw): New function, extracted from
10616         func_get_license.
10617         (func_get_license): Use it. Warn if the module is not a test module and
10618         has no license.
10619         Suggested by Jim Meyering.
10620
10621 2011-12-03  Bruno Haible  <bruno@clisp.org>
10622
10623         sethostname tests: Fix link error on mingw.
10624         * tests/test-sethostname1.c: New file, extracted from
10625         tests/test-sethostname.c.
10626         * tests/test-sethostname2.c: New file, extracted from
10627         tests/test-sethostname.c.
10628         * tests/test-sethostname.c: Remove file.
10629         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
10630         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
10631         (Depends-on): Add gethostname.
10632         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
10633         Link the latter with $(GETHOSTNAME_LIB).
10634
10635         sethostname tests: Fix compilation error on mingw.
10636         * tests/test-sethostname.c: Don't include <sys/types.h>.
10637         (geteuid): Use a dummy value without uid_t.
10638         * modules/sethostname-tests (Depends-on): Remove sys_types.
10639
10640         sethostname tests: Avoid a gcc warning.
10641         * tests/test-sethostname.c (main): Remove an unused variable.
10642
10643         Tweak last commit.
10644         * modules/sethostname-tests (Files): Sort by decreasing importance.
10645         (configure.ac): Check for geteuid.
10646         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
10647         the test when there's nothing to test. Drop an unnecessary cast.
10648         Improve an error message. Verify that the final sethostname() call
10649         succeeds.
10650
10651 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10652
10653         Add a test suite for the sethostname module.
10654         * modules/sethostname-tests: New file.  A test program
10655         for the sethostname module.
10656         * tests/test-sethostname.c: Likewise.
10657
10658 2011-12-03  Bruno Haible  <bruno@clisp.org>
10659
10660         Tweak last commit.
10661         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
10662         Fix preprocessor directives indentation. Fix typos.
10663         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
10664         * modules/unistd (Makefile): Likewise.
10665
10666 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10667
10668         Integrate the sethostname module into unistd.
10669         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
10670         into the unistd.h header.
10671         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
10672         preprocessor directives.
10673         * modules/unistd: Setup the Makefile substitutions of the
10674         SETHOSTNAME preprocessor directives.
10675
10676 2011-12-03  Bruno Haible  <bruno@clisp.org>
10677
10678         Tweak last commit.
10679         * lib/sethostname.c: Don't include <string.h>.
10680         (sethostname): No need to copy the argument string to the stack. Don't
10681         call clearerr. Preserve errno when fprintf failed.
10682         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
10683         Don't invoke AC_REPLACE_FUNCS.
10684         * modules/sethostname (Link): Remove empty section.
10685         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
10686         failure problem.
10687
10688 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10689
10690         New module 'sethostname'.
10691         * lib/sethostname.c (sethostname): New file.  Provide sethostname
10692         for systems that lack it.
10693         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
10694         sethostname declaration and function.
10695         * modules/sethostname: New file.  Define the sethostname module.
10696
10697 2011-12-03  Bruno Haible  <bruno@clisp.org>
10698
10699         Tweak last commit.
10700         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
10701
10702 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10703
10704         Split the HOST_NAME_MAX detection into a separate m4 macro.
10705         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
10706         macro so it can be used by the pending sethostname module.
10707
10708 2011-12-03  Bruno Haible  <bruno@clisp.org>
10709
10710         Fix module descriptions syntax.
10711         * modules/argv-iter (License): Fix syntax.
10712         * modules/di-set (License): Likewise.
10713         * modules/ino-map (License): Likewise.
10714         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
10715
10716 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
10717
10718         stdalign: port to Clang 3.0
10719         Problem reported by Simon Josefsson in
10720         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
10721         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
10722         which has <stdalign.h> but which does not define alignof.
10723         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
10724
10725 2011-12-01  Eric Blake  <eblake@redhat.com>
10726
10727         mktempd: silence dd usage
10728         * build-aux/mktempd (rand_bytes): Silence dd.
10729
10730 2011-11-30  Simon Josefsson  <simon@josefsson.org>
10731
10732         manywarnings: Don't mention gcc version in docstring.
10733         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
10734         Jim Meyering <meyering@redhat.com>.
10735
10736 2011-11-30  Jim Meyering  <meyering@redhat.com>
10737
10738         hash: mark a few floating point constants with "f" suffix
10739         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
10740         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
10741         floating point constants with "f", since they're destined to be
10742         saved/used as "float"s.
10743
10744 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
10745
10746         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
10747         * tests/test-float.c (test_long_double): Correct and re-enable the
10748         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
10749
10750 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
10751
10752         Avoid subtracting two pointers that don't point into the same block.
10753         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
10754         only pointers into the same memory block are subtracted. We cannot
10755         assume that sizeof (ptrdiff_t) == sizeof (void *).
10756
10757 2011-11-29  Eric Blake  <eblake@redhat.com>
10758
10759         maint.mk: add syntax check for use of compare from init.sh
10760         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
10761         moved here from coreutils.
10762
10763         manywarnings: drop -Wunsuffixed-float-constants
10764         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
10765         '1.0D', which is the only way to silence this warning for 'double'.
10766
10767 2011-11-29  Jim Meyering  <meyering@redhat.com>
10768
10769         hash: mark compute_bucket_size with the pure attribute
10770         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
10771
10772         quotearg, propername: correct pragma guard expression
10773         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
10774         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
10775
10776 2011-11-28  Jim Meyering  <meyering@redhat.com>
10777
10778         propername: do not mark proper_name with the const attribute
10779         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
10780         since it examines data pointed to by its parameter.
10781         * lib/propername.c (proper_name): Instead, add a pragma to suppress
10782         the suggestion from -Wsuggest-attribute=const.
10783
10784         propername: mark one more function as const
10785         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
10786
10787 2011-11-27  Jim Meyering  <meyering@redhat.com>
10788
10789         mark functions with const and pure attributes
10790
10791         Mark functions per suggestions from gcc-4.6 when using these options:
10792         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
10793         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
10794         Follow these guidelines: when possible, apply the attribute to
10795         an extern declaration, not to its definition.  Apply it to the
10796         definition only when the definition is static.
10797         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
10798         * lib/argv-iter.h (argv_iter_n_args): Likewise.
10799         * lib/base64.h (isbase64): Likewise.
10800         * lib/basename-lgpl.c (last_component, base_len): Likewise.
10801         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
10802         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
10803         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
10804         (c_tolower, c_toupper): Likewise.
10805         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
10806         * lib/chdir-long.c (find_non_slash): Likewise.
10807         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
10808         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
10809         * lib/file-type.h (file_type): Likewise.
10810         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
10811         * lib/filevercmp.c (verrevcmp): Likewise.
10812         * lib/freadahead.h (freadahead): Likewise.
10813         * lib/fts.c (fts_maxarglen): Likewise.
10814         * lib/hash-pjw.h (hash_pjw): Likewise.
10815         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
10816         * lib/hash.c (is_prime, next_prime): Likewise.
10817         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
10818         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
10819         (hash_table_ok, hash_get_first, hash_string): Likewise.
10820         (compute_bucket_size): Likewise.
10821         * lib/i-ring.h (i_ring_empty): Likewise.
10822         * lib/isnan.c (isnanl): Likewise.
10823         * lib/math.h (isnanl, rpl_isnanl): Likewise.
10824         * lib/memcasecmp.h (memcasecmp): Likewise.
10825         * lib/memchr2.h (memchr2): Likewise.
10826         * lib/memcmp2.h (memcmp2): Likewise.
10827         * lib/parse-datetime.y (lookup_zone): Likewise.
10828         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
10829         [!WINDOWS_SOCKETS]: Likewise.
10830         * lib/strnlen1.h (strnlen1): Likewise.
10831         * lib/uniwidth.in.h (uc_width): Likewise.
10832         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
10833         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
10834         (quoting_options_from_style): Add a comment.
10835         * lib/propername.h (proper_name): Add a comment.
10836
10837 2011-11-27  Bruno Haible  <bruno@clisp.org>
10838
10839         Remove unused macros from !_LIBC code in glibc-borrowed files.
10840         * lib/fnmatch.c (STRCOLL): Remove macro.
10841         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
10842         * lib/glob.c (__stat, __readdir64): Remove macros.
10843         * lib/tempname.c (__open64, __xstat64): Remove macros.
10844         Suggested by Paul Eggert.
10845
10846 2011-11-27  Bruno Haible  <bruno@clisp.org>
10847
10848         getcwd: Fix link error on MSVC 9.
10849         * modules/getcwd (Depends-on): Add readdir, rewinddir.
10850
10851 2011-11-27  Bruno Haible  <bruno@clisp.org>
10852
10853         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
10854         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
10855         HAVE_OPENDIR is 0.
10856         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
10857         HAVE_CLOSEDIR is 0.
10858         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
10859         is 0.
10860         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
10861
10862 2011-11-27  Bruno Haible  <bruno@clisp.org>
10863
10864         getcwd: Fix bug from 2011-08-17.
10865         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
10866         platforms that need it.
10867         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
10868         code of 4 to be a failure, not a success. This ensures that
10869         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
10870
10871 2011-11-27  Bruno Haible  <bruno@clisp.org>
10872
10873         binary-io tests: Avoid test failure on mingw when libtool is used.
10874         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
10875         Don't verify the size of t-bin-out1.tmp here.
10876         * tests/test-binary-io.sh: Verify it here.
10877         Reported by Simon Josefsson.
10878
10879 2011-11-26  Bruno Haible  <bruno@clisp.org>
10880
10881         Fix conflict between two instantiations of module 'unistd'.
10882         * gnulib-tool (func_emit_autoconf_snippet): Substitute
10883         ${include_guard_prefix} also in the autoconf snippet.
10884         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
10885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
10886         GNULIB_UNISTD_H_GETOPT.
10887         * modules/getopt-posix (configure.ac): Set the
10888         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
10889         * modules/getopt-gnu (configure.ac): Likewise.
10890         * modules/unistd (Makefile.am): Change the substitution value of
10891         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
10892         Reported by Simon Josefsson.
10893
10894 2011-11-25  Bruno Haible  <bruno@clisp.org>
10895
10896         pagealign_alloc: Doc and comments.
10897         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
10898         module.
10899         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
10900
10901 2011-11-25  Jim Meyering  <meyering@redhat.com>
10902
10903         test-update-copyright.sh: avoid false-positive failure
10904         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
10905         around false positive failure on Cygwin/Windows.  The latter was
10906         matching erroneously-created files with names like
10907         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
10908
10909 2011-11-25  Simon Josefsson  <simon@josefsson.org>
10910
10911         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
10912         * m4/valgrind-tests.m4: Check that the parameters that will be
10913         used works, not just a subset of them.  Reported by Bruno Haible
10914         <bruno@clisp.org>.
10915
10916 2011-11-24  Jim Meyering  <meyering@redhat.com>
10917
10918         test-stdalign.c: comment out long double tests
10919         * tests/test-stdalign.c: Don't try to reduce alignment of long double
10920         variables.  That provokes errors like this from gcc-4.7.0 20111124:
10921         error: '_Alignas' specifiers cannot reduce alignment of \
10922         'static_longdouble_alignas'.
10923
10924 2011-11-22  Jim Meyering  <meyering@redhat.com>
10925
10926         init.sh: make "compare /dev/null FILE" output more readable
10927         * tests/init.sh (compare_): Document the preferred order of arguments.
10928         (emit_diff_u_header_): New function.
10929         (compare_dev_null_): Emit a simulated diff, rather than just the
10930         contents of the unexpected file.  Suggestion from Bruno Haible.
10931
10932 2011-11-21  Jim Meyering  <meyering@redhat.com>
10933             Eric Blake  <eblake@redhat.com>
10934
10935         init.sh: work around OSF/1 5.1's mishandling of /dev/null
10936         * tests/init.sh: Make our compare function slightly more portable.
10937         Reported by Bruno Haible in
10938         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
10939
10940 2011-11-21  Simon Josefsson  <simon@josefsson.org>
10941
10942         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
10943         before using it, in code that ends up in config.h.
10944
10945 2011-11-20  Bruno Haible  <bruno@clisp.org>
10946
10947         getcwd: Work around getcwd bug on AIX 5..7.
10948         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
10949         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
10950         Use a different value for gl_cv_func_getcwd_path_max. Move the
10951         definition of HAVE_PARTLY_WORKING_GETCWD from here...
10952         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
10953         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
10954         Define HAVE_MINIMALLY_WORKING_GETCWD.
10955         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
10956         where it is not even minimally working, that is, on AIX.
10957         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
10958         m4/getcwd-path-max.m4.
10959         (main): Update exit code computation.
10960         * doc/posix-functions/getcwd.texi: Mention list of platforms where
10961         getcwd does not handle long file names.
10962
10963 2011-11-20  Bruno Haible  <bruno@clisp.org>
10964
10965         getcwd: Fix bug from 2009-09-10.
10966         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
10967         like "no".
10968
10969 2011-11-20  Simon Josefsson  <simon@josefsson.org>
10970
10971         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
10972
10973 2011-11-20  Bruno Haible  <bruno@clisp.org>
10974
10975         fma tests: Avoid shadowing local variables.
10976         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
10977         expected.
10978
10979 2011-11-20  Bruno Haible  <bruno@clisp.org>
10980
10981         copysignf tests: Fix.
10982         * tests/test-copysignf.c: Fix signature check.
10983
10984 2011-11-20  Bruno Haible  <bruno@clisp.org>
10985
10986         fma: Remove unused code.
10987         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
10988         unused macros.
10989
10990 2011-11-20  Bruno Haible  <bruno@clisp.org>
10991
10992         sethostname: Fix doc about AIX.
10993         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
10994         sethostname; it has it.
10995
10996         sethostname: Mention more portability problems.
10997         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
10998         problem.
10999         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
11000
11001 2011-11-19  Bruno Haible  <bruno@clisp.org>
11002
11003         Depend on module fcntl-h when AT_FDCWD is used.
11004         * modules/utimens (Depends-on): Add fcntl-h.
11005         * modules/areadlinkat (Depends-on): Likewise.
11006         * modules/areadlinkat-with-size (Depends-on): Likewise.
11007         * modules/faccessat (Depends-on): Likewise.
11008         * modules/fchmodat (Depends-on): Likewise.
11009         * modules/fchownat (Depends-on): Likewise.
11010         * modules/getcwd (Depends-on): Likewise.
11011         * modules/mkdirat (Depends-on): Likewise.
11012         * modules/mkfifoat (Depends-on): Likewise.
11013         * modules/readlinkat (Depends-on): Likewise.
11014         * modules/symlinkat (Depends-on): Likewise.
11015         * modules/dup2-tests (Depends-on): Likewise.
11016         * modules/fdutimensat-tests (Depends-on): Likewise.
11017         * modules/futimens-tests (Depends-on): Likewise.
11018
11019 2011-11-19  Bruno Haible  <bruno@clisp.org>
11020
11021         euidaccess: Update a comment.
11022         * lib/euidaccess.c: Update comment about platforms with faccessat.
11023
11024 2011-11-19  Bruno Haible  <bruno@clisp.org>
11025
11026         openat: Fix file list.
11027         * modules/openat (Files): Remove lib/at-func.c.
11028
11029 2011-11-19  Bruno Haible  <bruno@clisp.org>
11030
11031         fstatat: Simplify.
11032         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
11033         gnulib should define rpl_fstatat, there is a
11034         "#define fstatat rpl_fstatat" in <sys/stat.h>.
11035
11036 2011-11-19  Bruno Haible  <bruno@clisp.org>
11037
11038         Ensure 'inline' can be used in tests/test-utimens-common.h.
11039         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
11040         * modules/futimens-tests (configure.ac): Likewise.
11041         * modules/utimens-tests (configure.ac): Likewise.
11042         * modules/utimensat-tests (configure.ac): Likewise.
11043
11044 2011-11-19  Simon Josefsson  <simon@josefsson.org>
11045
11046         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
11047         not hash_insert0.
11048         (hash_insert_if_absent): Doc fix.
11049
11050 2011-11-19  Simon Josefsson  <simon@josefsson.org>
11051
11052         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
11053
11054 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
11055
11056         test-getcwd: disambiguate exit status
11057         * tests/test-getcwd.c (test_long_name): Return 0..7.
11058         (main): Exit with an unambiguous exit status.  The old
11059         code yielded a mysterious mixture of two failure codes.
11060
11061         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
11062         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
11063         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
11064         rpl_fstatat or fstatat.  This should fix the other problem
11065         reported by Kai Habel in
11066         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
11067         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
11068         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
11069         and I reproduced it on a Solaris 8 host we still have in production.
11070
11071 2011-11-18  Jim Meyering  <meyering@redhat.com>
11072
11073         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
11074         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
11075         Add a sentence to the comment.
11076         (hash_insert0): New function that simply calls hash_insert_if_absent.
11077         * lib/hash.h (hash_insert_if_absent): Declare it.
11078         (hash_insert0): Add deprecation attribute.
11079         (_GL_ATTRIBUTE_DEPRECATED): Define.
11080         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
11081         not hash_insert0.
11082         * NEWS: Mention it, even though it's not really an incompatible change.
11083
11084 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
11085
11086         openat: avoid compilation failure due to lack of <errno.h> inclusion
11087         * lib/openat.c: Include <errno.h>.
11088
11089 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
11090
11091         * modules/getcwd (Depends-on): Add fdopendir.
11092         This fixes one of the two problems reported by Kai Habel in
11093         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
11094
11095         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
11096         stdalign problem reported by Ian Beckwith in
11097         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
11098         * modules/crypto/gc-arcfour (Depends-on):
11099         Depend conditionally on crypto/arcfour.
11100         * modules/crypto/gc-arctwo (Depends-on):
11101         Depend conditionally on crypto/arctwo.
11102         * modules/crypto/gc-des (Depends-on):
11103         Depend conditionally on crypto/des.
11104         * modules/crypto/gc-hmac-md5 (Depends-on):
11105         Depend conditionally on crypto/hmac-md5.
11106         * modules/crypto/gc-hmac-sha1 (Depends-on):
11107         Depend conditionally on crypto/hmac-sha1.
11108         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
11109         * modules/crypto/gc-md4 (Depends-on):
11110         Depend conditionally on crypto/md4.
11111         * modules/crypto/gc-md5 (Depends-on):
11112         Depend conditionally on crypto/md5.
11113         * modules/crypto/gc-rijndael (Depends-on):
11114         Depend conditionally on crypto/rijndael.
11115         * modules/crypto/gc-sha1 (Depends-on):
11116         Depend conditionally on crypto/sha1.
11117         * modules/crypto/gc-arcfour:
11118         * modules/crypto/gc-arctwo:
11119         * modules/crypto/gc-des:
11120         * modules/crypto/gc-hmac-md5:
11121         * modules/crypto/gc-hmac-sha1:
11122         * modules/crypto/gc-md2:
11123         * modules/crypto/gc-md4:
11124         * modules/crypto/gc-md5:
11125         * modules/crypto/gc-rijndael:
11126         * modules/crypto/gc-sha1:
11127         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
11128         now that the conditional dependencies do the work for us.
11129
11130 2011-11-17  Jim Meyering  <meyering@redhat.com>
11131
11132         tests: factor st_ctime-comparison out of two headers
11133         * tests/test-utimens-common.h (ctime_compare): Define.
11134         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
11135         * tests/test-lutimens.h (test_lutimens): Likewise.
11136         * tests/test-utimens.h (test_utimens): Likewise.
11137
11138         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
11139         Invoke the test program via an init.sh-using wrapper.
11140         * tests/test-getcwd.sh: New file.
11141         * modules/getcwd-tests (Files): Add it.
11142         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
11143
11144 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
11145
11146         gitlog-to-changelog: support multi-author commits.
11147         The FSF cares about keeping track of all authors of patches to its
11148         projects, but Git doesn't provide obvious support for multi-author
11149         changesets. Consensus seems to be forming around the use of extra
11150         Signed-off-by inspired lines in the log message formatted as
11151         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
11152         multi-author commits between version control systems.
11153         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
11154         log message and output in standard ChangeLog multi-author format.
11155         Reported by Peter Rosin <peda@lysator.liu.se>
11156
11157 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
11158             Bruno Haible  <bruno@clisp.org>
11159
11160         Fix some modules' file list.
11161         * modules/fstatat (Files): Add m4/lstat.m4.
11162         * modules/openat (Files): Likewise.
11163         * modules/unlinkat (Files): Likewise.
11164
11165 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
11166
11167         maint.mk: fix tight-scope.mk generation in VPATH builds.
11168         * top/maint.mk (tight-scope.mk): Make sure to prefix file
11169         reference with $(srcdir) so that the file is found correctly even
11170         when running `make syntax-check' in a VPATH build.
11171
11172 2011-11-13  Bruno Haible  <bruno@clisp.org>
11173             Jim Meyering  <meyering@redhat.com>
11174
11175         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
11176         * tests/init.sh (compare): Remove "No differences encountered" or
11177         synonymous output from the 'diff' program.
11178
11179 2011-11-13  Bruno Haible  <bruno@clisp.org>
11180
11181         Makefile: Tweak indentation.
11182         * Makefile: Use tab as first character in every line that contains rule
11183         commands.
11184
11185 2011-11-13  Bruno Haible  <bruno@clisp.org>
11186
11187         Syntax check for copyright statements.
11188         * check-copyright: New file.
11189         * Makefile (sc_check_copyright): New rule.
11190
11191 2011-11-13  Simon Josefsson  <simon@josefsson.org>
11192
11193         * build-aux/git-version-gen: Add --prefix to configure the tag
11194         match string.
11195
11196 2011-11-13  Simon Josefsson  <simon@josefsson.org>
11197
11198         * build-aux/git-version-gen: Add --help and --version.
11199
11200 2011-11-12  Jim Meyering  <meyering@redhat.com>
11201
11202         revamp the other test-exclude?.sh scripts to use init.sh, too
11203         * tests/test-exclude1.sh: Use init.sh.
11204         * tests/test-exclude2.sh: Likewise.
11205         * tests/test-exclude3.sh: Likewise.
11206         * tests/test-exclude4.sh: Likewise.
11207         * tests/test-exclude5.sh: Likewise.
11208         * tests/test-exclude6.sh: Likewise.
11209         * tests/test-exclude7.sh: Likewise.
11210         * tests/test-exclude8.sh: Likewise.
11211         * modules/exclude-tests (Files): List init.sh.
11212
11213         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
11214         These shell scripts ignored failure of the binary test-exclude,
11215         so making the latter return 77 didn't cause them to be skipped.
11216         * tests/test-exclude5.sh: Exit with test-exclude's error status
11217         when that program fails.  Revamp to use init.sh.
11218         * tests/test-exclude2.sh: Likewise.
11219
11220         test-exclude: fix a typo
11221         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
11222
11223 2011-11-11  Bruno Haible  <bruno@clisp.org>
11224
11225         obstack: Fix compilation error on MSVC 9.
11226         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
11227
11228 2011-11-11  Jim Meyering  <meyering@redhat.com>
11229
11230         test-exclude: skip tests rather than failing on deficient systems
11231         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
11232         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
11233         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
11234         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
11235
11236 2011-11-10  Bruno Haible  <bruno@clisp.org>
11237
11238         ptsname_r test: Avoid gcc warning on glibc systems.
11239         * tests/test-ptsname_r.c (null_ptr): New function.
11240         (test_errors): Use it.
11241
11242 2011-11-10  Bruno Haible  <bruno@clisp.org>
11243
11244         ptsname_r: Avoid compilation error on OSF/1 5.1.
11245         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
11246         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
11247         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
11248         function is not declared or incompatibly declared.
11249         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
11250         * modules/ptsname_r (Depends-on, configure.ac): Update.
11251         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
11252
11253 2011-11-10  Bruno Haible  <bruno@clisp.org>
11254
11255         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
11256         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
11257         When cross-compiling, guess yes on all platforms except AIX.
11258         Reported by Ludovic Courtès <ludo@gnu.org>.
11259
11260 2011-11-09  Bruno Haible  <bruno@clisp.org>
11261
11262         ptsname_r tests: Fix bugs.
11263         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
11264         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
11265
11266 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11267
11268         fstatat: work with cross-compilation
11269         Problem reported by Ludovic Courtès in
11270         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
11271         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
11272         "cross-compiling" and assume the bug is present.  Replace
11273         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
11274         an inverted sense, to be more conservative about our assumptions.
11275         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
11276
11277 2011-11-09  Bruno Haible  <bruno@clisp.org>
11278
11279         Improve MODULES.html output.
11280         * modules/mkfifoat (Description): Use the word "function".
11281         * modules/readlinkat (Description): Likewise.
11282         * modules/symlinkat (Description): Likewise.
11283
11284 2011-11-09  Eric Blake  <eblake@redhat.com>
11285
11286         ptsname_r-tests: new test module
11287         * modules/ptsname_r-tests: New module.
11288         * tests/test-ptsname_r.c: New file.
11289
11290         ptsname_r: new module
11291         * modules/ptsname_r: New module.
11292         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
11293         * lib/ptsname.c (__ptsname_r): Split...
11294         * lib/ptsname_r.c: ...into new file.
11295         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11296         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
11297         * modules/stdlib (Makefile.am): Substitute witnesses.
11298         * lib/stdlib.in.h (ptsname_r): Declare it.
11299         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
11300         * MODULES.html.sh (Misc): Likewise.
11301         * modules/ptsname (Depends-on): Alter dependency.
11302         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
11303
11304 2011-11-09  Jim Meyering  <meyering@redhat.com>
11305
11306         announce-gen: be more concise when there's only one URL+tarball
11307         * build-aux/announce-gen (get_tool_versions): When you distribute
11308         only one type of tarball, combine the first two "Here are..."
11309         sections and make the key-checking grammar independent of
11310         how many tarballs there are.
11311
11312 2011-11-09  Eric Blake  <eblake@redhat.com>
11313
11314         openpty: provide a stub on mingw
11315         * lib/pty.in.h (includes): Provide forward declarations.
11316         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
11317
11318         raise: fix mingw handling of SIGPIPE
11319         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
11320
11321 2011-11-08  Bruno Haible  <bruno@clisp.org>
11322
11323         More conditional dependencies.
11324         * modules/faccessat (Depends-on): Add conditions.
11325         * modules/fchmodat (Depends-on): Likewise.
11326         * modules/fchownat (Depends-on): Likewise.
11327         * modules/fstatat (Depends-on): Likewise.
11328         * modules/mkfifoat (Depends-on): Likewise.
11329         * modules/readlinkat (Depends-on): Likewise.
11330         * modules/symlinkat (Depends-on): Likewise.
11331         * modules/unlinkat (Depends-on): Likewise.
11332         * modules/utimensat (Depends-on): Likewise.
11333         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
11334         * modules/linkat (Depends-on): Refine the conditions.
11335         * modules/renameat (Depends-on): Likewise.
11336
11337 2011-11-08  Bruno Haible  <bruno@clisp.org>
11338
11339         faccessat: Move AC_LIBOBJ invocation to module description.
11340         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
11341         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
11342         invocation from here...
11343         * modules/faccessat (configure.ac): ... to here. Invoke
11344         gl_PREREQ_FACCESSAT.
11345
11346 2011-11-08  Bruno Haible  <bruno@clisp.org>
11347
11348         faccessat: Simplify autoconf macro.
11349         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
11350         gl_FUNC_EUIDACCESS.
11351
11352 2011-11-08  Bruno Haible  <bruno@clisp.org>
11353
11354         renameat: Fix dependencies.
11355         * modules/renameat (Depends-on): Add stdbool.
11356
11357 2011-11-08  Bruno Haible  <bruno@clisp.org>
11358
11359         mkfifoat: Fix module description.
11360         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
11361         not gl_UNISTD_MODULE_INDICATOR.
11362
11363 2011-11-08  Bruno Haible  <bruno@clisp.org>
11364
11365         fstatat: Remove unused dependency.
11366         * modules/fstatat (Depends-on): Remove fstat.
11367
11368 2011-11-08  Simon Josefsson  <simon@josefsson.org>
11369
11370         GNUmakefile: behave when Makefile is missing.
11371         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
11372
11373 2011-11-08  Bruno Haible  <bruno@clisp.org>
11374
11375         openat: Conditionalize dependencies.
11376         * lib/openat.c: Reduce the scope of some #includes.
11377         * modules/openat (Depends-on): Add conditions.
11378
11379 2011-11-07  Jim Meyering  <meyering@redhat.com>
11380
11381         maint.mk: extract GPG key ID without using a temporary file
11382         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
11383         without using a temporary file.  Based on a suggestion from Werner Koch
11384         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
11385
11386 2011-11-07  Eric Blake  <eblake@redhat.com>
11387
11388         grantpt: fix typo
11389         * lib/stdlib.in.h (grantpt): Check correct function.
11390
11391         maint.mk: silence new syntax check
11392         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
11393
11394 2011-11-06  Bruno Haible  <bruno@clisp.org>
11395
11396         Doc about floating-point and math API.
11397         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
11398         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
11399
11400 2011-11-06  Bruno Haible  <bruno@clisp.org>
11401
11402         stdalign tests: Skip the test when compiled by Sun C.
11403         * tests/test-stdalign.c (main): Skip the test on Sun C.
11404
11405 2011-11-06  Bruno Haible  <bruno@clisp.org>
11406
11407         ansi-c++-opt: Complete the 2011-06-05 change.
11408         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
11409         does not support namespaces, set the variable to "no", not to ":".
11410
11411 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11412
11413         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
11414
11415 2011-11-06  Bruno Haible  <bruno@clisp.org>
11416
11417         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
11418         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
11419         (minus_zerol) [HP-UX]: New macro.
11420         (unary_minus) [HP-UX]: New function.
11421         (copysignl) [HP-UX]: Use unary_minus function.
11422
11423 2011-11-06  Bruno Haible  <bruno@clisp.org>
11424
11425         ldexp, ldexpf, ldexpl: Enhance tests.
11426         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
11427         and tests/test-ldexpl.c.
11428         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
11429         LDEXP, MIN_EXP, MAX_EXP): New macros.
11430         Include test-ldexp.h.
11431         (main): Just call test_function.
11432         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
11433         infinity.h, nan.h.
11434         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
11435         MAX_EXP): New macros.
11436         Include test-ldexp.h.
11437         (x, y): Remove variables.
11438         (main): Just call test_function.
11439         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
11440         infinity.h, nan.h.
11441         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
11442         MAX_EXP): New macros.
11443         Include test-ldexp.h.
11444         (x, y): Remove variables.
11445         (main): Just call test_function.
11446         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
11447         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
11448         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
11449         (Depends-on): Add isnand-nolibm, signbit, float.
11450         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
11451         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
11452         (Depends-on): Add isnanf-nolibm, signbit, float.
11453
11454 2011-11-06  Bruno Haible  <bruno@clisp.org>
11455
11456         math tests: Cosmetics.
11457         * tests/test-math-c++.cc: Reorder declarations.
11458
11459 2011-11-05  Bruno Haible  <bruno@clisp.org>
11460
11461         fma*: Simplify test.
11462         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
11463         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
11464
11465         Tests for module 'fmal'.
11466         * modules/fmal-tests: New file.
11467         * tests/test-fmal1.c: New file.
11468         * tests/test-fmal2.c: New file.
11469
11470         New module 'fmal'.
11471         * lib/math.in.h (fmal): New declaration.
11472         * lib/fmal.c: New file.
11473         * m4/fmal.m4: New file.
11474         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
11475         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
11476         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
11477         REPLACE_FMAL.
11478         * modules/fmal: New file.
11479         * doc/posix-functions/fmal.texi: Mention the new module and the various
11480         bugs.
11481
11482         Tests for module 'fmaf'.
11483         * modules/fmaf-tests: New file.
11484         * tests/test-fmaf1.c: New file.
11485         * tests/test-fmaf2.c: New file.
11486
11487         New module 'fmaf'.
11488         * lib/math.in.h (fmaf): New declaration.
11489         * lib/fmaf.c: New file.
11490         * m4/fmaf.m4: New file.
11491         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
11492         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
11493         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
11494         REPLACE_FMAF.
11495         * modules/fmaf: New file.
11496         * doc/posix-functions/fmaf.texi: Mention the new module and the various
11497         bugs.
11498
11499         Tests for module 'fma'.
11500         * modules/fma-tests: New file.
11501         * tests/test-fma1.c: New file.
11502         * tests/test-fma1.h: New file.
11503         * tests/test-fma2.c: New file.
11504         * tests/test-fma2.h: New file.
11505
11506         New module 'fma'.
11507         * lib/math.in.h (fma): New declaration.
11508         * lib/fma.c: New file.
11509         * m4/fma.m4: New file.
11510         * m4/fegetround.m4: New file.
11511         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
11512         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
11513         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
11514         REPLACE_FMA.
11515         * modules/fma: New file.
11516         * doc/posix-functions/fma.texi: Mention the new module and the various
11517         bugs.
11518
11519         Extend gl_MATHFUNC.
11520         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
11521         Support 'void' as argument type.
11522         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
11523
11524 2011-11-05  Jim Meyering  <meyering@redhat.com>
11525
11526         maint.mk: also prohibit inclusion of dirent.h without use
11527         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
11528
11529 2011-11-05  Bruno Haible  <bruno@clisp.org>
11530
11531         ldexpl tests: Avoid test failure on MSVC 9.
11532         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
11533         value. Needed in order to enforce the conversion from a value greater
11534         than LDBL_MAX to Infinity.
11535
11536 2011-11-05  Bruno Haible  <bruno@clisp.org>
11537
11538         New modules 'at-internal', 'openat-h', split off from module 'openat'.
11539         * modules/at-internal: New file, extracted from modules/openat.
11540         * modules/openat-h: New file.
11541         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
11542         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
11543         * modules/openat (Description): Add reference to POSIX function.
11544         (Files): Remove lib/openat.h, lib/openat-proc.c.
11545         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
11546         intprops, unistd.
11547         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
11548         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
11549         gl_FCNTL_MODULE_INDICATOR.
11550         (Include): Remove unistd.h, openat.h.
11551         * modules/areadlinkat (Files): Add lib/at-func.c.
11552         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
11553         openat-die, openat-h, save-cwd.
11554         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
11555         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
11556         openat-die, openat-h, save-cwd, unistd.
11557         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
11558         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11559         openat-h, save-cwd. Remove fcntl-h, openat.
11560         * modules/fchmodat (Files): Remove lib/openat.h.
11561         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
11562         openat, stdbool, unistd.
11563         * modules/fchownat (Files): Remove lib/openat.h.
11564         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
11565         openat, stdbool, sys_stat.
11566         * modules/fdopendir (Files): Remove lib/openat-priv.h,
11567         lib/openat-proc.c.
11568         (Depends-on): Add at-internal.
11569         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
11570         * modules/fstatat (Files): Remove lib/openat.h.
11571         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
11572         stdbool, unistd.
11573         * modules/fts (Depends-on): Add openat-h.
11574         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
11575         openat.
11576         * modules/mkdirat (Files): Remove lib/openat.h.
11577         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
11578         openat, stdbool, sys_stat.
11579         * modules/mkfifoat (Files): Add lib/at-func.c.
11580         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11581         openat-h, save-cwd. Remove fcntl-h, openat.
11582         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
11583         * modules/readlinkat (Files): Add lib/at-func.c.
11584         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11585         openat-h, save-cwd. Remove fcntl-h, openat.
11586         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
11587         openat.
11588         * modules/selinux-at (Files): Add lib/at-func.c.
11589         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
11590         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
11591         * modules/symlinkat (Files): Add lib/at-func.c.
11592         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11593         openat-h, save-cwd. Remove fcntl-h, openat.
11594         * modules/unlinkat (Files): Remove lib/openat.h.
11595         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
11596         stdbool.
11597         * modules/utimensat (Files): Add lib/at-func.c.
11598         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
11599         openat-die, openat-h, save-cwd.
11600         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
11601         * modules/fdutimensat-tests (Depends-on): Add openat.
11602         * modules/fstatat-tests (Depends-on): Add openat-h.
11603         * modules/readlinkat-tests (Depends-on): Add openat.
11604         * modules/symlinkat-tests (Depends-on): Add openat.
11605
11606 2011-11-05  Bruno Haible  <bruno@clisp.org>
11607
11608         openat: Include <stdbool.h>.
11609         * lib/openat.c: Include <stdbool.h>.
11610
11611 2011-11-04  Bruno Haible  <bruno@clisp.org>
11612
11613         fchownat, renameat, unlinkat: Fix dependencies.
11614         * modules/fchownat (Depends-on): Add fstatat.
11615         * modules/renameat (Depends-on): Likewise.
11616         * modules/unlinkat (Depends-on): Likewise.
11617
11618 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
11619
11620         openat: remove direct dependency on dirent
11621         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
11622         and hasn't been needed ever since fdopendir was split into its own
11623         module on 2009-08-31.
11624         * modules/openat (Depends-on): Remove dirent.
11625
11626 2011-11-04  Bruno Haible  <bruno@clisp.org>
11627
11628         renameat: Optimize code size.
11629         * modules/renameat (configure.ac): Don't compile at-func2.c if
11630         REPLACE_RENAMEAT is 1.
11631
11632 2011-11-04  Bruno Haible  <bruno@clisp.org>
11633
11634         openat tests: Fix file list.
11635         * modules/openat-tests (Files): Add tests/test-open.h.
11636
11637 2011-11-04  Bruno Haible  <bruno@clisp.org>
11638
11639         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
11640         * modules/fchmodat (Depends-on): Add openat-die.
11641         * modules/fchownat (Depends-on): Likewise.
11642         * modules/linkat (Depends-on): Likewise.
11643         * modules/renameat (Depends-on): Likewise.
11644         * modules/openat (Depends-on): Add dirent.
11645
11646 2011-11-04  Jim Meyering  <meyering@redhat.com>
11647
11648         at-func*.c: fix comments
11649         * lib/at-func2.c: Correct/improve first-line comment.
11650         * lib/at-func.c: Correct grammar in first-line comment.
11651
11652 2011-11-04  Bruno Haible  <bruno@clisp.org>
11653
11654         New module 'mkdirat', split off from module 'openat'.
11655         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
11656         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
11657         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
11658         * modules/mkdirat: New file, extracted from modules/openat.
11659         * modules/openat (Files): Remove lib/mkdirat.c.
11660         (Depends-on): Remove mkdir.
11661         (configure.ac): Remove AC_LIBOBJ of mkdirat.
11662         (Include): Remove <sys/stat.h>.
11663         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
11664         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
11665         tests/test-mkdir.h.
11666         (Depends-on): Remove ignore-value.
11667         (Makefile.am): Remove rules for test-mkdirat.
11668         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
11669         of module 'openat'.
11670         * NEWS: Mention the change.
11671
11672 2011-11-04  Bruno Haible  <bruno@clisp.org>
11673
11674         closedir: Avoid warning on mingw.
11675         * lib/closedir.c: Include <unistd.h>.
11676
11677 2011-11-04  Bruno Haible  <bruno@clisp.org>
11678
11679         New module 'fstatat', split off from module 'openat'.
11680         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
11681         defined.
11682         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
11683         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
11684         gl_FUNC_FSTATAT.
11685         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
11686         * modules/fstatat: New file, extracted from modules/openat.
11687         * modules/openat (Files): Remove lib/fstatat.c.
11688         (Depends-on): Remove lstat.
11689         (configure.ac): Remove AC_LIBOBJ of fstatat.
11690         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
11691         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
11692         tests/test-lstat.h, tests/test-stat.h.
11693         (Depends-on): Remove getcwd-lgpl.
11694         (Makefile.am): Remove rules for test-fstatat.
11695         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
11696         of module 'openat'.
11697         * NEWS: Mention the change.
11698         * modules/getcwd (Depends-on): Add fstatat.
11699         * modules/linkat (Depends-on): Likewise.
11700         * modules/mkfifoat-tests (Depends-on): Likewise.
11701         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
11702
11703 2011-11-03  Bruno Haible  <bruno@clisp.org>
11704
11705         New module 'unlinkat', split off from module 'openat'.
11706         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
11707         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
11708         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
11709         * modules/unlinkat: New file, extracted from modules/openat. Correct
11710         the dependency conditions.
11711         * modules/openat (Files): Remove lib/unlinkat.c.
11712         (Depends-on): Remove rmdir, unlink.
11713         (configure.ac): Remove AC_LIBOBJ of unlinkat.
11714         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
11715         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
11716         tests/test-rmdir.h, tests/test-unlink.h.
11717         (Depends-on): Remove unlinkdir.
11718         (Makefile.am): Remove rules for test-unlinkat.
11719         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
11720         of module 'openat'.
11721         * NEWS: Mention the change.
11722         * modules/linkat-tests (Depends-on): Add unlinkat.
11723         * modules/mkfifoat-tests (Depends-on): Likewise.
11724         * modules/readlinkat-tests (Depends-on): Likewise.
11725
11726 2011-11-02  Bruno Haible  <bruno@clisp.org>
11727
11728         New module 'fchmodat', split off from module 'openat'.
11729         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
11730         defined.
11731         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
11732         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
11733         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
11734         * modules/fchmodat: New file, extracted from modules/openat.
11735         * modules/openat (Files): Remove lib/fchmodat.c.
11736         (configure.ac): Remove AC_LIBOBJ of fchmodat.
11737         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
11738         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
11739         (Makefile.am): Remove rules for test-fchmodat.
11740         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
11741         of module 'openat'.
11742         * NEWS: Mention the change.
11743
11744 2011-11-02  Jim Meyering  <meyering@redhat.com>
11745
11746         putenv: indent #definition of "environ" to placate cppi
11747         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
11748
11749         gitlog-to-changelog: provide a ChangeLog-repair mechanism
11750         Git logs are often treated as immutable, because editing them
11751         changes the SHA1 checksums of all descendants.  Thus, errors in
11752         git logs tend to stay there forever.  However, when we generate
11753         a ChangeLog file -- typically for distribution -- from that git log,
11754         we can actually make corrections in the generated file.  The key
11755         lies in recording in machine-readable/applicable form the desired
11756         corrections.  See --help for description and an example.
11757         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
11758         (usage): Describe it; alphabetize option descriptions.
11759         (main): Honor the new option, carefully.
11760
11761 2011-11-01  Jim Meyering  <meyering@redhat.com>
11762
11763         gitlog-to-changelog: avoid an infloop
11764         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
11765         that ends up being empty.
11766
11767 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11768
11769         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
11770         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
11771         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
11772         contains (possibly-quoted) backslashes.  This should avoid
11773         all-too-common shell bugs if COMPLICATED contains backslashes in
11774         the "wrong" places.  Reported by David Evans in
11775         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
11776         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
11777         because we want ASCII ranges.  Is there some reason we don't use
11778         the C locale everywhere in this script?
11779         (func_module, top level): Avoid unwanted pathname expansion when
11780         $repo_url_prefix or $repo_url_suffix_repl contain shell
11781         metacharacters like '?' and '*'.
11782
11783 2011-11-01  Bruno Haible  <bruno@clisp.org>
11784
11785         fchownat: Improve description.
11786         * modules/fchownat (Description): Add link to function.
11787
11788 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11789
11790         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
11791         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
11792         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
11793         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
11794
11795 2011-11-01  Bruno Haible  <bruno@clisp.org>
11796
11797         alignof: Avoid collision with stdalign module.
11798         * lib/alignof.h (alignof): Remove macro.
11799         * NEWS: Mention the change.
11800         Reported by Paul Eggert.
11801
11802 2011-11-01  Bruno Haible  <bruno@clisp.org>
11803
11804         New module 'fchownat', split off from module 'openat'.
11805         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
11806         defined.
11807         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
11808         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
11809         invoke gl_FUNC_FCHOWNAT.
11810         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
11811         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
11812         * modules/fchownat: New file, extracted from modules/openat.
11813         * modules/openat (Files): Remove lib/fchownat.c.
11814         (Depends-on): Remove lchown.
11815         (configure.ac): Remove AC_LIBOBJ of fchownat.
11816         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
11817         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
11818         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
11819         (Depends-on): Remove mgetgroups, usleep, stat-time.
11820         (configure.ac): Remove test for getegid.
11821         (Makefile.am): Remove rules for test-fchownat.
11822         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
11823         of module 'openat'.
11824         * NEWS: Mention the change.
11825
11826 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
11827
11828         stdalign: port better to MSVC and to Sun C 5.11
11829         This fixes some of the problems reported by Bruno Haible in
11830         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
11831         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
11832         shortcomings of MSVC and of Sun C 5.11.
11833         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
11834         around __declspec arg.
11835         * modules/stdalign-tests (Files): Add tests/macros.h.
11836         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
11837         Include macros.h, for ASSERT.
11838         (DECLARE_ALIGNED): Remove.
11839         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
11840         to catch bug), and to 1 if not (simplifies the rest of the code).
11841         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
11842         (CHECK_AUTO): Remove.
11843         (CHECK_ALIGNED): Check only the alignment of the static vars,
11844         since auto var alignment isn't supported by Sun C 5.11.
11845         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
11846         ASSERT failures are easier to diagnose.
11847
11848 2011-10-31  Bruno Haible  <bruno@clisp.org>
11849
11850         doc about some IRIX 5.3 problems.
11851         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
11852         on IRIX 5.3.
11853         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
11854         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
11855         5.3.
11856         * doc/posix-functions/grantpt.texi: Likewise.
11857         * doc/posix-functions/unlockpt.texi: Likewise.
11858         * doc/posix-functions/lgamma.texi: Likewise.
11859         * doc/posix-functions/nextafter.texi: Likewise.
11860         * doc/posix-functions/remainder.texi: Likewise.
11861         * doc/posix-functions/select.texi: Mention misplaced declaration on
11862         IRIX 5.3.
11863         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11864
11865 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
11866
11867         gitlog-to-changelog: fix git-log invocation.
11868         git-log mishandles date strings before 1970-01-01 UTC, and there is
11869         no use to specify --since=1970-01-01 by default anyway.
11870         * build-aux/gitlog-to-changelog: By default, when no --since option
11871         was given, do not specify explicit --since option to git-log.
11872
11873 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
11874
11875         gitlog-to-changelog: new option --append-dot.
11876         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
11877         first non-blank line of each commit message terminated with a dot.
11878
11879 2011-10-30  Bruno Haible  <bruno@clisp.org>
11880
11881         ffsl, ffsll: Avoid compilation error due to 'restrict'.
11882         * lib/ffsl.h: Include <config.h>.
11883         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
11884
11885 2011-10-30  Jim Meyering  <meyering@redhat.com>
11886
11887         GNUmakefile: reenable "make syntax-check" for most projects
11888         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
11889         build-aux variable", "syntax-check" would do nothing but succeed with
11890         the "No version control files detected..." diagnostic (unless you
11891         happened to override _build-aux via cfg.mk).
11892         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
11893         to precede inclusion of maint.mk.  Otherwise, these variables would
11894         be used undefined in any project that does not override the default.
11895
11896 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
11897
11898         gitlog-to-changelog: treat a message with only blank lines as empty.
11899         * build-aux/gitlog-to-changelog: Move the code that removes leading and
11900         trailing blank lines before the code that issues a warning about an
11901         empty commit message.
11902
11903 2011-10-30  Jim Meyering  <meyering@redhat.com>
11904
11905         test-parse-datetime.c: avoid new DST-related false positive test failure
11906         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
11907         based on the time/date we'll convert, not the current time.
11908         Otherwise, the moment we cross a DST boundary like today's in
11909         Europe, (CEST to CET), that offset ends up being one hour off.
11910
11911 2011-10-27  Bruno Haible  <bruno@clisp.org>
11912
11913         fstat: Tweak documentation.
11914         * modules/fstat (Description): More precise description.
11915
11916 2011-10-27  Bruno Haible  <bruno@clisp.org>
11917
11918         Update documentation regarding 'largefile' module.
11919         * doc/posix-functions/fstat.texi: Tweak wording.
11920         * doc/posix-functions/opendir.texi: Mention that the module fixes the
11921         problems with huge directories and/or small ino_t types.
11922         * doc/posix-functions/readdir.texi: Likewise.
11923         * doc/posix-functions/rewinddir.texi: Likewise.
11924
11925 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
11926
11927         maint.mk: don't maintain a second build-aux variable.
11928         * maint.mk (build_aux): Removed.  The maintainer-makefile module
11929         depends on GNUmakefile, which already maintains a cfg.mk
11930         overridable $(_build-aux) for projects with a non-standard
11931         build-aux directory location, although without the $(srcdir)
11932         prefix.  Use that variable consistently instead of introducing a
11933         second one.  Adjust all call sites.
11934
11935 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11936
11937         Add stdalign module and use it in other modules.
11938         This is based on a previous proposal by Bruno Haible
11939         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
11940
11941         stdalign: new module
11942         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
11943         * modules/stdalign: New files.
11944         * MODULES.html.sh (c1x_core_properties): Add stdalign.
11945         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
11946
11947         stdalign-tests: new module
11948         * modules/stdalign-tests, tests/test-stdalign.c: New files.
11949
11950         argp: use stdalign
11951         * lib/argp-parse.c: Include <stdalign.h>.
11952         (alignof): Remove.
11953         * modules/argp (Depends-on): Add stdalign.
11954
11955         crypto libraries: use stdalign
11956         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
11957         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
11958         Do not include <stdlib.h> twice, in md4.c.
11959         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
11960         because we are accessing a pointer's bit-pattern, not a size.
11961         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
11962         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
11963         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
11964         * modules/crypto/sha512: Likewise.
11965
11966         sys_socket: use stdalign, not alignof
11967         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
11968         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
11969
11970 2011-10-27  Bruno Haible  <bruno@clisp.org>
11971
11972         raise test: Avoid a test failure on Linux/MIPS.
11973         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
11974         because 99 is a valid signal on Linux/MIPS.
11975
11976 2011-10-27  Bruno Haible  <bruno@clisp.org>
11977
11978         nonblocking tests: Fix test failure on Linux/MIPS.
11979         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
11980         Set to 270000.
11981
11982 2011-10-27  Bruno Haible  <bruno@clisp.org>
11983
11984         utimensat: Work around problem on Linux/hppa.
11985         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
11986         values.
11987         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
11988
11989 2011-10-25  Jim Meyering  <meyering@redhat.com>
11990
11991         maint.mk: fix a bug in sc_prohibit_stddef_without_use
11992         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
11993         after symbols like NULL, size_t, etc.
11994         Reported by Alfred M. Szmidt.
11995
11996         maint.mk: exempt ENODATA from a syntax-check rule
11997         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
11998         from the sc_prohibit_always-defined_macros syntax-check rule.
11999         Add a comment.  See this for more details:
12000         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
12001
12002 2011-10-23  Jim Meyering  <meyering@redhat.com>
12003
12004         fts: close parent dir FD before returning from post-traversal fts_read
12005         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
12006         unlink A, even though an FD open on A remained.  This is suboptimal
12007         (holding a file descriptor open longer than needed), but otherwise not
12008         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
12009         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
12010         that represents a real problem: it causes the removal of A to fail
12011         with e.g., "rm: cannot remove `A': Device or resource busy"
12012
12013         fts visits each directory twice and keeps a cache (fts_fd_ring) of
12014         directory file descriptors.  After completing the final, FTS_DP,
12015         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
12016         cache, but then proceeded to add a new FD to it via the subsequent
12017         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
12018         final file descriptor would be closed only via fts_close's call to
12019         fd_ring_clear.  Now, it is usually closed earlier, via the final
12020         FTS_DP-returning fts_read call.
12021         * lib/fts.c (restore_initial_cwd): New function, converted from
12022         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
12023         Update callers.
12024         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
12025         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
12026
12027 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
12028             Bruno Haible  <bruno@clisp.org>
12029             Jim Meyering  <jim@meyering.net>
12030
12031         readme-release: improve safety of release prep instructions.
12032         * README-release: Don't git pull all branches when only master
12033         is needed for the release process.
12034         Run make maintainer-clean before changing trees and merging.
12035         Don't try to run ./configure right after git pull in case files
12036         that influence the bootstrap process have changed, move the
12037         ./configure step to after running ./bootstrap.
12038         Don't bootstrap "one last time"... it's the first time!
12039
12040 2011-10-22  Bruno Haible  <bruno@clisp.org>
12041
12042         errno, strerror-override: Support for MSVC 10.
12043         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
12044         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
12045         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
12046         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
12047         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
12048         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
12049         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
12050         Assign values compatible with MSVC 10.
12051         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
12052         New macros.
12053         (GNULIB_defined_EWINSOCK): New macro.
12054         * lib/strerror-override.c (strerror_override): Update accordingly.
12055         * lib/strerror-override.h: Likewise.
12056         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
12057         longer equal to the corresponding errno value.
12058         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
12059
12060 2011-10-22  Bruno Haible  <bruno@clisp.org>
12061
12062         perror: Recognize when test program crashes.
12063         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
12064         strerror, set gl_cv_func_perror_works to no.
12065         Reported by Daniel Richard G. <skunk@iskunk.org>.
12066
12067         perror: Fix indentation.
12068         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
12069
12070 2011-10-22  Bruno Haible  <bruno@clisp.org>
12071
12072         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
12073         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
12074         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
12075         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
12076         functions, not as a macro.
12077         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
12078         macros.
12079         (isfinite, isinf, isnan, signbit): Check overloaded functions and
12080         absence of macro.
12081         Suggested by Eric Blake.
12082         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
12083
12084 2011-10-21  Bruno Haible  <bruno@clisp.org>
12085
12086         relocatable-prog-wrapper: Don't leave object files behind.
12087         * build-aux/install-reloc: Re-synchronize list of .o files to be
12088         removed with list of compilation units.
12089
12090 2011-10-20  Bruno Haible  <bruno@clisp.org>
12091
12092         openpty, posix_openpt: Remove code duplication.
12093         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
12094         * lib/openpty.c: Include <stdlib.h>.
12095         (openpty): Use posix_openpt on all platforms except IRIX.
12096         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
12097
12098 2011-10-20  Bruno Haible  <bruno@clisp.org>
12099
12100         unlockpt: Detect invalid argument.
12101         * lib/unlockpt.c: Include <fcntl.h>.
12102         (unlockpt): Check whether fd is valid, using fcntl().
12103         * modules/unlockpt (Depends-on): Add fcntl-h.
12104
12105 2011-10-20  Bruno Haible  <bruno@clisp.org>
12106
12107         openpty: Avoid compilation error on AIX 6.1.
12108         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
12109
12110 2011-10-20  Bruno Haible  <bruno@clisp.org>
12111
12112         posix_openpt: Support for OpenBSD.
12113         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
12114         (posix_openpt) [OpenBSD]: New code.
12115         * lib/grantpt.c: Include <fcntl.h>.
12116         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
12117         * modules/grantpt (Depends-on): Add fcntl-h.
12118
12119 2011-10-20  Bruno Haible  <bruno@clisp.org>
12120
12121         posix_openpt test: Coding style.
12122         * tests/test-posix_openpt.c: Use GNU coding style.
12123
12124 2011-10-20  Bruno Haible  <bruno@clisp.org>
12125
12126         grantpt: Support --avoid=pt_chown.
12127         * modules/grantpt (Files): Add lib/pty-private.h.
12128
12129 2011-10-20  Bruno Haible  <bruno@clisp.org>
12130
12131         posix_openpt: Fix autoconf macro.
12132         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
12133         unneeded check for _getpty.
12134
12135 2011-10-20  Bruno Haible  <bruno@clisp.org>
12136
12137         openpty: Update comments.
12138         * lib/openpty.c: Add comments about Minix.
12139
12140 2011-10-19  Eric Blake  <eblake@redhat.com>
12141
12142         openpty: relax license
12143         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
12144
12145         pt_chown: use configmake to simplify build
12146         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
12147
12148         ptsname and others: relax license
12149         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
12150         * modules/unlockpt (License): Likewise.
12151         * modules/pt_chown (License): Likewise.
12152         * modules/ptsname (License): Likewise.
12153         * modules/ttyname_r (License): Likewise.
12154
12155 2011-10-19  Jim Meyering  <meyering@redhat.com>
12156
12157         posix_openpt: remove spurious #endif
12158         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
12159
12160 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
12161
12162         maint.mk: Respect $(build_aux) in web-manual rule.
12163         * top/maint.mk (web-manual): Find gen-announce script in user's
12164         $(build_aux) directory instead of hard-coding 'build-aux'.
12165
12166 2011-10-19  Bruno Haible  <bruno@clisp.org>
12167
12168         posix_openpt: Fix compilation error.
12169         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
12170         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
12171         Mention the openpty module as an alternative.
12172
12173 2011-10-19  Bruno Haible  <bruno@clisp.org>
12174
12175         Support for old NeXTstep 3.3 frexp().
12176         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
12177         execution time of the test to 5 seconds.
12178         Reported by Daniel Richard G. <skunk@iskunk.org>.
12179
12180 2011-10-19  Bruno Haible  <bruno@clisp.org>
12181
12182         Support for old NeXTstep 3.3 sed.
12183         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
12184         part, use /.../, not \|...|. Escape periods in the header file name.
12185         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
12186         Reported by Daniel Richard G. <skunk@iskunk.org>.
12187
12188 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
12189
12190         Support for old NeXTstep 3.3 gcc.
12191         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
12192         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
12193         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
12194         * lib/spawn.in.h (_Restrict_arr_): Likewise.
12195         * lib/regex.h (_Restrict_arr_): Likewise.
12196         * lib/regex_internal.h (re_token_t): Likewise.
12197         * lib/regexec.c (check_node_accept_bytes): Likewise.
12198         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
12199
12200 2011-10-18  Eric Blake  <eblake@redhat.com>
12201
12202         posix_openpt: new module
12203         * modules/posix_openpt: New module.
12204         * m4/posix_openpt.m4: New file.
12205         * lib/posix_openpt.c: Likewise.
12206         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
12207         (gl_STDLIB_H_DEFAULTS): Set defaults.
12208         * modules/stdlib (Makefile.am): Substitute macros.
12209         * lib/stdlib.in.h (posix_openpt): Declare.
12210         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
12211         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
12212         * modules/posix_openpt-tests: New test module.
12213         * tests/test-posix_openpt.c: New test.
12214
12215 2011-10-15  Bruno Haible  <bruno@clisp.org>
12216
12217         xstrtoll: Fix compilation failure.
12218         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
12219         from lib/strtol.c.
12220         * doc/posix-headers/limits.texi: Mention missing numerical limits on
12221         some platforms.
12222         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12223
12224 2011-10-15  Bruno Haible  <bruno@clisp.org>
12225
12226         vasnprintf: Optimize bit search operation.
12227         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
12228         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
12229         gl_DOUBLE_EXPONENT_LOCATION.
12230         * modules/vasnprintf (Files): Add m4/exponentd.m4.
12231         * modules/unistdio/u8-vasnprintf (Files): Likewise.
12232         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
12233         * modules/unistdio/u16-vasnprintf (Files): Likewise.
12234         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
12235         * modules/unistdio/u32-vasnprintf (Files): Likewise.
12236         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
12237         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
12238         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
12239
12240 2011-10-15  Bruno Haible  <bruno@clisp.org>
12241
12242         vasnprintf: Fix comments.
12243         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
12244
12245 2011-10-14  Bruno Haible  <bruno@clisp.org>
12246
12247         Tests for module 'integer_length_ll'.
12248         * modules/integer_length_ll-tests: New file.
12249         * tests/test-integer_length_ll.c: New file.
12250
12251         New module 'integer_length_ll'.
12252         * lib/integer_length_ll.c: New file.
12253         * modules/integer_length_ll: New file.
12254
12255 2011-10-14  Bruno Haible  <bruno@clisp.org>
12256
12257         Tests for module 'integer_length_l'.
12258         * modules/integer_length_l-tests: New file.
12259         * tests/test-integer_length_l.c: New file.
12260
12261         New module 'integer_length_l'.
12262         * lib/integer_length_l.c: New file.
12263         * modules/integer_length_l: New file.
12264
12265 2011-10-14  Bruno Haible  <bruno@clisp.org>
12266
12267         Tests for module 'integer_length'.
12268         * modules/integer_length-tests: New file.
12269         * tests/test-integer_length.c: New file.
12270
12271         New module 'integer_length'.
12272         * lib/integer_length.h: New file.
12273         * lib/integer_length.c: New file.
12274         * modules/integer_length: New file.
12275
12276 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
12277
12278         popen: Fix dependency conditions.
12279         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
12280
12281 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
12282
12283         perror: Fix autoconf test.
12284         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
12285         <stdlib.h> and <string.h>.
12286
12287 2011-10-14  Bruno Haible  <bruno@clisp.org>
12288
12289         ffsl: Optimize on 64-bit platforms.
12290         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
12291         unrolling.
12292
12293 2011-10-13  Bruno Haible  <bruno@clisp.org>
12294
12295         ffsl: Optimize on 32-bit platforms.
12296         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
12297         use ffs() without a loop.
12298
12299         ffsl, ffsll: Optimize for GCC.
12300         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
12301         * lib/ffsl.c (GCC_BUILTIN): New macro.
12302         * lib/ffsll.c (GCC_BUILTIN): Likewise.
12303
12304 2011-10-13  Bruno Haible  <bruno@clisp.org>
12305
12306         ffs, bcopy, memset: Support symbol renaming via config.h.
12307         * lib/ffs.c: Include <config.h>.
12308         * lib/bcopy.c: Likewise.
12309         * lib/memset.c: Likewise.
12310
12311 2011-10-10  Bruno Haible  <bruno@clisp.org>
12312
12313         atanl: Simplify for platforms where 'long double' == 'double'.
12314         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12315         alternative implementation.
12316         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12317         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12318         * modules/atanl (Depends-on): Add atan. Update conditions.
12319
12320 2011-10-10  Bruno Haible  <bruno@clisp.org>
12321
12322         acosl: Simplify for platforms where 'long double' == 'double'.
12323         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12324         alternative implementation.
12325         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12326         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12327         * modules/acosl (Depends-on): Add acos. Update conditions.
12328
12329 2011-10-10  Bruno Haible  <bruno@clisp.org>
12330
12331         asinl: Simplify for platforms where 'long double' == 'double'.
12332         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12333         alternative implementation.
12334         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12335         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12336         * modules/asinl (Depends-on): Add asin. Update conditions.
12337
12338 2011-10-10  Bruno Haible  <bruno@clisp.org>
12339
12340         tanl: Simplify for platforms where 'long double' == 'double'.
12341         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
12342         implementation.
12343         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12344         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12345         * modules/tanl (Depends-on): Add tan. Update conditions.
12346         (configure.ac): Don't compile trigl.c if
12347         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12348
12349 2011-10-10  Bruno Haible  <bruno@clisp.org>
12350
12351         cosl: Simplify for platforms where 'long double' == 'double'.
12352         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
12353         implementation.
12354         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12355         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12356         * modules/cosl (Depends-on): Add cos. Update conditions.
12357         (configure.ac): Don't compile sincosl.c and trigl.c if
12358         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12359
12360 2011-10-10  Bruno Haible  <bruno@clisp.org>
12361
12362         sinl: Simplify for platforms where 'long double' == 'double'.
12363         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
12364         implementation.
12365         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12366         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12367         * modules/sinl (Depends-on): Add sin. Update conditions.
12368         (configure.ac): Don't compile sincosl.c and trigl.c if
12369         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12370
12371 2011-10-10  Bruno Haible  <bruno@clisp.org>
12372
12373         logl: Simplify for platforms where 'long double' == 'double'.
12374         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
12375         implementation.
12376         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12377         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12378         * modules/logl (Depends-on): Add log. Update conditions.
12379
12380 2011-10-10  Bruno Haible  <bruno@clisp.org>
12381
12382         expl: Simplify for platforms where 'long double' == 'double'.
12383         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
12384         implementation.
12385         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12386         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12387         * modules/expl (Depends-on): Add exp. Update conditions.
12388
12389 2011-10-10  Bruno Haible  <bruno@clisp.org>
12390
12391         sqrtl: Simplify for platforms where 'long double' == 'double'.
12392         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12393         alternative implementation.
12394         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12395         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12396         * modules/sqrtl (Depends-on): Update conditions.
12397
12398 2011-10-10  Bruno Haible  <bruno@clisp.org>
12399
12400         ldexpl: Simplify for platforms where 'long double' == 'double'.
12401         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12402         alternative implementation.
12403         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12404         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12405         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
12406
12407 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
12408
12409         ffsll: set correct witness
12410         * modules/ffsll (configure.ac): Fix typo.
12411
12412 2011-10-10  Bruno Haible  <bruno@clisp.org>
12413
12414         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
12415         * lib/printf-frexpl.c: Include <config.h>.
12416         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12417         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
12418         second time.
12419         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
12420         gl_LONG_DOUBLE_VS_DOUBLE.
12421         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
12422         conditions.
12423
12424 2011-10-10  Bruno Haible  <bruno@clisp.org>
12425
12426         frexpl: Simplify for platforms where 'long double' == 'double'.
12427         * lib/frexpl.c: Include <config.h>.
12428         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12429         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12430         time.
12431         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12432         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12433         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
12434         * modules/frexpl (Depends-on): Add frexp. Update conditions.
12435         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
12436         conditions.
12437
12438 2011-10-10  Jim Meyering  <meyering@redhat.com>
12439
12440         test-renameat: don't leave behind a temporary file
12441         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
12442           ERROR: files left in build directory after distclean:
12443           ./gltests/test-renameat.too
12444           make[1]: *** [distcleancheck] Error 1
12445         Reported by Tom G. Christensen.
12446
12447 2011-10-09  Bruno Haible  <bruno@clisp.org>
12448
12449         rint: Determine RINT_LIBM correctly on AIX 7.
12450         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
12451         directly, not only through a function pointer. Also accept an optional
12452         4th argument with extra code.
12453         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
12454         rintf() call by gcc when optimizing.
12455
12456         mathfunc.m4: Refactor.
12457         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
12458         m4 variable.
12459
12460 2011-10-09  Bruno Haible  <bruno@clisp.org>
12461
12462         rintl: Simplify for platforms where 'long double' == 'double'.
12463         * lib/rintl.c: Include <config.h>.
12464         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12465         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12466         time.
12467         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12468         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12469         * modules/rintl (Depends-on): Add rint. Update conditions.
12470
12471 2011-10-09  Bruno Haible  <bruno@clisp.org>
12472
12473         roundl: Simplify for platforms where 'long double' == 'double'.
12474         * lib/roundl.c: Include <config.h>.
12475         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12476         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12477         time.
12478         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12479         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12480         * modules/roundl (Depends-on): Add round. Update conditions.
12481
12482 2011-10-09  Bruno Haible  <bruno@clisp.org>
12483
12484         truncl: Simplify for platforms where 'long double' == 'double'.
12485         * lib/truncl.c: Include <config.h>.
12486         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12487         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12488         time.
12489         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12490         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12491         * modules/truncl (Depends-on): Add trunc. Update conditions.
12492
12493 2011-10-09  Bruno Haible  <bruno@clisp.org>
12494
12495         ceill: Simplify for platforms where 'long double' == 'double'.
12496         * lib/ceill.c: Include <config.h>.
12497         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12498         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12499         time.
12500         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12501         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12502         * modules/ceill (Depends-on): Add ceil. Update conditions.
12503
12504 2011-10-09  Bruno Haible  <bruno@clisp.org>
12505
12506         floorl: Simplify for platforms where 'long double' == 'double'.
12507         * lib/floorl.c: Include <config.h>.
12508         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12509         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12510         time.
12511         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12512         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12513         * modules/floorl (Depends-on): Add floor. Update conditions.
12514
12515 2011-10-09  Bruno Haible  <bruno@clisp.org>
12516
12517         rint: Fix ordering constraints.
12518         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
12519         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
12520         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
12521
12522 2011-10-09  Bruno Haible  <bruno@clisp.org>
12523
12524         copysignl: Simplify for platforms where 'long double' == 'double'.
12525         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12526         alternative.
12527         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12528         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12529         * modules/copysignl (Depends-on): Add copysign. Update conditions.
12530
12531 2011-10-09  Bruno Haible  <bruno@clisp.org>
12532
12533         Tests for module 'rintl'.
12534         * modules/rintl-tests: New file.
12535         * tests/test-rintl.c: New file.
12536
12537         New module 'rintl'.
12538         * lib/math.in.h (rintl): New declaration.
12539         * lib/rintl.c: New file.
12540         * m4/rintl.m4: New file.
12541         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
12542         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
12543         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
12544         * modules/rintl: New file.
12545         * tests/test-math-c++.cc: Check the declaration of rintl.
12546         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
12547         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
12548         * doc/posix-functions/rintl.texi: Mention the new module.
12549
12550 2011-10-09  Bruno Haible  <bruno@clisp.org>
12551
12552         Tests for module 'rintf'.
12553         * modules/rintf-tests: New file.
12554         * tests/test-rintf.c: New file.
12555
12556         New module 'rintf'.
12557         * lib/math.in.h (rintf): New declaration.
12558         * lib/rintf.c: New file.
12559         * m4/rintf.m4: New file.
12560         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
12561         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
12562         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
12563         * modules/rintf: New file.
12564         * tests/test-math-c++.cc: Check the declaration of rintf.
12565         * doc/posix-functions/rintf.texi: Mention the new module.
12566
12567 2011-10-09  Bruno Haible  <bruno@clisp.org>
12568
12569         rint: Support for MSVC.
12570         * lib/math.in.h (rint): New declaration.
12571         * lib/rint.c: New file.
12572         * m4/rint.m4: New file.
12573         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
12574         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
12575         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
12576         * modules/rint (Description): Fix.
12577         (Files): Add lib/rint.c, m4/rint.m4.
12578         (Depends-on): Add math.
12579         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
12580         gl_MATH_MODULE_INDICATOR.
12581         * tests/test-math-c++.cc: Check the declaration of rint.
12582         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
12583         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
12584         * doc/posix-functions/rint.texi: Mention the replacement provided by
12585         the module.
12586
12587         rint tests: More tests.
12588         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
12589         minus-zero.h, infinity.h, nan.h.
12590         (main): Skip the test if the current rounding mode is not standard. Add
12591         tests for negative numbers, minus zero, infinity, NaN.
12592         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
12593         tests/nan.h.
12594         (Depends-on): Add isnand-nolibm.
12595
12596 2011-10-09  Bruno Haible  <bruno@clisp.org>
12597
12598         Tests for module 'copysignl'.
12599         * modules/copysignl-tests: New file.
12600         * tests/test-copysignl.c: New file.
12601
12602         New module 'copysignl'.
12603         * lib/math.in.h (copysignl): New declaration.
12604         * lib/copysignl.c: New file.
12605         * m4/copysignl.m4: New file.
12606         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
12607         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
12608         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
12609         HAVE_COPYSIGNL.
12610         * modules/copysignl: New file.
12611         * tests/test-math-c++.cc: Check the declaration of copysignl.
12612         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
12613         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
12614         * doc/posix-functions/copysignl.texi: Mention the new module.
12615
12616 2011-10-09  Bruno Haible  <bruno@clisp.org>
12617
12618         Tests for module 'copysignf'.
12619         * modules/copysignf-tests: New file.
12620         * tests/test-copysignf.c: New file.
12621
12622         New module 'copysignf'.
12623         * lib/math.in.h (copysignf): New declaration.
12624         * lib/copysignf.c: New file.
12625         * m4/copysignf.m4: New file.
12626         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
12627         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
12628         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
12629         HAVE_COPYSIGNF.
12630         * modules/copysignf: New file.
12631         * tests/test-math-c++.cc: Check the declaration of copysignf.
12632         * doc/posix-functions/copysignf.texi: Mention the new module.
12633
12634 2011-10-09  Bruno Haible  <bruno@clisp.org>
12635
12636         Ensure that HAVE_* variables are set to 1 before they are set to 0.
12637         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
12638         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
12639         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
12640         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
12641         gl_SIGNAL_H_DEFAULTS.
12642
12643 2011-10-09  Bruno Haible  <bruno@clisp.org>
12644
12645         poll: Make macro safer.
12646         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
12647         ac_cv_header_poll_h is not set.
12648
12649 2011-10-09  Bruno Haible  <bruno@clisp.org>
12650
12651         copysign: Provide replacement.
12652         * lib/math.in.h (copysign): New declaration.
12653         * lib/copysign.c: New file.
12654         * m4/copysign.m4: New file.
12655         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
12656         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
12657         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
12658         HAVE_COPYSIGN.
12659         * modules/copysign (Description): Clarify.
12660         (Files): Add lib/copysign.c, m4/copysign.m4.
12661         (Depends-on): Add math, signbit.
12662         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
12663         gl_MATH_MODULE_INDICATOR.
12664         * tests/test-math-c++.cc: Check the declaration of copysign.
12665         * doc/posix-functions/copysign.texi: Mention the effects of the module
12666         on Minix and MSVC.
12667
12668 2011-10-09  Bruno Haible  <bruno@clisp.org>
12669
12670         isinf: Ensure macro on AIX 5.1.
12671         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
12672         macro.
12673         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
12674
12675 2011-10-09  Bruno Haible  <bruno@clisp.org>
12676
12677         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
12678         * modules/snprintf-posix-tests (configure.ac): Require
12679         gl_LONG_DOUBLE_VS_DOUBLE.
12680         * modules/sprintf-posix-tests (configure.ac): Likewise.
12681         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
12682         * modules/vasprintf-posix-tests (configure.ac): Likewise.
12683         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
12684         * modules/vsprintf-posix-tests (configure.ac): Likewise.
12685         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
12686         tests on platforms where 'long double' is the same as 'double'.
12687         * tests/test-sprintf-posix.h (test_function): Likewise.
12688         * tests/test-vasnprintf-posix.c (test_function): Likewise.
12689         * tests/test-vasprintf-posix.c (test_function): Likewise.
12690
12691         *printf: Fix for platforms where 'long double' == 'double'.
12692         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
12693         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
12694         * modules/dprintf-posix (Files): Add m4/math_h.m4.
12695         * modules/fprintf-posix (Files): Likewise.
12696         * modules/obstack-printf-posix (Files): Likewise.
12697         * modules/snprintf-posix (Files): Likewise.
12698         * modules/sprintf-posix (Files): Likewise.
12699         * modules/vasnprintf (Files): Likewise.
12700         * modules/vasnprintf-posix (Files): Likewise.
12701         * modules/vasprintf-posix (Files): Likewise.
12702         * modules/vdprintf-posix (Files): Likewise.
12703         * modules/vfprintf-posix (Files): Likewise.
12704         * modules/vsnprintf-posix (Files): Likewise.
12705         * modules/vsprintf-posix (Files): Likewise.
12706         * modules/unistdio/u8-vasnprintf (Files): Likewise.
12707         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
12708         * modules/unistdio/u16-vasnprintf (Files): Likewise.
12709         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
12710         * modules/unistdio/u32-vasnprintf (Files): Likewise.
12711         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
12712         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
12713
12714         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
12715         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
12716         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12717         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
12718         'long double'.
12719         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
12720
12721         isinf: Fix for platforms where 'long double' == 'double'.
12722         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
12723         Don't blindly assume 80-bit 'long double'.
12724
12725         isfinite: Fix for platforms where 'long double' == 'double'.
12726         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
12727         Don't blindly assume 80-bit 'long double'.
12728
12729         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
12730         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
12731         * modules/isfinite-tests (configure.ac): Require
12732         gl_LONG_DOUBLE_VS_DOUBLE.
12733         * modules/isinf-tests (configure.ac): Likewise.
12734         * modules/isnan-tests (configure.ac): Likewise.
12735         * modules/isnanl-tests (configure.ac): Likewise.
12736         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
12737         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
12738         tests on platforms where 'long double' is the same as 'double'.
12739         * tests/test-isinf.c (test_isinfl): Likewise.
12740         * tests/test-isnan.c (test_long_double): Likewise.
12741         * tests/test-isnanl.h (main): Likewise.
12742
12743 2011-10-08  Bruno Haible  <bruno@clisp.org>
12744
12745         Tests for module 'tanhf'.
12746         * modules/tanhf-tests: New file.
12747         * tests/test-tanhf.c: New file.
12748
12749         New module 'tanhf'.
12750         * lib/math.in.h (tanhf): New declaration.
12751         * lib/tanhf.c: New file.
12752         * m4/tanhf.m4: New file.
12753         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
12754         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
12755         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
12756         * modules/tanhf: New file.
12757         * tests/test-math-c++.cc: Check the declaration of tanhf.
12758         * doc/posix-functions/tanhf.texi: Mention the new module.
12759
12760         tanh: Use a .m4 file.
12761         * m4/tanh.m4: New file.
12762         * modules/tanh (Files): Add it.
12763         (configure.ac): Just invoke gl_FUNC_TANH.
12764
12765 2011-10-08  Bruno Haible  <bruno@clisp.org>
12766
12767         Tests for module 'coshf'.
12768         * modules/coshf-tests: New file.
12769         * tests/test-coshf.c: New file.
12770
12771         New module 'coshf'.
12772         * lib/math.in.h (coshf): New declaration.
12773         * lib/coshf.c: New file.
12774         * m4/coshf.m4: New file.
12775         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
12776         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
12777         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
12778         * modules/coshf: New file.
12779         * tests/test-math-c++.cc: Check the declaration of coshf.
12780         * doc/posix-functions/coshf.texi: Mention the new module.
12781
12782         cosh: Use a .m4 file.
12783         * m4/cosh.m4: New file.
12784         * modules/cosh (Files): Add it.
12785         (configure.ac): Just invoke gl_FUNC_COSH.
12786
12787 2011-10-08  Bruno Haible  <bruno@clisp.org>
12788
12789         Tests for module 'sinhf'.
12790         * modules/sinhf-tests: New file.
12791         * tests/test-sinhf.c: New file.
12792
12793         New module 'sinhf'.
12794         * lib/math.in.h (sinhf): New declaration.
12795         * lib/sinhf.c: New file.
12796         * m4/sinhf.m4: New file.
12797         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
12798         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
12799         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
12800         * modules/sinhf: New file.
12801         * tests/test-math-c++.cc: Check the declaration of sinhf.
12802         * doc/posix-functions/sinhf.texi: Mention the new module.
12803
12804         sinh: Use a .m4 file.
12805         * m4/sinh.m4: New file.
12806         * modules/sinh (Files): Add it.
12807         (configure.ac): Just invoke gl_FUNC_SINH.
12808
12809 2011-10-08  Bruno Haible  <bruno@clisp.org>
12810
12811         Tests for module 'atan2f'.
12812         * modules/atan2f-tests: New file.
12813         * tests/test-atan2f.c: New file.
12814
12815         New module 'atan2f'.
12816         * lib/math.in.h (atan2f): New declaration.
12817         * lib/atan2f.c: New file.
12818         * m4/atan2f.m4: New file.
12819         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
12820         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
12821         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
12822         * modules/atan2f: New file.
12823         * tests/test-math-c++.cc: Check the declaration of atan2f.
12824         * doc/posix-functions/atan2f.texi: Mention the new module.
12825
12826         atan2: Use a .m4 file.
12827         * m4/atan2.m4: New file.
12828         * modules/atan2 (Files): Add it.
12829         (configure.ac): Just invoke gl_FUNC_ATAN2.
12830
12831 2011-10-08  Bruno Haible  <bruno@clisp.org>
12832
12833         Tests for module 'atanf'.
12834         * modules/atanf-tests: New file.
12835         * tests/test-atanf.c: New file.
12836
12837         New module 'atanf'.
12838         * lib/math.in.h (atanf): New declaration.
12839         * lib/atanf.c: New file.
12840         * m4/atanf.m4: New file.
12841         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
12842         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
12843         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
12844         * modules/atanf: New file.
12845         * tests/test-math-c++.cc: Check the declaration of atanf.
12846         * doc/posix-functions/atanf.texi: Mention the new module.
12847
12848         atan: Use a .m4 file.
12849         * m4/atan.m4: New file.
12850         * modules/atan (Files): Add it.
12851         (configure.ac): Just invoke gl_FUNC_ATAN.
12852
12853 2011-10-08  Bruno Haible  <bruno@clisp.org>
12854
12855         Tests for module 'acosf'.
12856         * modules/acosf-tests: New file.
12857         * tests/test-acosf.c: New file.
12858
12859         New module 'acosf'.
12860         * lib/math.in.h (acosf): New declaration.
12861         * lib/acosf.c: New file.
12862         * m4/acosf.m4: New file.
12863         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
12864         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
12865         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
12866         * modules/acosf: New file.
12867         * tests/test-math-c++.cc: Check the declaration of acosf.
12868         * doc/posix-functions/acosf.texi: Mention the new module.
12869
12870         acos: Use a .m4 file.
12871         * m4/acos.m4: New file.
12872         * modules/acos (Files): Add it.
12873         (configure.ac): Just invoke gl_FUNC_ACOS.
12874
12875 2011-10-08  Bruno Haible  <bruno@clisp.org>
12876
12877         Tests for module 'asinf'.
12878         * modules/asinf-tests: New file.
12879         * tests/test-asinf.c: New file.
12880
12881         New module 'asinf'.
12882         * lib/math.in.h (asinf): New declaration.
12883         * lib/asinf.c: New file.
12884         * m4/asinf.m4: New file.
12885         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
12886         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
12887         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
12888         * modules/asinf: New file.
12889         * tests/test-math-c++.cc: Check the declaration of asinf.
12890         * doc/posix-functions/asinf.texi: Mention the new module.
12891
12892         asin: Use a .m4 file.
12893         * m4/asin.m4: New file.
12894         * modules/asin (Files): Add it.
12895         (configure.ac): Just invoke gl_FUNC_ASIN.
12896
12897 2011-10-08  Bruno Haible  <bruno@clisp.org>
12898
12899         Tests for module 'tanf'.
12900         * modules/tanf-tests: New file.
12901         * tests/test-tanf.c: New file.
12902
12903         New module 'tanf'.
12904         * lib/math.in.h (tanf): New declaration.
12905         * lib/tanf.c: New file.
12906         * m4/tanf.m4: New file.
12907         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
12908         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
12909         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
12910         * modules/tanf: New file.
12911         * tests/test-math-c++.cc: Check the declaration of tanf.
12912         * doc/posix-functions/tanf.texi: Mention the new module.
12913
12914         tan: Use a .m4 file.
12915         * m4/tan.m4: New file.
12916         * modules/tan (Files): Add it.
12917         (configure.ac): Just invoke gl_FUNC_TAN.
12918
12919 2011-10-08  Bruno Haible  <bruno@clisp.org>
12920
12921         Tests for module 'cosf'.
12922         * modules/cosf-tests: New file.
12923         * tests/test-cosf.c: New file.
12924
12925         New module 'cosf'.
12926         * lib/math.in.h (cosf): New declaration.
12927         * lib/cosf.c: New file.
12928         * m4/cosf.m4: New file.
12929         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
12930         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
12931         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
12932         * modules/cosf: New file.
12933         * tests/test-math-c++.cc: Check the declaration of cosf.
12934         * doc/posix-functions/cosf.texi: Mention the new module.
12935
12936         cos: Use a .m4 file.
12937         * m4/cos.m4: New file.
12938         * modules/cos (Files): Add it.
12939         (configure.ac): Just invoke gl_FUNC_COS.
12940
12941 2011-10-08  Bruno Haible  <bruno@clisp.org>
12942
12943         Tests for module 'sinf'.
12944         * modules/sinf-tests: New file.
12945         * tests/test-sinf.c: New file.
12946
12947         New module 'sinf'.
12948         * lib/math.in.h (sinf): New declaration.
12949         * lib/sinf.c: New file.
12950         * m4/sinf.m4: New file.
12951         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
12952         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
12953         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
12954         * modules/sinf: New file.
12955         * tests/test-math-c++.cc: Check the declaration of sinf.
12956         * doc/posix-functions/sinf.texi: Mention the new module.
12957
12958         sin: Use a .m4 file.
12959         * m4/sin.m4: New file.
12960         * modules/sin (Files): Add it.
12961         (configure.ac): Just invoke gl_FUNC_SIN.
12962
12963 2011-10-08  Bruno Haible  <bruno@clisp.org>
12964
12965         Tests for module 'powf'.
12966         * modules/powf-tests: New file.
12967         * tests/test-powf.c: New file.
12968
12969         New module 'powf'.
12970         * lib/math.in.h (powf): New declaration.
12971         * lib/powf.c: New file.
12972         * m4/powf.m4: New file.
12973         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
12974         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
12975         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
12976         * modules/powf: New file.
12977         * tests/test-math-c++.cc: Check the declaration of powf.
12978         * doc/posix-functions/powf.texi: Mention the new module.
12979
12980         pow: Use a .m4 file.
12981         * m4/pow.m4: New file.
12982         * modules/pow (Files): Add it.
12983         (configure.ac): Just invoke gl_FUNC_POW.
12984
12985 2011-10-08  Bruno Haible  <bruno@clisp.org>
12986
12987         Tests for module 'log10f'.
12988         * modules/log10f-tests: New file.
12989         * tests/test-log10f.c: New file.
12990
12991         New module 'log10f'.
12992         * lib/math.in.h (log10f): New declaration.
12993         * lib/log10f.c: New file.
12994         * m4/log10f.m4: New file.
12995         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
12996         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
12997         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
12998         * modules/log10f: New file.
12999         * tests/test-math-c++.cc: Check the declaration of log10f.
13000         * doc/posix-functions/log10f.texi: Mention the new module.
13001
13002         log10: Use a .m4 file.
13003         * m4/log10.m4: New file.
13004         * modules/log10 (Files): Add it.
13005         (configure.ac): Just invoke gl_FUNC_LOG10.
13006
13007 2011-10-08  Bruno Haible  <bruno@clisp.org>
13008
13009         Tests for module 'logf'.
13010         * modules/logf-tests: New file.
13011         * tests/test-logf.c: New file.
13012
13013         New module 'logf'.
13014         * lib/math.in.h (logf): New declaration.
13015         * lib/logf.c: New file.
13016         * m4/logf.m4: New file.
13017         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
13018         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
13019         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
13020         * modules/logf: New file.
13021         * tests/test-math-c++.cc: Check the declaration of logf.
13022         * doc/posix-functions/logf.texi: Mention the new module.
13023
13024         log: Use a .m4 file.
13025         * m4/log.m4: New file.
13026         * modules/log (Files): Add it.
13027         (configure.ac): Just invoke gl_FUNC_LOG.
13028
13029 2011-10-08  Bruno Haible  <bruno@clisp.org>
13030
13031         Tests for module 'expf'.
13032         * modules/expf-tests: New file.
13033         * tests/test-expf.c: New file.
13034
13035         New module 'expf'.
13036         * lib/math.in.h (expf): New declaration.
13037         * lib/expf.c: New file.
13038         * m4/expf.m4: New file.
13039         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
13040         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
13041         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
13042         * modules/expf: New file.
13043         * tests/test-math-c++.cc: Check the declaration of expf.
13044         * doc/posix-functions/expf.texi: Mention the new module.
13045
13046         exp: Use a .m4 file.
13047         * m4/exp.m4: New file.
13048         * modules/exp (Files): Add it.
13049         (configure.ac): Just invoke gl_FUNC_EXP.
13050
13051 2011-10-08  Bruno Haible  <bruno@clisp.org>
13052
13053         Tests for module 'sqrtf'.
13054         * modules/sqrtf-tests: New file.
13055         * tests/test-sqrtf.c: New file.
13056
13057         New module 'sqrtf'.
13058         * lib/math.in.h (sqrtf): New declaration.
13059         * lib/sqrtf.c: New file.
13060         * m4/sqrtf.m4: New file.
13061         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
13062         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
13063         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
13064         * modules/sqrtf: New file.
13065         * tests/test-math-c++.cc: Check the declaration of sqrtf.
13066         * doc/posix-functions/sqrtf.texi: Mention the new module.
13067
13068 2011-10-08  Bruno Haible  <bruno@clisp.org>
13069
13070         Tests: Avoid link failures w.r.t. libintl.
13071         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
13072         $(LIBINTL).
13073         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
13074         $(LIBINTL).
13075         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
13076         against $(LIBINTL).
13077         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
13078         $(LIBINTL).
13079         * modules/openat-tests (Makefile.am): Link test-fchmodat against
13080         $(LIBINTL).
13081         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
13082
13083 2011-10-08  Bruno Haible  <bruno@clisp.org>
13084
13085         pow tests: Defeat compiler optimizations.
13086         * tests/test-pow.c (main): Assign arguments to x and y before use.
13087
13088 2011-10-08  Bruno Haible  <bruno@clisp.org>
13089
13090         gnulib-tool: Improve last commit.
13091         * gnulib-tool (func_modules_transitive_closure): Simplify code.
13092         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
13093         ignore dependencies that are not among the modules list.
13094
13095 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
13096
13097         gnulib-tool: don't follow dependencies to avoided modules
13098         This fixes a bug that is related to the previous one.
13099         * gnulib-tool (func_modules_transitive_closure)
13100         (func_emit_autoconf_snippets):
13101         Check whether a dependency is acceptable before using it.
13102         (--extract-dependencies): Report an error if --avoid is also used,
13103         since this combination of options is not yet supported.
13104
13105         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
13106         Problem reported by Peter Dyballa in
13107         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
13108         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
13109         when echoing "$condition".
13110
13111 2011-10-07  Bruno Haible  <bruno@clisp.org>
13112
13113         Fix documentation about math functions on MacOS X.
13114         * doc/posix-functions/exp2.texi: Don't say the function is missing on
13115         MacOS X 10.5.
13116         * doc/posix-functions/fdim.texi: Likewise.
13117         * doc/posix-functions/feclearexcept.texi: Likewise.
13118         * doc/posix-functions/fegetenv.texi: Likewise.
13119         * doc/posix-functions/fegetround.texi: Likewise.
13120         * doc/posix-functions/feholdexcept.texi: Likewise.
13121         * doc/posix-functions/feraiseexcept.texi: Likewise.
13122         * doc/posix-functions/fesetenv.texi: Likewise.
13123         * doc/posix-functions/fesetround.texi: Likewise.
13124         * doc/posix-functions/fetestexcept.texi: Likewise.
13125         * doc/posix-functions/feupdateenv.texi: Likewise.
13126         * doc/posix-functions/fmax.texi: Likewise.
13127         * doc/posix-functions/fmin.texi: Likewise.
13128         * doc/posix-functions/log2.texi: Likewise.
13129         * doc/posix-functions/modff.texi: Likewise.
13130         * doc/posix-functions/nan.texi: Likewise.
13131         * doc/posix-functions/nanf.texi: Likewise.
13132         * doc/posix-functions/nextafterf.texi: Likewise.
13133         * doc/posix-functions/remquo.texi: Likewise.
13134
13135 2011-10-07  Bruno Haible  <bruno@clisp.org>
13136
13137         modff: Drop assumption about library that defines modff.
13138         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
13139         AC_CHECK_FUNCS.
13140         * modules/modff (Files): Add m4/mathfunc.m4.
13141
13142 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
13143
13144         raise tests: Avoid a GCC warning.
13145         * tests/test-raise.c (handler): Use _Noreturn.
13146
13147 2011-10-07  Bruno Haible  <bruno@clisp.org>
13148
13149         Tests for module 'ldexpf'.
13150         * modules/ldexpf-tests: New file.
13151         * tests/test-ldexpf.c: New file.
13152
13153         New module 'ldexpf'.
13154         * lib/math.in.h (ldexpf): New declaration.
13155         * lib/ldexpf.c: New file.
13156         * m4/ldexpf.m4: New file.
13157         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
13158         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
13159         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
13160         * modules/ldexpf: New file.
13161         * tests/test-math-c++.cc: Check the declaration of ldexpf.
13162         * doc/posix-functions/ldexpf.texi: Mention the new module.
13163
13164 2011-10-06  Bruno Haible  <bruno@clisp.org>
13165
13166         frexpf: Work around problems on IRIX and mingw.
13167         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
13168         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
13169         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
13170         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
13171         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
13172         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
13173         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
13174
13175 2011-10-06  Bruno Haible  <bruno@clisp.org>
13176
13177         fabsf: Drop assumption about library that defines fabsf.
13178         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
13179         AC_CHECK_FUNCS.
13180         * modules/fabsf (Files): Add m4/mathfunc.m4.
13181
13182 2011-10-06  Bruno Haible  <bruno@clisp.org>
13183
13184         frexpf: Drop assumption about library that defines frexpf.
13185         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
13186         'int *', 'float *', 'long double *', 'float', 'long double'.
13187         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
13188         AC_CHECK_FUNCS.
13189         * modules/frexpf (Files): Add m4/mathfunc.m4.
13190
13191         Tests for module 'frexpf'.
13192         * modules/frexpf-tests: New file.
13193         * tests/test-frexpf.c: New file.
13194
13195         New module 'frexpf'.
13196         * lib/math.in.h (frexpf): New declaration.
13197         * lib/frexpf.c: New file.
13198         * m4/frexpf.m4: New file.
13199         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
13200         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
13201         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
13202         * modules/frexpf: New file.
13203         * tests/test-math-c++.cc: Check the declaration of frexpf.
13204         * doc/posix-functions/frexpf.texi: Mention the new module.
13205
13206 2011-10-06  Bruno Haible  <bruno@clisp.org>
13207
13208         math: Sort function declarations of math.in.h.
13209         * lib/math.in.h (frexp, logb): Move declarations.
13210
13211 2011-10-05  Bruno Haible  <bruno@clisp.org>
13212
13213         Tests for module 'modff'.
13214         * modules/modff-tests: New file.
13215         * tests/test-modff.c: New file.
13216
13217         New module 'modff'.
13218         * lib/math.in.h (modff): New declaration.
13219         * lib/modff.c: New file.
13220         * m4/modff.m4: New file.
13221         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
13222         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
13223         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
13224         * modules/modff: New file.
13225         * tests/test-math-c++.cc: Check the declaration of modff.
13226         * doc/posix-functions/modff.texi: Mention the new module.
13227
13228         modf tests: Make test sharper.
13229         * tests/test-modf.c (main): Strengthen upper bound.
13230
13231         modf: Use a .m4 file.
13232         * m4/modf.m4: New file.
13233         * modules/modf (Files): Add it.
13234         (configure.ac): Just invoke gl_FUNC_MODF.
13235
13236 2011-10-05  Bruno Haible  <bruno@clisp.org>
13237
13238         Tests for module 'fmodf'.
13239         * modules/fmodf-tests: New file.
13240         * tests/test-fmodf.c: New file.
13241
13242         New module 'fmodf'.
13243         * lib/math.in.h (fmodf): New declaration.
13244         * lib/fmodf.c: New file.
13245         * m4/fmodf.m4: New file.
13246         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
13247         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
13248         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
13249         * modules/fmodf: New file.
13250         * tests/test-math-c++.cc: Check the declaration of fmodf.
13251         * doc/posix-functions/fmodf.texi: Mention the new module.
13252
13253         fmod: Use a .m4 file.
13254         * m4/fmod.m4: New file.
13255         * modules/fmod (Files): Add it.
13256         (configure.ac): Just invoke gl_FUNC_FMOD.
13257
13258 2011-10-05  Bruno Haible  <bruno@clisp.org>
13259
13260         Tests for module 'fabsf'.
13261         * modules/fabsf-tests: New file.
13262         * tests/test-fabsf.c: New file.
13263
13264         New module 'fabsf'.
13265         * lib/math.in.h (fabsf): New declaration.
13266         * lib/fabsf.c: New file.
13267         * m4/fabsf.m4: New file.
13268         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
13269         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
13270         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
13271         * modules/fabsf: New file.
13272         * tests/test-math-c++.cc: Check the declaration of fabsf.
13273         * doc/posix-functions/fabsf.texi: Mention the new module.
13274
13275         fabs: Use a .m4 file.
13276         * m4/fabs.m4: New file.
13277         * modules/fabs (Files): Add it.
13278         (configure.ac): Just invoke gl_FUNC_FABS.
13279
13280 2011-10-05  Jim Meyering  <meyering@redhat.com>
13281
13282         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
13283         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
13284         ls -lL regression introduced in coreutils-8.12, it does so at the
13285         cost of an additional stat call in the common case.  Besides, now
13286         that the kernel change that prompted commit 95f7c57f has been reverted
13287         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
13288         we have no use for commit 95f7c57f, "file-has-acl: use
13289         acl_extended_file_nofollow if available".
13290
13291 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
13292
13293         file-has-acl: revert unintended change in behavior of ls -L
13294         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
13295         derived from...
13296         (file_has_acl): ...code here.  Call it.
13297         This problem was introduced with 2011-07-22 commit 95f7c57f,
13298         "file-has-acl: use acl_extended_file_nofollow if available".
13299         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
13300
13301 2011-10-03  Bruno Haible  <bruno@clisp.org>
13302
13303         poll: Avoid link errors on MSVC.
13304         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
13305         * modules/poll (Depends-on): Add sockets.
13306         (Link): New section.
13307         * NEWS: Mention the change.
13308         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
13309         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
13310         $(LIB_POLL) instead of $(LIBSOCKET).
13311
13312 2011-10-03  Bruno Haible  <bruno@clisp.org>
13313
13314         sys_select tests: Fix link error on MSVC 9.
13315         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
13316         with $(LIB_SELECT) instead of $(LIBSOCKET).
13317
13318 2011-10-03  Bruno Haible  <bruno@clisp.org>
13319
13320         sys_select: Fix compilation error on mingw.
13321         * lib/sys_select.in.h: On native Windows, include <io.h>.
13322
13323 2011-10-03  Bruno Haible  <bruno@clisp.org>
13324
13325         wmemset: Support for MSVC.
13326         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
13327         whether wmemset() exists.
13328
13329 2011-10-03  Bruno Haible  <bruno@clisp.org>
13330
13331         wmemmove: Support for MSVC.
13332         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
13333         whether wmemmove() exists.
13334
13335 2011-10-03  Bruno Haible  <bruno@clisp.org>
13336
13337         wmemcpy: Support for MSVC.
13338         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
13339         whether wmemcpy() exists.
13340
13341 2011-10-03  Bruno Haible  <bruno@clisp.org>
13342
13343         wmemcmp: Support for MSVC.
13344         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
13345         whether wmemcmp() exists.
13346
13347 2011-10-03  Bruno Haible  <bruno@clisp.org>
13348
13349         wmemchr: Support for MSVC.
13350         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
13351         whether wmemchr() exists.
13352
13353 2011-10-03  Bruno Haible  <bruno@clisp.org>
13354
13355         glthread/*, strsignal: Support for MSVC.
13356         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
13357         including <winsock.h> on MSVC 9.
13358         * lib/glthread/lock.h: Likewise.
13359         * lib/glthread/thread.h: Likewise.
13360         * lib/glthread/tls.h: Likewise.
13361         * lib/glthread/yield.h: Likewise.
13362         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
13363         if HAVE_UNISTD_H is false.
13364         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
13365
13366 2011-10-03  Bruno Haible  <bruno@clisp.org>
13367
13368         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
13369         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
13370         Set to 100000.
13371
13372 2011-10-03  Bruno Haible  <bruno@clisp.org>
13373
13374         acl: Fix specification.
13375         * lib/file-has-acl.c (file_has_acl): Fix specification.
13376
13377 2011-10-03  Bruno Haible  <bruno@clisp.org>
13378
13379         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
13380         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
13381         (compute_curr_prefix, shared_library_fullname,
13382         find_shared_library_fullname, get_shared_library_fullname, relocate):
13383         Use it together with PIC && INSTALLDIR.
13384         Reported by <jojelino@gmail.com>
13385         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
13386
13387 2011-10-01  Jim Meyering  <meyering@redhat.com>
13388
13389         maint.mk: adjust a release-related rule not to require use of gzip
13390         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
13391         Instead, check each file in $(DIST_ARCHIVES).  This is better for
13392         projects that build only .tar.xz files.  Also fix an erroneous test.
13393
13394         test-linkat: don't leave behind a temporary file
13395         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
13396         Otherwise, coreutils' "make distcheck" would fail with this:
13397           Only in /c/cu/tests/torture/coreutils/test/\
13398             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
13399           make[2]: *** [my-distcheck] Error 1
13400
13401         float, math: add omitted file
13402         * lib/itold.c: Add file, required for yesterday's float change.
13403
13404 2011-10-01  Bruno Haible  <bruno@clisp.org>
13405
13406         isinf: Fix for OpenBSD/x86.
13407         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
13408         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
13409         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
13410
13411 2011-10-01  Bruno Haible  <bruno@clisp.org>
13412
13413         isfinite: Fix syntax error in configure test.
13414         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
13415
13416         isfinite: Fix typo.
13417         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
13418         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
13419
13420 2011-10-01  Bruno Haible  <bruno@clisp.org>
13421
13422         nonblocking tests: Fix test failure on Linux/IA-64.
13423         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
13424         Set to 270000.
13425
13426 2011-10-01  Bruno Haible  <bruno@clisp.org>
13427
13428         mkfifoat tests: Fix a test failure on mingw.
13429         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
13430         with error ENOSYS.
13431
13432 2011-09-30  Bruno Haible  <bruno@clisp.org>
13433
13434         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
13435         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
13436         'long double'. Set REPLACE_ITOLD.
13437         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
13438         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
13439         * lib/itold.c: New file.
13440         * modules/float (Files): Add lib/itold.c.
13441         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
13442         (Makefile.am): Substitute REPLACE_ITOLD.
13443         * modules/math (Depends-on): Add float.
13444         (Makefile.am): Substitute REPLACE_ITOLD.
13445         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
13446         * doc/posix-headers/math.texi: Likewise.
13447         * doc/posix-functions/logl.texi: Likewise.
13448
13449 2011-09-30  Bruno Haible  <bruno@clisp.org>
13450
13451         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
13452         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
13453         Set to 140000.
13454
13455 2011-09-30  Bruno Haible  <bruno@clisp.org>
13456
13457         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
13458         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
13459         invocation, say "right after AC_PROG_CC_STDC", not "right after
13460         AC_PROG_CC".
13461         Reported by Gary V. Vaughan <gary@gnu.org>.
13462
13463 2011-09-30  Bruno Haible  <bruno@clisp.org>
13464
13465         Centralize C99 requirement.
13466         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
13467         * modules/stdarg (configure.ac-early): Invoke it instead of
13468         AC_PROG_CC_STDC.
13469         Reported by Gary V. Vaughan and Paul Eggert.
13470
13471 2011-09-29  Bruno Haible  <bruno@clisp.org>
13472
13473         float: Fix LDBL_MAX value on Linux/PowerPC.
13474         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
13475         on Linux/PowerPC.
13476         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
13477         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
13478         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
13479         platform.
13480         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
13481
13482 2011-09-29  Bruno Haible  <bruno@clisp.org>
13483
13484         doc: Improve doc about gl_EARLY.
13485         * doc/gnulib-tool.texi (Initial import): Mention where to place an
13486         AC_PROG_CC_STDC invocation.
13487         Reported by Gary V. Vaughan <gary@gnu.org>.
13488
13489 2011-09-28  Bruno Haible  <bruno@clisp.org>
13490
13491         fgetc, fputc, fread, fwrite tests: Fix link error.
13492         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
13493         on non-MSVC platforms.
13494         * tests/test-fputc.c (main): Likewise.
13495         * tests/test-fread.c (main): Likewise.
13496         * tests/test-fwrite.c (main): Likewise.
13497         Reported by Jim Meyering.
13498
13499 2011-09-27  Bruno Haible  <bruno@clisp.org>
13500
13501         fputc, fwrite tests: Avoid test failure on MSVC.
13502         * tests/test-fgetc.c: Include msvc-inval.h.
13503         (main): Invoke gl_msvc_inval_ensure_handler.
13504         * tests/test-fputc.c: Include msvc-inval.h.
13505         (main): Invoke gl_msvc_inval_ensure_handler.
13506         * tests/test-fread.c: Include msvc-inval.h.
13507         (main): Invoke gl_msvc_inval_ensure_handler.
13508         * tests/test-fwrite.c: Include msvc-inval.h.
13509         (main): Invoke gl_msvc_inval_ensure_handler.
13510         * modules/fgetc-tests (Depends-on): Add msvc-inval.
13511         * modules/fputc-tests (Depends-on): Likewise.
13512         * modules/fread-tests (Depends-on): Likewise.
13513         * modules/fwrite-tests (Depends-on): Likewise.
13514
13515 2011-09-27  Bruno Haible  <bruno@clisp.org>
13516
13517         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
13518         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
13519         (raise): Remove older, duplicated declaration.
13520         (_gl_raise_SIGPIPE): New declaration.
13521         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
13522         (rpl_raise): Remove function.
13523         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
13524         a gnulib-defined SIGPIPE here.
13525         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
13526         'sigprocmask' has detected missing signal-blocking and the module
13527         'sigpipe' is enabled.
13528         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
13529
13530 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
13531
13532         base64-tests: avoid memory leak
13533         * tests/test-base64.c (main): Plug memory leak.
13534
13535         base32: new module
13536         * modules/base32: New module.
13537         * lib/base32.c: New file.
13538         * lib/base32.h: Likewise.
13539         * m4/base32.m4: Likewise.
13540         * modules/base32-tests: New test.
13541         * tests/test-base32.c: Likewise.
13542         * MODULES.html.sh (Misc): Mention it.
13543
13544 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
13545
13546         gnulib: use more-standard license notice wording
13547         * gnulib-tool (func_emit_copyright_notice): When emitting a
13548         license notice into a file, use the standard wording as suggested
13549         by the current information for GNU maintainers, except say "file"
13550         rather than "program".  The new wording gives a license version
13551         number, which addresses an issue raised by Glenn Morris in
13552         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
13553         * m4/onceonly.m4: Use that same wording here, too.
13554
13555         dup2: minor simplification
13556         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
13557         as lib/dup2.c no longer uses 'inline'.
13558
13559 2011-09-25  Bruno Haible  <bruno@clisp.org>
13560
13561         strings: Fix compilation error on MSVC.
13562         * lib/strings.in.h: Include <stddef.h> for size_t.
13563
13564 2011-09-25  Bruno Haible  <bruno@clisp.org>
13565
13566         fflush et al.: Document limitation on MSVC.
13567         * doc/posix-functions/fflush.texi: Document possible crash in handling
13568         mode other than DEFAULT_HANDLING.
13569         * doc/posix-functions/fgetc.texi: Likewise.
13570         * doc/posix-functions/fputc.texi: Likewise.
13571         * doc/posix-functions/fread.texi: Likewise.
13572         * doc/posix-functions/fwrite.texi: Likewise.
13573
13574 2011-09-25  Bruno Haible  <bruno@clisp.org>
13575
13576         msvc-inval: Allow three invalid parameter handling modes.
13577         * lib/msvc-inval.h: Don't include <stdlib.h> here.
13578         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
13579         macros.
13580         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
13581         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
13582         SANE_LIBRARY_HANDLING as a no-op.
13583         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
13584         <stdlib.h>.
13585         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
13586
13587 2011-09-25  Bruno Haible  <bruno@clisp.org>
13588
13589         msvc-inval: Make handler multithread-safe.
13590         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
13591         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
13592         declarations.
13593         (gl_msvc_inval_current): New declaration.
13594         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
13595         Operate on the structure returned by gl_msvc_inval_current().
13596         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
13597         Remove varaiables.
13598         (tls_index, tls_initialized): New variables.
13599         (not_per_thread): New variable.
13600         (gl_msvc_inval_current): New function.
13601         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
13602         returned by gl_msvc_inval_current().
13603
13604 2011-09-25  Bruno Haible  <bruno@clisp.org>
13605
13606         msvc-inval: Install handler globally.
13607         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
13608         !_MSC_VER.
13609         (gl_msvc_invalid_parameter_handler): Remove declaration.
13610         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
13611         declarations.
13612         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
13613         Install the handler globally, don't uninstall it.
13614         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
13615         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
13616         currently valid, call RaiseException instead.
13617         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
13618         for !_MSC_VER.
13619
13620 2011-09-25  Bruno Haible  <bruno@clisp.org>
13621
13622         strerror_r-posix: Fix for MSVC 9.
13623         * lib/strerror_r.c (local_snprintf): New function.
13624         (snprintf): Define to local_snprintf, not to _snprintf.
13625
13626 2011-09-25  Bruno Haible  <bruno@clisp.org>
13627
13628         ftruncate: Support for MSVC 9.
13629         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
13630         (chsize_nothrow): New function.
13631         (chsize): Redefine as a macro.
13632         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
13633         * modules/ftruncate (Depends-on): Add msvc-inval.
13634
13635 2011-09-25  Bruno Haible  <bruno@clisp.org>
13636
13637         New module 'fstat'.
13638         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
13639         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
13640         * lib/fchdir.c (rpl_fstat): Remove function.
13641         * m4/fstat.m4: New file.
13642         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
13643         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
13644         declared.
13645         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
13646         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
13647         * modules/fstat: New file.
13648         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
13649         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
13650         is set.
13651         * doc/posix-functions/fstat.texi: Mention the new module and the
13652         problem on MSVC.
13653         * NEWS: Mention the change.
13654         * modules/acl (Depends-on): Add fstat.
13655         * modules/chdir-safer (Depends-on): Likewise.
13656         * modules/chown (Depends-on): Likewise.
13657         * modules/copy-file (Depends-on): Likewise.
13658         * modules/fchdir (Depends-on): Likewise.
13659         * modules/fdopendir (Depends-on): Likewise.
13660         * modules/fopen (Depends-on): Likewise.
13661         * modules/fts (Depends-on): Likewise.
13662         * modules/getcwd (Depends-on): Likewise.
13663         * modules/isapipe (Depends-on): Likewise.
13664         * modules/linkat (Depends-on): Likewise.
13665         * modules/lseek (Depends-on): Likewise.
13666         * modules/mkdir-p (Depends-on): Likewise.
13667         * modules/open (Depends-on): Likewise.
13668         * modules/openat (Depends-on): Likewise.
13669         * modules/read-file (Depends-on): Likewise.
13670         * modules/renameat (Depends-on): Likewise.
13671         * modules/utimens (Depends-on): Likewise.
13672
13673 2011-09-25  Bruno Haible  <bruno@clisp.org>
13674
13675         linkat: Fix compilation on MSVC 9.
13676         * lib/linkat.c: Don't include <stdint.h>.
13677
13678 2011-09-25  Bruno Haible  <bruno@clisp.org>
13679
13680         fclose: Support for MSVC 9.
13681         * lib/fclose.c: Include msvc-inval.h.
13682         (fclose_nothrow): New function.
13683         (rpl_fclose): Use it.
13684         * modules/fclose (Depends-on): Add msvc-inval.
13685         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
13686
13687 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
13688
13689         dup2: minor simplifications
13690         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
13691         that it's a performance win.
13692         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
13693         ! defined __CYGWIN__)" to "ifdef F_GETFL".
13694
13695 2011-09-24  Jim Meyering  <meyering@redhat.com>
13696
13697         test-futimens: avoid a warning from gcc -Wshadow
13698         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
13699         to avoid a shadowing warning.
13700
13701 2011-09-24  Bruno Haible  <bruno@clisp.org>
13702
13703         fdopen: Support for MSVC 9.
13704         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
13705         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
13706         * lib/fdopen.c: Include msvc-inval.h.
13707         (fdopen_nothrow): New function.
13708         (rpl_fdopen): Use it.
13709         * modules/fdopen (Depends-on): Add msvc-inval.
13710         * modules/fclose-tests (Depends-on): Add fdopen.
13711         * modules/fflush-tests (Depends-on): Likewise.
13712         * modules/fgetc-tests (Depends-on): Likewise.
13713         * modules/fputc-tests (Depends-on): Likewise.
13714         * modules/fread-tests (Depends-on): Likewise.
13715         * modules/freopen-tests (Depends-on): Likewise.
13716         * modules/fseeko-tests (Depends-on): Likewise.
13717         * modules/ftello-tests (Depends-on): Likewise.
13718         * modules/fwrite-tests  (Depends-on): Likewise.
13719         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
13720
13721 2011-09-24  Bruno Haible  <bruno@clisp.org>
13722
13723         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
13724         * modules/fgetc-tests (Depends-on): Add unistd.
13725         * modules/fputc-tests (Depends-on): Likewise.
13726         * modules/fread-tests (Depends-on): Likewise.
13727         * modules/fwrite-tests (Depends-on): Likewise.
13728
13729 2011-09-24  Bruno Haible  <bruno@clisp.org>
13730
13731         dup: Simplify autoconf test.
13732         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
13733         on gl_MSVC_INVAL's result.
13734
13735 2011-09-24  Bruno Haible  <bruno@clisp.org>
13736
13737         Tests for function fwrite().
13738         * modules/fwrite-tests: New file.
13739         * tests/test-fwrite.c: New file.
13740         * modules/stdio-tests (Depends-on): Add fwrite-tests.
13741
13742         Tests for function fread().
13743         * modules/fread-tests: New file.
13744         * tests/test-fread.c: New file.
13745         * modules/stdio-tests (Depends-on): Add fread-tests.
13746
13747         Activate fputc tests.
13748         * modules/stdio-tests (Depends-on): Add fputc-tests.
13749
13750         Enhance fgetc, fputc tests.
13751         * tests/test-fgetc.c (main): Also test the stream's error indicator.
13752         * tests/test-fputc.c (main): Likewise.
13753
13754 2011-09-24  Bruno Haible  <bruno@clisp.org>
13755
13756         write: Support for MSVC 9.
13757         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13758         is not 1.
13759         * lib/write.c (write_nothrow): New function.
13760         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
13761         not 1. Use write_nothrow.
13762         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
13763         invalid parameter handler.
13764         (gl_PREREQ_WRITE): New macro.
13765         * modules/write (Depends-on): Add msvc-inval.
13766         (configure.ac): Invoke gl_PREREQ_WRITE.
13767         * doc/posix-functions/write.texi: Mention the problem on MSVC.
13768
13769 2011-09-24  Bruno Haible  <bruno@clisp.org>
13770
13771         read: Fix last commit.
13772         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
13773
13774 2011-09-24  Bruno Haible  <bruno@clisp.org>
13775
13776         dup2: Fix last commit.
13777         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
13778         (rpl_dup2): Disable fcntl workaround on native Windows.
13779
13780         sigprocmask: Make code safer.
13781         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
13782         section that changes macro definitions for this compilation unit.
13783
13784 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
13785
13786         dup2: clarify by coalescing Windows-specific material
13787         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
13788         "msvc-nothrow.h"' to the Windows-specific section, so that the
13789         Emacs source need not contain these include files.
13790         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
13791         Windows-specific fixes into this function rather than just the
13792         nothrow fix, as this shortens and clarifies the code.  Always
13793         define as a function, as that's a bit cleaner than having it be
13794         sometimes a function and sometimes a macro.
13795         (rpl_dup2): Move the Windows-specific stuff out of here and into
13796         ms_windows_dup2.  Don't protect the Haiku-related fix with
13797         "#if !defined __linux__", as the same code also works around
13798         a Linux kernel bug, and it doesn't add any system calls on any
13799         platform.  Add comment about FreeBSD 6.1.
13800
13801         sigprocmask: move #include directive
13802         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
13803         Windows-specific section, so that the Emacs source need not
13804         contain msvc-inval.h.
13805
13806 2011-09-23  Bruno Haible  <bruno@clisp.org>
13807
13808         read: Support for MSVC 9.
13809         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13810         is not 1.
13811         * lib/read.c (read_nothrow): New function.
13812         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
13813         read_nothrow.
13814         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
13815         invalid parameter handler.
13816         (gl_PREREQ_READ): New macro.
13817         * modules/read (Depends-on): Add msvc-inval.
13818         (configure.ac): Invoke gl_PREREQ_READ.
13819         * doc/posix-functions/read.texi: Mention the problem on MSVC.
13820
13821 2011-09-23  Bruno Haible  <bruno@clisp.org>
13822
13823         close: Support for MSVC 9.
13824         * lib/close.c: Include <errno.h>, msvc-inval.h.
13825         (close_nothrow): New function.
13826         (rpl_close): Use it.
13827         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
13828         invalid parameter handler.
13829         * modules/close (Depends-on): Add msvc-inval.
13830         * modules/dup2-tests (Depends-on): Add close.
13831         * modules/dup3-tests (Depends-on): Likewise.
13832         * modules/fcntl-tests (Depends-on): Likewise.
13833         * modules/spawn-pipe-tests (Depends-on): Likewise.
13834         * modules/unistd-safer-tests (Depends-on): Likewise.
13835         * doc/posix-functions/close.texi: Mention the problem on MSVC.
13836
13837 2011-09-23  Bruno Haible  <bruno@clisp.org>
13838
13839         New module 'dup'.
13840         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
13841         Allow replacement.
13842         * lib/dup.c: New file.
13843         * lib/fchdir.c (rpl_dup): Remove function.
13844         * m4/dup.m4: New file.
13845         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
13846         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
13847         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
13848         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
13849         * modules/dup: New file.
13850         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
13851         'dup' module is in use.
13852         * modules/fdopendir (Depends-on): Add dup.
13853         * modules/fdutimensat-tests (Depends-on): Likewise.
13854         * modules/fts (Depends-on): Likewise.
13855         * modules/futimens-tests (Depends-on): Likewise.
13856         * modules/posix_spawnp-tests (Depends-on): Likewise.
13857         * modules/unistd-safer-tests (Depends-on): Likewise.
13858         * modules/utimens-tests (Depends-on): Likewise.
13859         * doc/posix-functions/dup.texi: Mention the new module and the problem
13860         on MSVC.
13861
13862 2011-09-23  Bruno Haible  <bruno@clisp.org>
13863
13864         getdtablesize: Support for MSVC 9.
13865         * lib/getdtablesize.c: Include msvc-inval.h.
13866         (_setmaxstdio_nothrow): New function.
13867         (_setmaxstdio): Redefine it.
13868         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
13869         * modules/getdtablesize (Depends-on): Add msvc-inval.
13870         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
13871
13872 2011-09-23  Bruno Haible  <bruno@clisp.org>
13873
13874         signal-h: Rename from signal.
13875         * modules/signal-h: Renamed from modules/signal.
13876         * modules/pthread_sigmask (Depends-on): Update.
13877         * modules/raise (Depends-on): Likewise.
13878         * modules/sigaction (Depends-on): Likewise.
13879         * modules/sigpipe (Depends-on): Likewise.
13880         * modules/sigprocmask (Depends-on): Likewise.
13881         * modules/sys_select (Depends-on): Likewise.
13882         * modules/signal-h-tests: Renamed from modules/signal-tests.
13883         (Files, Depends-on, Makefile.am): Update.
13884         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
13885         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
13886         (Files, Makefile.am): Update.
13887         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
13888         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
13889         * modules/signal: New placeholder file.
13890         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
13891         * doc/posix-headers/signal.texi: Update.
13892         * NEWS: Mention the change.
13893
13894 2011-09-23  Bruno Haible  <bruno@clisp.org>
13895
13896         sigprocmask: Avoid crashes through signal() on MSVC 9.
13897         * lib/sigprocmask.c: Include msvc-inval.h.
13898         (signal_nothrow): New function.
13899         (signal): Redefine it.
13900         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
13901         * modules/sigprocmask (Depends-on): Add msvc-inval.
13902         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
13903
13904 2011-09-23  Bruno Haible  <bruno@clisp.org>
13905
13906         Tests for module 'raise'.
13907         * modules/raise-tests: New file.
13908         * tests/test-raise.c: New file.
13909
13910         raise: Support for MSVC.
13911         * lib/signal.in.h (raise): New declaration.
13912         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
13913         for native Windows platforms.
13914         * m4/raise.m4: New file.
13915         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
13916         HAVE_RAISE, REPLACE_RAISE.
13917         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
13918         REPLACE_RAISE.
13919         * modules/raise (Status, Notice): Remove fields.
13920         (Files): Add m4/raise.m4.
13921         (Depends-on): Add signal, msvc-inval.
13922         (configure.ac): Use the common idioms.
13923         (Maintainer): Add me.
13924         * tests/test-signal-c++.cc: Check the signature of raise.
13925         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
13926
13927 2011-09-23  Bruno Haible  <bruno@clisp.org>
13928
13929         pipe2: Fix compilation on pre-C99 compilers.
13930         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
13931
13932 2011-09-23  Bruno Haible  <bruno@clisp.org>
13933
13934         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
13935         * lib/msvc-nothrow.h: New file.
13936         * lib/msvc-nothrow.c: New file.
13937         * m4/msvc-nothrow.m4: New file.
13938         * modules/msvc-nothrow: New file.
13939         * lib/dup2.c: Include msvc-nothrow.h.
13940         (rpl_dup2): No need to protect _get_osfhandle call here.
13941         * lib/accept4.c: Include msvc-nothrow.h.
13942         * lib/error.c: Likewise.
13943         * lib/fcntl.c: Likewise.
13944         * lib/lseek.c: Likewise.
13945         * lib/nonblocking.c: Likewise.
13946         * lib/poll.c: Likewise.
13947         * lib/read.c: Likewise.
13948         * lib/select.c: Likewise.
13949         * lib/sockets.h: Likewise.
13950         * lib/sockets.c: Likewise.
13951         * lib/stdio-read.c: Likewise.
13952         * lib/stdio-write.c: Likewise.
13953         * lib/write.c: Likewise.
13954         * lib/w32sock.h: Likewise.
13955         * lib/w32spawn.h: Likewise.
13956         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
13957         * lib/fsync.c: Likewise.
13958         * lib/isapipe.c: Likewise.
13959         * modules/dup2 (Depends-on): Add msvc-nothrow.
13960         * modules/accept4 (Depends-on): Likewise.
13961         * modules/error (Depends-on): Likewise.
13962         * modules/fcntl (Depends-on): Likewise.
13963         * modules/lseek (Depends-on): Likewise.
13964         * modules/nonblocking (Depends-on): Likewise.
13965         * modules/poll (Depends-on): Likewise.
13966         * modules/read (Depends-on): Likewise.
13967         * modules/select (Depends-on): Likewise.
13968         * modules/sockets (Depends-on): Likewise.
13969         * modules/sigpipe (Depends-on): Likewise.
13970         * modules/write (Depends-on): Likewise.
13971         * modules/accept (Depends-on): Likewise.
13972         * modules/bind (Depends-on): Likewise.
13973         * modules/connect (Depends-on): Likewise.
13974         * modules/gethostname (Depends-on): Likewise.
13975         * modules/getpeername (Depends-on): Likewise.
13976         * modules/getsockname (Depends-on): Likewise.
13977         * modules/getsockopt (Depends-on): Likewise.
13978         * modules/ioctl (Depends-on): Likewise.
13979         * modules/listen (Depends-on): Likewise.
13980         * modules/recv (Depends-on): Likewise.
13981         * modules/recvfrom (Depends-on): Likewise.
13982         * modules/send (Depends-on): Likewise.
13983         * modules/sendto (Depends-on): Likewise.
13984         * modules/setsockopt (Depends-on): Likewise.
13985         * modules/shutdown (Depends-on): Likewise.
13986         * modules/socket (Depends-on): Likewise.
13987         * modules/execute (Depends-on): Likewise.
13988         * modules/spawn-pipe (Depends-on): Likewise.
13989         * modules/flock (Depends-on): Likewise.
13990         * modules/fsync (Depends-on): Likewise.
13991         * modules/isapipe (Depends-on): Likewise.
13992         * tests/test-cloexec.c: Include msvc-nothrow.h.
13993         * tests/test-dup-safer.c: Likewise.
13994         * tests/test-dup2.c: Likewise.
13995         * tests/test-dup3.c: Likewise.
13996         * tests/test-fcntl.c: Likewise.
13997         * tests/test-pipe.c: Likewise.
13998         * tests/test-pipe2.c: Likewise.
13999         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
14000         * modules/unistd-safer-tests (Depends-on): Likewise.
14001         * modules/dup2-tests (Depends-on): Likewise.
14002         * modules/dup3-tests (Depends-on): Likewise.
14003         * modules/fcntl-tests (Depends-on): Likewise.
14004         * modules/pipe-posix-tests (Depends-on): Likewise.
14005         * modules/pipe2-tests (Depends-on): Likewise.
14006
14007 2011-09-23  Bruno Haible  <bruno@clisp.org>
14008
14009         dup2: Make code more maintainable.
14010         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
14011         (rpl_dup2): Use it.
14012         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
14013         * modules/dup2 (configure.ac): Invoke it.
14014         Reported by Paul Eggert.
14015
14016 2011-09-23  Bruno Haible  <bruno@clisp.org>
14017
14018         msvc-inval: Fix compilation error.
14019         * lib/msvc-inval.h: Include <excpt.h>.
14020
14021 2011-09-23  Bruno Haible  <bruno@clisp.org>
14022
14023         mkdir: Tweak for MSVC 9.
14024         * lib/sys_stat.in.h: Update comments.
14025         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
14026
14027         Tests for module 'chdir'.
14028         * modules/chdir-tests: New file.
14029         * tests/test-chdir.c: New file.
14030
14031         New module 'chdir'.
14032         * modules/chdir: New file.
14033         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
14034         (chdir): New declaration.
14035         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
14036         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
14037         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
14038         * tests/test-unistd-c++.cc: Check signature of chdir.
14039         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
14040         * modules/chdir-long (Depends-on): Add chdir.
14041         * modules/fchdir (Depends-on): Likewise.
14042         * modules/rename (Depends-on): Likewise.
14043         * modules/savewd (Depends-on): Likewise.
14044
14045         rmdir: Support for mingw, MSVC 9.
14046         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
14047         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
14048
14049         getcwd: Tweak for MSVC 9.
14050         * lib/unistd.in.h: Update comments.
14051         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
14052
14053 2011-09-22  Bruno Haible  <bruno@clisp.org>
14054
14055         strerror_r-posix: Avoid a link error on MSVC.
14056         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
14057         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
14058
14059 2011-09-22  Bruno Haible  <bruno@clisp.org>
14060
14061         select: Avoid link errors on MSVC.
14062         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
14063         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
14064         * modules/pselect (Link): Likewise.
14065         * NEWS: Mention the change.
14066         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
14067         test-select-stdin against $(LIB_SELECT).
14068         * modules/pselect-tests (Makefile.am): Link test-pselect against
14069         $(LIB_SELECT).
14070
14071 2011-09-22  Bruno Haible  <bruno@clisp.org>
14072
14073         select: Avoid compilation error on MSVC.
14074         * lib/select.c: Don't include <stdbool.h>.
14075
14076 2011-09-21  Bruno Haible  <bruno@clisp.org>
14077
14078         Consolidate all uses of PATH_MAX in *.m4 files.
14079         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
14080         macros.
14081         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
14082         and gl_PATHMAX_SNIPPET.
14083         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14084         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14085         * modules/chdir-long (Files): Add m4/pathmax.m4.
14086         * modules/getcwd (Files): Likewise.
14087
14088 2011-09-21  Bruno Haible  <bruno@clisp.org>
14089
14090         ftruncate: Un-deprecate, concentrate on Win32 support.
14091         * modules/ftruncate (Status, Notice): Remove sections.
14092         (Depends-on): Add largefile.
14093         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
14094         non-mingw platforms.
14095         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
14096         include <io.h>.
14097         * modules/perror-tests (Depends-on): Add ftruncate.
14098         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
14099         'ftruncate' module.
14100
14101 2011-09-21  Bruno Haible  <bruno@clisp.org>
14102
14103         Add dependencies to new dirent related modules.
14104         * modules/opendir (Depends-on): Add closedir.
14105         * modules/getcwd (Depends-on): Add opendir, closedir.
14106         * modules/dirent-safer-tests (Depends-on): Likewise.
14107         * modules/fdopendir-tests (Depends-on): Likewise.
14108         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
14109         * modules/renameat-tests (Depends-on): Likewise.
14110
14111 2011-09-21  Bruno Haible  <bruno@clisp.org>
14112
14113         opendir: Avoid compilation error on mingw.
14114         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
14115         * modules/opendir (Depends-on): Add unistd.
14116
14117 2011-09-21  Bruno Haible  <bruno@clisp.org>
14118
14119         ftruncate tests: Avoid a test failure on mingw.
14120         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
14121
14122 2011-09-21  Bruno Haible  <bruno@clisp.org>
14123
14124         select tests: Avoid test failures on OSF/1 5.1 and mingw.
14125         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
14126         native Windows.
14127
14128 2011-09-21  Bruno Haible  <bruno@clisp.org>
14129
14130         New module 'fdopen'.
14131         * lib/stdio.in.h (fdopen): New declaration.
14132         * lib/fdopen.c: New file.
14133         * m4/fdopen.m4: New file.
14134         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
14135         REPLACE_FDOPEN.
14136         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
14137         REPLACE_FDOPEN.
14138         * modules/fdopen: New file.
14139         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
14140         * tests/test-stdio-c++.cc: Check signature of fdopen.
14141         * doc/posix-functions/fdopen.texi: Mention the new module.
14142
14143 2011-09-21  Bruno Haible  <bruno@clisp.org>
14144
14145         unlockpt tests: Avoid test failure on NetBSD 5.1.
14146         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
14147         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
14148
14149 2011-09-21  Bruno Haible  <bruno@clisp.org>
14150
14151         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
14152         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
14153         * tests/test-getlogin_r.c (main): Likewise.
14154
14155 2011-09-20  Bruno Haible  <bruno@clisp.org>
14156
14157         time tests: Don't require pid_t.
14158         * doc/posix-headers/time.texi: Revert last change.
14159         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
14160         * tests/test-time.c: Comment out the check for pid_t.
14161
14162 2011-09-20  Bruno Haible  <bruno@clisp.org>
14163
14164         fsync tests: Avoid a test failure on mingw.
14165         * tests/test-fsync.c (main): Allow a failure with EIO.
14166
14167 2011-09-20  Bruno Haible  <bruno@clisp.org>
14168
14169         euidaccess: Update comments.
14170         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
14171
14172 2011-09-20  Bruno Haible  <bruno@clisp.org>
14173
14174         Ensure EBADF returns for socket functions on mingw.
14175         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
14176         descriptor is invalid.
14177         * lib/bind.c (rpl_bind): Likewise.
14178         * lib/connect.c (rpl_connect): Likewise.
14179         * lib/getpeername.c (rpl_getpeername): Likewise.
14180         * lib/getsockname.c (rpl_getsockname): Likewise.
14181         * lib/getsockopt.c (rpl_getsockopt): Likewise.
14182         * lib/listen.c (rpl_listen): Likewise.
14183         * lib/recv.c (rpl_recv): Likewise.
14184         * lib/recvfrom.c (rpl_recvfrom): Likewise.
14185         * lib/send.c (rpl_send): Likewise.
14186         * lib/sendto.c (rpl_sendto): Likewise.
14187         * lib/setsockopt.c (rpl_setsockopt): Likewise.
14188         * lib/shutdown.c (rpl_shutdown): Likewise.
14189
14190 2011-09-20  Bruno Haible  <bruno@clisp.org>
14191
14192         select tests: EBADF tests.
14193         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
14194         test_bad_fd): New functions.
14195         (test_function): Invoke also test_bad_fd.
14196
14197 2011-09-20  Bruno Haible  <bruno@clisp.org>
14198
14199         Tests for module 'posix_spawn_file_actions_addopen.
14200         * modules/posix_spawn_file_actions_addopen-tests: New file.
14201         * tests/test-posix_spawn_file_actions_addopen.c: New file.
14202
14203         Tests for module 'posix_spawn_file_actions_adddup2'.
14204         * modules/posix_spawn_file_actions_adddup2-tests: New file.
14205         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
14206
14207         Tests for module 'posix_spawn_file_actions_addclose'.
14208         * modules/posix_spawn_file_actions_addclose-tests: New file.
14209         * tests/test-posix_spawn_file_actions_addclose.c: New file.
14210
14211 2011-09-20  Bruno Haible  <bruno@clisp.org>
14212
14213         Tests for module 'unlockpt'.
14214         * modules/unlockpt-tests: New file.
14215         * tests/test-unlockpt.c: New file.
14216         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
14217
14218         Tests for module 'grantpt'.
14219         * modules/grantpt-tests: New file.
14220         * tests/test-grantpt.c: New file.
14221         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
14222
14223 2011-09-20  Bruno Haible  <bruno@clisp.org>
14224
14225         freopen tests: EBADF tests.
14226         * tests/test-freopen.c: Include errno.h, unistd.h.
14227         (main): Add tests for EBADF, commented out for the moment.
14228
14229         fclose tests: EBADF tests.
14230         * tests/test-fclose.c (main): Add tests for EBADF.
14231
14232         fflush tests: EBADF tests.
14233         * tests/test-fflush.c: Include errno.h, macros.h.
14234         (main): Add tests for EBADF.
14235
14236         ftello tests: EBADF tests.
14237         * tests/test-ftello4.sh: New file.
14238         * tests/test-ftello4.c: New file.
14239         * modules/ftello-tests (Files): Add them.
14240         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
14241
14242         fseeko tests: EBADF tests.
14243         * tests/test-fseeko4.sh: New file.
14244         * tests/test-fseeko4.c: New file.
14245         * modules/fseeko-tests (Files): Add them.
14246         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
14247
14248         Tests for function fputc().
14249         * modules/fputc-tests: New file.
14250         * tests/test-fputc.c: New file.
14251         * modules/stdio-tests (Depends-on): Add fputc-tests.
14252
14253         Tests for function fgetc().
14254         * modules/fgetc-tests: New file.
14255         * tests/test-fgetc.c: New file.
14256         * modules/stdio-tests (Depends-on): Add fgetc-tests.
14257
14258         Tests for function fdopen().
14259         * modules/fdopen-tests: New file.
14260         * tests/test-fdopen.c: New file.
14261         * modules/stdio-tests (Depends-on): Add fdopen-tests.
14262
14263         Tests for module 'vdprintf'.
14264         * modules/vdprintf-tests: New file.
14265         * tests/test-vdprintf.c: New file.
14266
14267         Tests for module 'dprintf'.
14268         * modules/dprintf-tests: New file.
14269         * tests/test-dprintf.c: New file.
14270
14271 2011-09-20  Bruno Haible  <bruno@clisp.org>
14272
14273         Tests for module 'ioctl'.
14274         * modules/ioctl-tests: New file.
14275         * tests/test-ioctl.c: New file.
14276
14277 2011-09-20  Bruno Haible  <bruno@clisp.org>
14278
14279         fcntl tests: EBADF tests.
14280         * tests/test-fcntl.c (main): Add more tests for EBADF.
14281
14282 2011-09-20  Bruno Haible  <bruno@clisp.org>
14283
14284         utimensat tests: EBADF tests.
14285         * tests/test-utimensat.c (main): Add tests for EBADF.
14286
14287         renameat tests: EBADF tests.
14288         * tests/test-renameat.c (main): Add tests for EBADF.
14289
14290         mkfifoat tests: EBADF tests.
14291         * tests/test-mkfifoat.c (main): Add tests for EBADF.
14292
14293         readlinkat tests: EBADF tests.
14294         * tests/test-readlinkat.c (main): Add tests for EBADF.
14295
14296         symlinkat tests: EBADF tests.
14297         * tests/test-symlinkat.c (main): Add tests for EBADF.
14298
14299         linkat tests: EBADF tests.
14300         * tests/test-linkat.c (main): Add tests for EBADF.
14301
14302         Tests for module 'faccessat'.
14303         * modules/faccessat-tests: New file.
14304         * tests/test-faccessat.c: New file.
14305
14306         fdopendir tests: EBADF tests.
14307         * tests/test-fdopendir.c (main): Add more tests for EBADF.
14308
14309         openat tests: EBADF tests.
14310         * tests/test-fchownat.c (main): Add tests for EBADF.
14311         * tests/test-fstatat.c (main): Likewise.
14312         * tests/test-mkdirat.c (main): Likewise.
14313         * tests/test-openat.c (main): Likewise.
14314         * tests/test-unlinkat.c (main): Likewise.
14315         * tests/test-fchmodat.c: New file.
14316         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
14317         (Makefile.am): Also run 'test-fchmodat'.
14318
14319 2011-09-20  Bruno Haible  <bruno@clisp.org>
14320
14321         utimens, futimens, fdutimensat tests: EBADF tests.
14322         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
14323
14324         Tests for function fstat().
14325         * modules/fstat-tests: New file.
14326         * tests/test-fstat.c: New file.
14327         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
14328
14329 2011-09-20  Bruno Haible  <bruno@clisp.org>
14330
14331         test-ttyname_r tests: EBADF tests.
14332         * tests/test-ttyname_r.c (main): Add tests for EBADF.
14333
14334         Tests for module 'isatty'.
14335         * modules/isatty-tests: New file.
14336         * tests/test-isatty.c: New file.
14337
14338         Tests for module 'write'.
14339         * modules/write-tests: New file.
14340         * tests/test-write.c: New file.
14341
14342         Tests for module 'read'.
14343         * modules/read-tests: New file.
14344         * tests/test-read.c: New file.
14345
14346         pwrite tests: EBADF tests.
14347         * tests/test-pwrite.c (main): Add tests for EBADF.
14348
14349         pread tests: EBADF tests.
14350         * tests/test-pread.c (main): Add tests for EBADF.
14351
14352         lseek tests: EBADF tests.
14353         * tests/test-lseek.c (main): Add more tests for EBADF.
14354
14355         Tests for module 'ftruncate'.
14356         * modules/ftruncate-tests: New file.
14357         * tests/test-ftruncate.sh: New file.
14358         * tests/test-ftruncate.c: New file.
14359
14360         fsync tests: EBADF tests.
14361         * tests/test-fsync.c (main): Add more tests for EBADF.
14362
14363         fdatasync tests: EBADF tests.
14364         * tests/test-fdatasync.c (main): Add more tests for EBADF.
14365
14366         Tests for module 'fchown'.
14367         * modules/fchown-tests: New file.
14368         * tests/test-fchown.c: New file.
14369
14370         Tests for module 'fchmod'.
14371         * modules/fchmod-tests: New file.
14372         * tests/test-fchmod.c: New file.
14373
14374         fchdir tests: EBADF tests.
14375         * tests/test-fchdir.c (main): Add more tests for EBADF.
14376
14377         dup2 tests: EBADF tests.
14378         * tests/test-dup2.c (main): Add more tests for EBADF.
14379
14380         Tests for module 'dup'.
14381         * modules/dup-tests: New file.
14382         * tests/test-dup.c: New file.
14383
14384         Tests for module 'close'.
14385         * modules/close-tests: New file.
14386         * tests/test-close.c: New file.
14387
14388 2011-09-20  Bruno Haible  <bruno@clisp.org>
14389
14390         Tests for module 'shutdown'.
14391         * modules/shutdown-tests: New file.
14392         * tests/test-shutdown.c: New file.
14393
14394         Tests for module 'setsockopt'.
14395         * modules/setsockopt-tests: New file.
14396         * tests/test-setsockopt.c: New file.
14397
14398         Tests for module 'sendto'.
14399         * modules/sendto-tests: New file.
14400         * tests/test-sendto.c: New file.
14401
14402         Tests for module 'send'.
14403         * modules/send-tests: New file.
14404         * tests/test-send.c: New file.
14405
14406         Tests for module 'recvfrom'.
14407         * modules/recvfrom-tests: New file.
14408         * tests/test-recvfrom.c: New file.
14409
14410         Tests for module 'recv'.
14411         * modules/recv-tests: New file.
14412         * tests/test-recv.c: New file.
14413
14414         Tests for module 'listen'.
14415         * modules/listen-tests: New file.
14416         * tests/test-listen.c: New file.
14417
14418         Tests for module 'getsockopt'.
14419         * modules/getsockopt-tests: New file.
14420         * tests/test-getsockopt.c: New file.
14421
14422         Tests for module 'getsockname'.
14423         * modules/getsockname-tests: New file.
14424         * tests/test-getsockname.c: New file.
14425
14426         Tests for module 'getpeername'.
14427         * modules/getpeername-tests: New file.
14428         * tests/test-getpeername.c: New file.
14429
14430         Tests for module 'connect'.
14431         * modules/connect-tests: New file.
14432         * tests/test-connect.c: New file.
14433
14434         Tests for module 'bind'.
14435         * modules/bind-tests: New file.
14436         * tests/test-bind.c: New file.
14437
14438         accept4 tests: Fix for native Windows.
14439         * tests/test-accept4.c: Include sockets.h.
14440         (main): Invoke gl_sockets_startup.
14441         * modules/accept4-tests (Depends-on): Add sockets.
14442
14443         accept tests: Fix for native Windows.
14444         * tests/test-accept.c: Include sockets.h.
14445         (main): Invoke gl_sockets_startup.
14446         * modules/accept-tests (Depends-on): Add sockets.
14447
14448 2011-09-19  Bruno Haible  <bruno@clisp.org>
14449
14450         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
14451         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
14452         do...while(0).
14453         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
14454         Suggested by Paul Eggert.
14455
14456 2011-09-19  Bruno Haible  <bruno@clisp.org>
14457
14458         sched: Ensure pid_t is defined.
14459         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
14460         not define pid_t.
14461         * lib/sched.in.h: Include <sys/types.h>.
14462         * doc/posix-headers/sched.texi: Mention the pid_t problem.
14463         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14464
14465 2011-09-19  Bruno Haible  <bruno@clisp.org>
14466
14467         msvc-inval: Ensure the entire expansion is a single statement.
14468         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
14469         of braces.
14470
14471 2011-09-19  Jim Meyering  <meyering@redhat.com>
14472
14473         tests: use printf, not echo in init.sh's warn_ function
14474         * tests/init.sh (warn_): Use printf, not echo.  The latter would
14475         misbehave when given strings containing a backslash or starting
14476         with e.g., -n.  James Youngman suggested setting IFS.
14477
14478 2011-09-19  Eric Blake  <eblake@redhat.com>
14479
14480         futimens: enhance test
14481         * tests/test-futimens.h (test_futimens): Also check for EBADF on
14482         closed non-negative fd.
14483
14484         date: accept 'hence' as opposite of 'ago'
14485         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
14486         * tests/test-parse-datetime.c (main): Enhance test.
14487         Suggested by Jesse Wilson.
14488
14489 2011-09-19  Jim Meyering  <meyering@redhat.com>
14490
14491         getcwd: don't fail in a deep directory on a system without openat
14492         Before this change, getcwd would fail when called from a directory
14493         of depth PATH_MAX / 3 or greater.  That was due to the fact that
14494         the non-openat implementation used "..", "../..", "../../..", etc.
14495         to access ancestor directories.  With too many, that string would
14496         be longer than PATH_MAX.
14497         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
14498         using gnulib's openat replacement.
14499         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
14500         we're using the replacement function.
14501
14502 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
14503
14504         maint.mk: avoid warnings from perl about missing files
14505         * top/maint.mk (def_sym_regex): Ignore files listed in
14506         $(gl_other_headers_) that do not exist, say because a project
14507         does not use a corresponding module.
14508
14509 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
14510
14511         stat: use pathmax.h only if needed
14512         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
14513         This is better for Emacs, which does not have a mingw port and
14514         therefore can avoid the pathmax module.
14515
14516         utimens: remove dependency on dup2
14517         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
14518         to work around the Linux kernel bug.
14519         * modules/utimens (Depends-on): Remove dup2.
14520
14521 2011-09-18  Bruno Haible  <bruno@clisp.org>
14522
14523         inet_ntop, inet_pton: Look for it also in libresolv.
14524         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
14525         libnsl, search for it in libresolv.
14526         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
14527         Needed on Solaris 7.
14528
14529 2011-09-18  Bruno Haible  <bruno@clisp.org>
14530
14531         accept, accept4 tests: Avoid link error on Solaris.
14532         * modules/accept-tests (Makefile.am): Link test-accept against
14533         $(LIBSOCKET).
14534         * modules/accept4-tests (Makefile.am): Link test-accept4 against
14535         $(LIBSOCKET).
14536
14537         accept4: Avoid link error on Solaris.
14538         * modules/accept4 (Link): New section.
14539
14540         socket functions: Avoid link errors on Solaris.
14541         * modules/accept (Depends-on): Add socketlib.
14542         (Link): New section.
14543         * modules/bind (Depends-on): Add socketlib.
14544         (Link): New section.
14545         * modules/connect (Depends-on): Add socketlib.
14546         (Link): New section.
14547         * modules/getpeername (Depends-on): Add socketlib.
14548         (Link): New section.
14549         * modules/getsockname (Depends-on): Add socketlib.
14550         (Link): New section.
14551         * modules/getsockopt (Depends-on): Add socketlib.
14552         (Link): New section.
14553         * modules/listen (Depends-on): Add socketlib.
14554         (Link): New section.
14555         * modules/recv (Depends-on): Add socketlib.
14556         (Link): New section.
14557         * modules/recvfrom (Depends-on): Add socketlib.
14558         (Link): New section.
14559         * modules/send (Depends-on): Add socketlib.
14560         (Link): New section.
14561         * modules/sendto (Depends-on): Add socketlib.
14562         (Link): New section.
14563         * modules/setsockopt (Depends-on): Add socketlib.
14564         (Link): New section.
14565         * modules/shutdown (Depends-on): Add socketlib.
14566         (Link): New section.
14567         * modules/socket (Depends-on): Add socketlib.
14568         (Link): New section.
14569
14570 2011-09-18  Bruno Haible  <bruno@clisp.org>
14571
14572         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
14573         * tests/test-ptsname.c (main): Terminate the test if it takes longer
14574         than 5 seconds.
14575         * modules/ptsname-tests (configure.ac): Test for alarm.
14576
14577 2011-09-18  Bruno Haible  <bruno@clisp.org>
14578
14579         posix_spawn_file_actions_add*: Fix module dependencies.
14580         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
14581         posix_spawn_file_actions_init.
14582         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
14583         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
14584
14585 2011-09-18  Bruno Haible  <bruno@clisp.org>
14586
14587         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
14588         * tests/test-rename.h (test_rename): Allow error code EEXIST.
14589         * tests/test-renameat.c (main): Likewise.
14590
14591 2011-09-18  Bruno Haible  <bruno@clisp.org>
14592
14593         Tests for module 'accept4'.
14594         * modules/accept4-tests: New file.
14595         * tests/test-accept4.c: New file.
14596
14597 2011-09-18  Bruno Haible  <bruno@clisp.org>
14598
14599         Tests for module 'accept'.
14600         * modules/accept-tests: New file.
14601         * tests/test-accept.c: New file.
14602
14603 2011-09-18  Bruno Haible  <bruno@clisp.org>
14604
14605         dup2: Support for MSVC.
14606         * lib/dup2.c: Include msvc-inval.h.
14607         (rpl_dup2): Handle invalid parameter notifications during dup2 and
14608         _get_osfhandle calls.
14609         * modules/dup2 (Depends-on): Add msvc-inval.
14610         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
14611
14612         New module 'msvc-inval'.
14613         * lib/msvc-inval.h: New file.
14614         * lib/msvc-inval.c: New file.
14615         * m4/msvc-inval.m4: New file.
14616         * modules/msvc-inval: New file.
14617
14618 2011-09-17  Bruno Haible  <bruno@clisp.org>
14619
14620         Tests for module 'pclose'.
14621         * modules/pclose-tests: New file.
14622
14623         New module 'pclose'.
14624         * lib/stdio.in.h (pclose): New declaration.
14625         * lib/pclose.c: New file.
14626         * m4/pclose.m4: New file.
14627         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
14628         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
14629         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
14630         * modules/pclose: New file.
14631         * modules/popen-tests (Depends-on): Add pclose.
14632         * modules/popen-safer-tests (Depends-on): Likewise.
14633         * doc/posix-functions/pclose.texi: Mention the new module.
14634
14635 2011-09-17  Bruno Haible  <bruno@clisp.org>
14636
14637         popen: Support for MSVC.
14638         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
14639         * lib/popen.c (popen): Provide alternate definition for native Windows.
14640         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
14641         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
14642         * modules/popen (Depends-on, configure.ac): Update condition.
14643         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
14644         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
14645         fixed.
14646
14647 2011-09-17  Bruno Haible  <bruno@clisp.org>
14648
14649         isnanl, isnand, isnanf: Work around MSVC bug.
14650         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
14651
14652 2011-09-17  Bruno Haible  <bruno@clisp.org>
14653
14654         sys_socket tests: Fix recent mistake.
14655         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
14656
14657 2011-09-17  Bruno Haible  <bruno@clisp.org>
14658
14659         putenv: Support for MSVC.
14660         * modules/putenv (Depends-on): Add environ.
14661         * lib/putenv.c (environ): Disable declaration.
14662         * lib/unistd.in.h: Update comment.
14663
14664 2011-09-17  Bruno Haible  <bruno@clisp.org>
14665
14666         math: Avoid macro redefinition warnings on MSVC.
14667         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
14668         Undefine before redefining.
14669
14670 2011-09-17  Bruno Haible  <bruno@clisp.org>
14671
14672         doc: Mention functions which are declared as macros.
14673         * doc/posix-functions/*[fl].texi: Mention that some functions are
14674         defined as macros with arguments only.
14675
14676 2011-09-17  Bruno Haible  <bruno@clisp.org>
14677
14678         Add dependencies to new dirent related modules.
14679         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
14680         * modules/fts (Depends-on): Likewise.
14681         * modules/glob (Depends-on): Likewise.
14682         * modules/savedir (Depends-on): Likewise.
14683         * modules/scandir (Depends-on): Likewise.
14684         * modules/dirent-safer (Depends-on): Add opendir, closedir.
14685         * modules/fdopendir (Depends-on): Add opendir.
14686
14687 2011-09-17  Bruno Haible  <bruno@clisp.org>
14688
14689         inet_pton: Support for MSVC on Windows Vista or newer.
14690         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
14691         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
14692         HAVE_DECL_INET_PTON is defined.
14693         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14694         On platforms with <winsock2.h>, test whether inet_pton is declared in
14695         <ws2tcpip.h>. If so, arrange to replace it.
14696         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
14697         REPLACE_INET_PTON.
14698         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
14699         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
14700         (Depends-on, configure.ac): Update condition.
14701         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
14702
14703 2011-09-17  Bruno Haible  <bruno@clisp.org>
14704
14705         inet_ntop: Support for MSVC on Windows Vista or newer.
14706         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
14707         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
14708         HAVE_DECL_INET_NTOP is defined.
14709         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14710         On platforms with <winsock2.h>, test whether inet_ntop is declared in
14711         <ws2tcpip.h>. If so, arrange to replace it.
14712         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
14713         REPLACE_INET_NTOP.
14714         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
14715         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
14716         (Depends-on, configure.ac): Update condition.
14717         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
14718
14719 2011-09-16  Eric Blake  <eblake@redhat.com>
14720
14721         test-fsync: yet another enhancement
14722         * tests/test-fsync.c (main): Also test behavior on read-only text
14723         file.
14724
14725 2011-09-16  Bruno Haible  <bruno@clisp.org>
14726
14727         Enhance fsync, fdatasync tests.
14728         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
14729         * tests/test-fdatasync.c (main): Likewise.
14730
14731 2011-09-16  Bruno Haible  <bruno@clisp.org>
14732
14733         Support for MSVC compiler: Ensure mode_t gets defined.
14734         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
14735         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14736         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
14737         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
14738         * tests/test-fcntl-h.c: Check that mode_t is defined.
14739         * tests/test-sys_stat.c: Likewise.
14740         * tests/test-sys_types.c: Likewise.
14741         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
14742         * doc/posix-headers/sys_stat.texi: Likewise.
14743         * doc/posix-headers/sys_types.texi: Likewise.
14744
14745 2011-09-16  Bruno Haible  <bruno@clisp.org>
14746
14747         sys_stat: Support for MSVC.
14748         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
14749         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
14750         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
14751         MSVC.
14752
14753 2011-09-16  Bruno Haible  <bruno@clisp.org>
14754
14755         Support for MSVC compiler: Ensure off_t gets defined.
14756         * lib/unistd.in.h: Include <sys/types.h>.
14757         * tests/test-fcntl-h.c: Check that off_t is defined.
14758         * tests/test-sys_stat.c: Likewise.
14759         * tests/test-sys_types.c: Likewise.
14760
14761 2011-09-16  Eric Blake  <eblake@redhat.com>
14762
14763         fdatasync: port to Solaris
14764         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
14765         * modules/fdatasync (Link): Document it.
14766         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
14767
14768         fdatasync: port to MacOS X 10.7
14769         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
14770         declared.
14771         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
14772         * modules/unistd (Makefile.am): Substitute it.
14773         * lib/unistd.in.h (fdatasync): Declare on MacOS.
14774         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
14775
14776         fdatasync: minor improvements
14777         * modules/fdatasync (Depends-on): Add condition for fsync.
14778         * lib/fdatasync.c (fdatasync): Add comment.
14779         * tests/test-unistd-c++.cc: Test fdatasync.
14780
14781         unistd: update refs to newer POSIX
14782         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
14783         Suggested by Bruno Haible.
14784
14785         fdatasync: new module
14786         * modules/fsync (Description): Document difference to fdatasync.
14787         * modules/fdatasync: New module.
14788         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
14789         * lib/fdatasync.c (fdatasync): Likewise.
14790         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
14791         defaults.
14792         * modules/unistd (Makefile.am): Set witnesses.
14793         * lib/unistd.in.h (fdatasync): Declare.
14794         * MODULES.html.sh: Document it.
14795         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
14796         * modules/fdatasync-tests: New test.
14797         * tests/test-fdatasync.c: Likewise.
14798
14799 2011-09-16  Eric Blake  <eblake@redhat.com>
14800
14801         test-fsync: enhance tests
14802         * modules/fsync-tests (Depends-on): Add errno, for mingw.
14803         * tests/test-fsync.c (main): Enhance test.
14804
14805 2011-09-15  Bruno Haible  <bruno@clisp.org>
14806
14807         Support for MSVC compiler: Ensure ssize_t gets defined.
14808         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
14809         * doc/posix-headers/stdio.texi: Likewise.
14810         * modules/stdio (Depends-on): Add ssize_t.
14811         * modules/sys_socket (Depends-on): Likewise.
14812         * modules/sys_types (Depends-on): Likewise.
14813         * modules/sys_uio (Depends-on): Likewise.
14814         * modules/unistd (Depends-on): Likewise.
14815         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
14816         * tests/test-sys_types.c: Check that ssize_t is defined.
14817
14818 2011-09-14  Bruno Haible  <bruno@clisp.org>
14819
14820         Avoid using #, the m4 comment starter character, near brackets.
14821         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
14822         delimiter character in sed expressions.
14823         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
14824         Suggested by Eric Blake.
14825
14826         Properly quote AC_CHECK_DECLS' 4th argument.
14827         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
14828         argument.
14829         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14830         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14831         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14832         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14833         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
14834         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
14835         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
14836         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
14837         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
14838         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
14839         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
14840         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
14841         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
14842         * m4/isinf.m4 (gl_ISINF): Likewise.
14843         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
14844         * m4/readutmp.m4 (gl_READUTMP): Likewise.
14845         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
14846         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14847         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14848         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14849         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14850         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14851         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
14852         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14853         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14854         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14855         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
14856         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14857         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14858         Reported by Eric Blake.
14859
14860         Properly quote AC_CHECK_DECL's 4th argument.
14861         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
14862         argument.
14863         * m4/argp.m4 (gl_ARGP): Likewise.
14864         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
14865         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
14866         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
14867         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14868         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
14869         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
14870         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
14871         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
14872         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14873         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
14874         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
14875         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
14876         Reported by Eric Blake.
14877
14878 2011-09-14  Eric Blake  <eblake@redhat.com>
14879
14880         opendir: avoid compile warning
14881         * lib/opendir.c (includes): Always include errno.h.
14882         Reported by Tatsuro MATSUOKA.
14883
14884 2011-09-14  Jim Meyering  <meyering@redhat.com>
14885
14886         maint.mk: sc_tight_scope: propagate failure from sub-make
14887         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
14888         Reported by Martin von Gagern.
14889
14890 2011-09-13  Bruno Haible  <bruno@clisp.org>
14891
14892         tempname: Support for MSVC.
14893         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
14894         MSVC.
14895         * modules/tempname (Depends-on): Add fcntl-h.
14896
14897 2011-09-13  Bruno Haible  <bruno@clisp.org>
14898
14899         sys_time: Support for MSVC.
14900         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
14901         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
14902         include <winsock2.h>.
14903         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
14904         function declarations that collide with POSIX.
14905         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
14906         (Makefile.am): Substitute HAVE_WINSOCK2_H.
14907
14908 2011-09-13  Bruno Haible  <bruno@clisp.org>
14909
14910         stat: Support for MSVC.
14911         * lib/stat.c: Include pathmax.h.
14912         * modules/stat (Depends-on): Add pathmax.
14913
14914         pathmax: Support for native Windows.
14915         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
14916
14917 2011-09-12  Bruno Haible  <bruno@clisp.org>
14918
14919         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
14920         * lib/dirent.in.h (struct dirent): New type.
14921         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
14922         DT_WHT): New macros.
14923         (DIR): New type.
14924         (opendir, closedir): Declare only if the module 'opendir' is enabled.
14925         (readdir, rewinddir): New declarations.
14926         * lib/dirent-private.h: New file.
14927         * lib/opendir.c: New file.
14928         * lib/readdir.c: New file.
14929         * lib/rewinddir.c: New file.
14930         * lib/closedir.c: New file.
14931         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
14932         * m4/opendir.m4: New file.
14933         * m4/readdir.m4: New file.
14934         * m4/rewinddir.m4: New file.
14935         * m4/closedir.m4: New file.
14936         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
14937         REPLACE_CLOSEDIR here.
14938         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
14939         readdir, rewinddir are declared.
14940         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
14941         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
14942         HAVE_REWINDDIR, HAVE_CLOSEDIR.
14943         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
14944         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
14945         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
14946         * modules/opendir: New file.
14947         * modules/readdir: New file.
14948         * modules/rewinddir: New file.
14949         * modules/closedir: New file.
14950         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
14951         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
14952         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
14953         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
14954         * NEWS: Mention the 'fchdir' change.
14955
14956 2011-09-11  Bruno Haible  <bruno@clisp.org>
14957
14958         asm-underscore.m4: Support for MSVC.
14959         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
14960         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
14961
14962 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
14963
14964         Doc about crypt functions.
14965         * doc/posix-functions/crypt.texi: Expand range of glibc versions
14966         needing for _GNU_SOURCE to get crypt.
14967         * doc/posix-functions/encrypt.texi: Likewise.
14968         * doc/posix-functions/setkey.texi: Likewise.
14969
14970 2011-09-11  Bruno Haible  <bruno@clisp.org>
14971
14972         doc: Update regarding MSVC 9.
14973         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
14974         tested".
14975         * doc/posix-functions/*.texi: Update with info about MSVC 9.
14976         * doc/posix-headers/*.texi: Likewise.
14977         * doc/pastposix-functions/*.texi: Likewise.
14978         * doc/glibc-functions/*.texi: Likewise.
14979         * doc/glibc-headers/*.texi: Likewise.
14980
14981 2011-09-11  Bruno Haible  <bruno@clisp.org>
14982
14983         unistd et al.: Don't assume <unistd.h> exists.
14984         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
14985         does not exist.
14986         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
14987         exist. But include <stdlib.h>.
14988         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
14989         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
14990         symlink() does not exist.
14991         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
14992         include <io.h> instead.
14993         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
14994         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
14995         include <direct.h> instead.
14996         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14997         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14998         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
14999         <io.h> instead.
15000         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
15001         correctly if the system does not have hard links.
15002         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
15003         <direct.h> instead.
15004         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
15005         it when looking for function declarations.
15006         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
15007         <direct.h> and <io.h> instead.
15008         * doc/posix-headers/unistd.texi: More details about MSVC problem.
15009
15010 2011-09-11  Bruno Haible  <bruno@clisp.org>
15011
15012         strcase: Support for MSVC.
15013         * modules/strcase (Status, Notice): Remove obsoletion mark.
15014         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
15015         * doc/posix-functions/strncasecmp.texi: Likewise.
15016
15017         strings: Don't assume <strings.h> exists.
15018         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
15019         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
15020         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
15021         * doc/posix-headers/strings.texi: Mention the MSVC problem.
15022
15023 2011-09-11  Bruno Haible  <bruno@clisp.org>
15024
15025         dirent: Don't assume <dirent.h> exists.
15026         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
15027         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
15028         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
15029         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
15030
15031 2011-09-11  Bruno Haible  <bruno@clisp.org>
15032
15033         Fix wint_t on MSVC.
15034         * lib/wchar.in.h (wint_t): On MSVC, override it.
15035         * lib/wctype.in.h (wint_t): Likewise.
15036         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
15037         MSVC.
15038         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
15039         * doc/posix-headers/wctype.texi: Likewise.
15040
15041 2011-09-11  Bruno Haible  <bruno@clisp.org>
15042
15043         sys_types: Fix typo.
15044         * lib/sys_types.in.h: Fix typo in comment.
15045         Reported by Paul Eggert.
15046
15047         Support for MSVC compiler: Ensure size_t gets defined.
15048         * modules/strings (Depends-on): Add 'sys_types'.
15049         * modules/sys_uio (Depends-on): Likewise.
15050         * lib/sys_uio.in.h: Update comment.
15051
15052         C++ tests for module 'sys_types'.
15053         * modules/sys_types-c++-tests: New file.
15054         * tests/test-sys_types-c++.cc: New file.
15055
15056         Tests for module 'sys_types'.
15057         * modules/sys_types-tests: New file.
15058         * tests/test-sys_types.c: New file.
15059
15060         New module 'sys_types'.
15061         * lib/sys_types.in.h: New file.
15062         * m4/sys_types_h.m4: New file.
15063         * modules/sys_types: New file.
15064         * doc/posix-headers/sys_types.texi: Mention the new module and the
15065         size_t problem on MSVC 9.
15066
15067 2011-09-11  Bruno Haible  <bruno@clisp.org>
15068
15069         Support for MSVC compiler: Avoid division by a literal 0.
15070         * lib/math.in.h (NAN): Define through a function call also on MSVC.
15071         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
15072         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
15073         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
15074         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
15075         * tests/infinity.h: New file.
15076         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
15077         on MSVC.
15078         * tests/test-ceilf1.c: Include infinity.h.
15079         (main): Use Infinityf.
15080         * tests/test-ceil1.c: Include infinity.h.
15081         (main): Use Infinityd.
15082         * tests/test-ceill.c: Include infinity.h.
15083         (main): Use Infinityl.
15084         * tests/test-dprintf-posix.c: Include infinity.h.
15085         (test_function): Use Infinityd.
15086         * tests/test-floorf1.c: Include infinity.h.
15087         (main): Use Infinityf.
15088         * tests/test-floor1.c: Include infinity.h.
15089         (main): Use Infinityd.
15090         * tests/test-floorl.c: Include infinity.h.
15091         (main): Use Infinityl.
15092         * tests/test-fprintf-posix.c: Include infinity.h.
15093         (test_function): Use Infinityd.
15094         * tests/test-frexp.c: Include infinity.h.
15095         (main): Use Infinityd.
15096         * tests/test-frexpl.c: Include infinity.h.
15097         (main): Use Infinityl.
15098         * tests/test-isfinite.c: Include infinity.h.
15099         (test_isfinitef): Use Infinityf.
15100         (test_isfinited): Use Infinityd.
15101         (test_isfinitel): Use Infinityl.
15102         * tests/test-isinf.c: Include infinity.h.
15103         (test_isinff): Use Infinityf.
15104         (test_isinfd): Use Infinityd.
15105         (test_isinfl): Use Infinityl.
15106         * tests/test-isnan.c: Include infinity.h.
15107         (test_float): Use Infinityf.
15108         (test_double): Use Infinityd.
15109         (test_long_double): Use Infinityl.
15110         * tests/test-isnanf.h: Include infinity.h.
15111         (main): Use Infinityf.
15112         * tests/test-isnand.h: Include infinity.h.
15113         (main): Use Infinityd.
15114         * tests/test-isnanl.h: Include infinity.h.
15115         (main): Use Infinityl.
15116         * tests/test-ldexpl.c: Include infinity.h.
15117         (main): Use Infinityl.
15118         * tests/test-printf-posix.h: Include infinity.h.
15119         (test_function): Use Infinityd.
15120         * tests/test-roundf1.c: Include infinity.h.
15121         (main): Use Infinityf.
15122         * tests/test-round1.c: Include infinity.h.
15123         (main): Use Infinityd.
15124         * tests/test-roundl.c: Include infinity.h.
15125         (main): Use Infinityl.
15126         * tests/test-signbit.c: Include infinity.h.
15127         (test_signbitf): Use Infinityf.
15128         (test_signbitd): Use Infinityd.
15129         (test_signbitl): Use Infinityl.
15130         * tests/test-snprintf-posix.h: Include infinity.h.
15131         (test_function): Use Infinityd, Infinityl.
15132         * tests/test-sprintf-posix.h: Include infinity.h.
15133         (test_function): Use Infinityd, Infinityl.
15134         * tests/test-truncf1.c: Include infinity.h.
15135         (main): Use Infinityf.
15136         * tests/test-trunc1.c: Include infinity.h.
15137         (main): Use Infinityd.
15138         * tests/test-truncl.c: Include infinity.h.
15139         (main): Use Infinityl.
15140         * tests/test-vasnprintf-posix.c: Include infinity.h.
15141         (test_function): Use Infinityd, Infinityl.
15142         * tests/test-vasprintf-posix.c: Include infinity.h.
15143         (test_function): Use Infinityd, Infinityl.
15144         * modules/ceilf-tests (Files): Add tests/infinity.h.
15145         * modules/ceil-tests (Files): Likewise.
15146         * modules/ceill-tests (Files): Likewise.
15147         * modules/dprintf-posix-tests (Files): Likewise.
15148         * modules/floorf-tests (Files): Likewise.
15149         * modules/floor-tests (Files): Likewise.
15150         * modules/floorl-tests (Files): Likewise.
15151         * modules/fprintf-posix-tests (Files): Likewise.
15152         * modules/frexp-tests (Files): Likewise.
15153         * modules/frexp-nolibm-tests (Files): Likewise.
15154         * modules/frexpl-tests (Files): Likewise.
15155         * modules/frexpl-nolibm-tests (Files): Likewise.
15156         * modules/isfinite-tests (Files): Likewise.
15157         * modules/isinf-tests (Files): Likewise.
15158         * modules/isnan-tests (Files): Likewise.
15159         * modules/isnanf-tests (Files): Likewise.
15160         * modules/isnanf-nolibm-tests (Files): Likewise.
15161         * modules/isnand-tests (Files): Likewise.
15162         * modules/isnand-nolibm-tests (Files): Likewise.
15163         * modules/isnanl-tests (Files): Likewise.
15164         * modules/isnanl-nolibm-tests (Files): Likewise.
15165         * modules/ldexpl-tests (Files): Likewise.
15166         * modules/printf-posix-tests (Files): Likewise.
15167         * modules/roundf-tests (Files): Likewise.
15168         * modules/round-tests (Files): Likewise.
15169         * modules/roundl-tests (Files): Likewise.
15170         * modules/signbit-tests (Files): Likewise.
15171         * modules/snprintf-posix-tests (Files): Likewise.
15172         * modules/sprintf-posix-tests (Files): Likewise.
15173         * modules/truncf-tests (Files): Likewise.
15174         * modules/trunc-tests (Files): Likewise.
15175         * modules/truncl-tests (Files): Likewise.
15176         * modules/vasnprintf-posix-tests (Files): Likewise.
15177         * modules/vasprintf-posix-tests (Files): Likewise.
15178         * modules/vdprintf-posix-tests (Files): Likewise.
15179         * modules/vfprintf-posix-tests (Files): Likewise.
15180         * modules/vprintf-posix-tests (Files): Likewise.
15181         * modules/vsnprintf-posix-tests (Files): Likewise.
15182         * modules/vsprintf-posix-tests (Files): Likewise.
15183         * modules/xprintf-posix-tests (Files): Likewise.
15184
15185 2011-09-11  Bruno Haible  <bruno@clisp.org>
15186
15187         Ensure pid_t gets defined.
15188         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
15189         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
15190         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
15191         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
15192         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
15193         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
15194         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
15195         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
15196         * tests/test-fcntl-h.c: Check that pid_t is defined.
15197         * tests/test-sched.c: Likewise.
15198         * tests/test-termios.c: Likewise.
15199         * tests/test-time.c: Likewise.
15200         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
15201         * doc/posix-headers/signal.texi: Likewise.
15202         * doc/posix-headers/sys_types.texi: Likewise.
15203         * doc/posix-headers/time.texi: Likewise.
15204
15205 2011-09-11  Bruno Haible  <bruno@clisp.org>
15206
15207         acl: Fix compilation on Solaris 10 (older version).
15208         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
15209         of ACE_EVERYONE.
15210         * lib/set-mode-acl.c (qset_acl): Likewise.
15211         Reported by Christian Jullien <eligis@orange.fr>.
15212
15213 2011-09-10  Bruno Haible  <bruno@clisp.org>
15214
15215         iconv, unsetenv: Add support for MSVC compiler.
15216         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
15217         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
15218
15219 2011-09-10  Bruno Haible  <bruno@clisp.org>
15220
15221         *printf: Add support for MSVC compiler.
15222         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
15223         handles the exception caused by the %n directive. When cross-compiling,
15224         guess no on native Windows.
15225         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
15226         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
15227         emulate it through vsnprintf.
15228         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
15229         * doc/posix-functions/dprintf.texi: Update documentation regarding
15230         MSVC 9.
15231         * doc/posix-functions/fprintf.texi: Likewise.
15232         * doc/posix-functions/printf.texi: Likewise.
15233         * doc/posix-functions/snprintf.texi: Likewise.
15234         * doc/posix-functions/sprintf.texi: Likewise.
15235         * doc/posix-functions/swprintf.texi: Likewise.
15236         * doc/posix-functions/vdprintf.texi: Likewise.
15237         * doc/posix-functions/vfprintf.texi: Likewise.
15238         * doc/posix-functions/vprintf.texi: Likewise.
15239         * doc/posix-functions/vsnprintf.texi: Likewise.
15240         * doc/posix-functions/vsprintf.texi: Likewise.
15241         * doc/glibc-functions/asprintf.texi: Likewise.
15242         * doc/glibc-functions/obstack_printf.texi: Likewise.
15243         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
15244         * doc/glibc-functions/vasprintf.texi: Likewise.
15245
15246 2011-09-10  Bruno Haible  <bruno@clisp.org>
15247
15248         nocrash: Add support for native Windows.
15249         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
15250
15251 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
15252             Bruno Haible  <bruno@clisp.org>
15253
15254         absolute-header, include-next: Add support for MSVC compiler.
15255         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
15256         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
15257         directory separator in #line directives.
15258         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
15259         recognize also backslash as directory separator in #line directives.
15260
15261 2011-09-08  Jim Meyering  <meyering@redhat.com>
15262
15263         maint.mk: mark the post-release commit log with "maint: " prefix
15264         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
15265         one-line commit-log summary.
15266
15267 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
15268             Bruno Haible  <bruno@clisp.org>
15269
15270         Doc about crypt functions.
15271         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
15272         systems.
15273         * doc/posix-functions/encrypt.texi: Likewise.
15274         * doc/posix-functions/setkey.texi: Likewise.
15275
15276 2011-09-08  Simon Josefsson  <simon@josefsson.org>
15277
15278         * lib/gc.h: Fix copyright header.
15279
15280 2011-09-07  Bruno Haible  <bruno@clisp.org>
15281
15282         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
15283         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
15284         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
15285
15286 2011-09-07  Bruno Haible  <bruno@clisp.org>
15287
15288         openat: Work around compilation error with OSF/1 5.1 DTK cc.
15289         * lib/fopen.c: Use different syntax for include of <stdio.h>.
15290         * lib/freopen.c: Likewise.
15291         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
15292         * lib/lstat.c: Likewise.
15293         * lib/stat.c: Likewise.
15294         * lib/open.c: Use different syntax for include of <fcntl.h>.
15295         * lib/openat.c: Include fcntl.h again, explicitly.
15296
15297 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
15298
15299         parse-datetime: document the newly accepted format
15300         * doc/parse-datetime.texi (Combined date and time of day items):
15301         New section.
15302
15303 2011-09-06  Bruno Haible  <bruno@clisp.org>
15304
15305         acl: Fix a test failure on newer Solaris 10 with ZFS.
15306         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
15307         ENOSYS as no ACL.
15308         Reported by Jim Meyering.
15309
15310 2011-09-06  Bruno Haible  <bruno@clisp.org>
15311
15312         acl: Update for AIX >= 5.3 with NFS.
15313         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
15314         ENOSYS as no ACL.
15315
15316         acl: Fix a test failure on AIX >= 5.3 with NFS.
15317         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
15318         as no ACL.
15319
15320 2011-09-06  Bruno Haible  <bruno@clisp.org>
15321
15322         acl: Fix a test failure on IRIX 6.5 with NFS.
15323         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
15324         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
15325         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
15326         * lib/copy-acl.c (qcopy_acl): Likewise.
15327
15328 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
15329
15330         openat: port to AIX 7.1 with large files
15331         AIX 7.1 does a "#define openat open64at" if large files are in use,
15332         so we can't simply #undef openat.  Use the orig_openat trick (similar
15333         to orig_open in lib/open.c) to work around the problem.  Problem
15334         reported by Kevin Brott for GNU tar, in the thread containing
15335         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
15336         * lib/openat.c (__need_system_fcntl_h): Define first.
15337         Include <fcntl.h> and <sys/types.h> before undefining.
15338         (orig_openat) [HAVE_OPENAT]: New inline function.
15339         (openat) [HAVE_OPENAT]: Do not undef.
15340         (rpl_openat): Use orig_openat, not openat.
15341
15342 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
15343             Bruno Haible  <bruno@clisp.org>
15344
15345         acl: Avoid errors on NonStop Kernel.
15346         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
15347         ENOTSUP errors.
15348
15349 2011-09-05  Bruno Haible  <bruno@clisp.org>
15350
15351         acl: Clean up Solaris code.
15352         * lib/acl-internal.h: Remove no-op #if.
15353         * lib/file-has-acl.c: Likewise.
15354         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
15355         * lib/copy-acl.c (qcopy_acl): Likewise.
15356
15357 2011-09-05  Bruno Haible  <bruno@clisp.org>
15358
15359         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
15360         binaries built on the original Solaris 10.
15361         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
15362         trivial.
15363
15364 2011-09-05  Bruno Haible  <bruno@clisp.org>
15365
15366         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
15367         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
15368         10.
15369         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
15370         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
15371         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
15372         instead of acl_get, facl_get, acl_set, facl_set.
15373
15374 2011-09-05  Bruno Haible  <bruno@clisp.org>
15375
15376         copy-file: Try unit tests on more file systems.
15377         * tests/test-copy-file-1.sh: New file.
15378         * tests/test-copy-file-2.sh: New file.
15379         * modules/copy-file-tests (Files): Add them.
15380         (Makefile.am): Add them to TESTS.
15381
15382         acl: Try unit tests on more file systems.
15383         * tests/test-file-has-acl-1.sh: New file.
15384         * tests/test-file-has-acl-2.sh: New file.
15385         * tests/test-set-mode-acl-1.sh: New file.
15386         * tests/test-set-mode-acl-2.sh: New file.
15387         * tests/test-copy-acl-1.sh: New file.
15388         * tests/test-copy-acl-2.sh: New file.
15389         * modules/acl-tests (Files): Add them.
15390         (Makefile.am): Add them to TESTS.
15391
15392 2011-09-04  Bruno Haible  <bruno@clisp.org>
15393
15394         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
15395         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
15396         10.
15397         (OLD_ALLOW, OLD_DENY): New macros.
15398         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
15399         ACE_ACCESS_ALLOWED_ACE_TYPE.
15400         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
15401         ACE_ACCESS_DENIED_ACE_TYPE.
15402         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
15403         (NEW_ACE_EXECUTE): Fix value.
15404         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
15405         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
15406         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
15407         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
15408         NEW_ACE_SYNCHRONIZE): New macros.
15409         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
15410         instead of acl_fromtext, acl_set, facl_set.
15411         Fixes a coreutils/tests/cp/perm failure.
15412
15413 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
15414
15415         openat: test for fstatat (..., 0) bug
15416         Further testing with tar suggests that fstatat (..., 0)
15417         does not work in general, on AIX 7.1; see
15418         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
15419         So, give up entirely on AIX 7.1's fstatat, and fall back on our
15420         replacement fstatat (which is what older AIX releases were using
15421         anyway).
15422         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
15423         use is now changed to orig_fstatat.  This was probably the right
15424         thing to do anyway.
15425         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
15426         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
15427         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
15428         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
15429         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
15430         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
15431         if the bug is found.
15432
15433         openat: test for fstatat (AT_FDCWD, ..., 0) bug
15434         This tests for another fstatat bug on AIX 7.1:
15435         fstatat (AT_FDCWD, ..., 0) does not work.  See
15436         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
15437         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
15438         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
15439         (rpl_fstatat): Adjust so that it works around either (or both)
15440         bugs if present.
15441         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
15442
15443 2011-09-03  Karl Berry  <karl@gnu.org>
15444
15445         * doc/regex.texi (Character Class Operators): Avoid literal ":"
15446         in index entries.
15447
15448 2011-09-02  Bruno Haible  <bruno@clisp.org>
15449
15450         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
15451         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
15452         values of AR, ARFLAGS, RANLIB.
15453         Reported by John W. Eaton <jwe@gnu.org> for Octave.
15454
15455 2011-09-02  Bruno Haible  <bruno@clisp.org>
15456
15457         Find 'ar' program that fits with --host argument.
15458         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
15459
15460 2011-09-02  Bruno Haible  <bruno@clisp.org>
15461
15462         tests: init.sh: Support any non-GNU diff.
15463         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
15464         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
15465         Solaris 8.
15466
15467 2011-09-02  Bruno Haible  <bruno@clisp.org>
15468
15469         tests: init.sh: work also with any non-GNU diff that supports -u
15470         * tests/init.sh: Relax check for diff -u support.
15471         Rather than checking for GNU diff via --version, simply check
15472         for support for -u itself.  Useful at least on OpenBSD 4.9,
15473         AIX 7.1, IRIX 6.5, and Solaris 10.
15474
15475 2011-09-01  Bruno Haible  <bruno@clisp.org>
15476
15477         strtoimax, strtoumax: Document problem on HP-UX 11.
15478         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
15479         * doc/posix-functions/strtoumax.texi: Likewise.
15480
15481 2011-09-01  Bruno Haible  <bruno@clisp.org>
15482
15483         strtoumax: Avoid link error on OSF/1 with DTK cc.
15484         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
15485         defined as a function.
15486         * modules/strtoumax (Depends-on, configure.ac): Test only whether
15487         strtoumax is defined, not whether it is declared.
15488
15489 2011-09-01  Bruno Haible  <bruno@clisp.org>
15490
15491         strtoimax: Avoid link error on OSF/1 with DTK cc.
15492         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
15493         defined as a function.
15494         * modules/strtoimax (Depends-on, configure.ac): Test only whether
15495         strtoimax is defined, not whether it is declared.
15496
15497 2011-09-01  Bruno Haible  <bruno@clisp.org>
15498
15499         imaxdiv: Avoid link error on OSF/1 with DTK cc.
15500         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
15501         as a function.
15502         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
15503         whether it is declared.
15504
15505 2011-09-01  Bruno Haible  <bruno@clisp.org>
15506
15507         imaxabs: Avoid link error on OSF/1 with DTK cc.
15508         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
15509         as a function.
15510         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
15511         whether it is declared.
15512
15513 2011-09-01  Bruno Haible  <bruno@clisp.org>
15514
15515         Tests for module 'strtoumax'.
15516         * modules/strtoumax-tests: New file.
15517         * tests/test-strtoumax.c: New file.
15518
15519         Tests for module 'strtoimax'.
15520         * modules/strtoimax-tests: New file.
15521         * tests/test-strtoimax.c: New file.
15522
15523         Tests for module 'imaxdiv'.
15524         * modules/imaxdiv-tests: New file.
15525         * tests/test-imaxdiv.c: New file.
15526
15527         Tests for module 'imaxabs'.
15528         * modules/imaxabs-tests: New file.
15529         * tests/test-imaxabs.c: New file.
15530
15531 2011-09-01  Bruno Haible  <bruno@clisp.org>
15532
15533         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
15534         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
15535         pthread_create.
15536
15537 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15538
15539         openat: work around AIX 7.1 fstatat issue
15540         This should fix the problem that was not properly fixed
15541         in the previous change, dated 2011-08-30.
15542         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
15543         __need_system_stat_h defined.
15544         (orig_fstatat) [HAVE_FSTATAT]: New function.
15545         (rpl_fstatat): Go back to the old way of doing things,
15546         except call orig_fstatat instead of fstatat.
15547         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
15548         Remove unnecessary check whether fstatat fills in st_size etc.
15549
15550 2011-09-01  Bruno Haible  <bruno@clisp.org>
15551
15552         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
15553         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
15554         just include the system's header.
15555
15556 2011-08-31  Jim Meyering  <meyering@redhat.com>
15557
15558         tests: avoid spurious assertion failure in test-float.c on ppc64
15559         * tests/test-float.c (test_long_double): Comment out an assertion,
15560         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
15561         with gcc-4.4.4.
15562
15563         maint: indent with spaces, not TABs
15564         I need to get in the habit of running gnulib's "make check".
15565         Both of these would have been caught.
15566         * m4/largefile.m4: Indent with spaces, not TABs.
15567         * lib/parse-datetime.y (iso_8601_time): Likewise.
15568         Spotted by Pádraig Brady.
15569
15570         test-parse-datetime.c: accommodate a relatively strict gcc warning
15571         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
15572         to avoid a warning from gcc's -Werror=missing-declarations.
15573         Insert a few spaces-before-funcall-parenthesis.
15574
15575 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
15576
15577         parse-datetime: accept ISO 8601 date and time rep with "T" separator
15578         The parser now accepts ISO 8601 date-time strings with "T" as the
15579         separator.  It has long parsed dates like "2004-02-29 16:21:42"
15580         with a space between the date and time strings.  Now it also parses
15581         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
15582         variants like "2004-02-29T16:21:42.333-07:00"
15583         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
15584         of day representation using the 'T' separator character.
15585         * doc/parse-datetime.texi (General date syntax): replace use of
15586         deprecated --iso-8601 option with --rfc-3339 in example of date
15587         command output formats that can be parsed.
15588         * tests/test-parse-datetime.c (tm_diff): New function, taken from
15589         lib/parse-datetime.y.
15590         (gmt_offset): New function.
15591         (main): Add additional test cases to validate ISO8601 extended
15592         date and time of day parsing.
15593
15594 2011-08-31  Bruno Haible  <bruno@clisp.org>
15595
15596         freopen: Documentation.
15597         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
15598         name.
15599         Reported by Claudio Bley <claudio.bley@gmail.com>.
15600
15601 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
15602
15603         freopen: Don't crash if the filename argument is NULL.
15604         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
15605         NULL.
15606
15607 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15608
15609         openat: work around AIX 7.1 fstatat bug
15610         Problem reported by Kevin Brott for GNU tar, in the thread containing
15611         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
15612         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
15613         FSTATAT_ST_SIZE_ETC_BROKEN.
15614         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
15615         rpl_fstatat.
15616         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
15617         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
15618         AC_CHECK_FUNCS_ONCE for fstatat.
15619         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
15620         fchmodat, mkdirat, openat and unlinkat.
15621
15622 2011-08-30  Bruno Haible  <bruno@clisp.org>
15623
15624         Avoid endless recursions if config.h includes some header files.
15625         * lib/fopen.c (__need_FILE): Define already before including config.h.
15626         * lib/freopen.c (__need_FILE): Likewise.
15627         * lib/open.c (__need_system_fcntl_h): Likewise.
15628         * lib/stat.c (__need_system_sys_stat_h): Likewise.
15629         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
15630         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
15631
15632 2011-08-25  Karl Berry  <karl@gnu.org>
15633
15634         * config/srclist.txt (ylwrap): new try.
15635         * build-aux/ylwrap: new file.
15636
15637 2011-08-23  Bruno Haible  <bruno@clisp.org>
15638
15639         tmpdir: Use a good default directory on native Windows.
15640         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
15641         (P_tmpdir): Default to _P_tmpdir on native Windows.
15642         (path_search): On native Windows, try the value returned by GetTempPath
15643         before trying P_tmpdir.
15644         * modules/tmpdir (Depends-on): Add pathmax.
15645         Suggested by John Darrington <john@darrington.wattle.id.au>.
15646
15647 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
15648
15649         doc: fix typo in README-release
15650         * top/README-release: Capitalize first word of a sentence.
15651
15652 2011-08-19  Jim Meyering  <meyering@redhat.com>
15653
15654         fts: do not exhaust memory when processing million-entry directories
15655         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
15656         directory would require about 256*N bytes of memory.  Thus, it was
15657         easy to construct a directory too large to be processed by any of
15658         those tools.  With this change, fts' maximum memory utilization is
15659         now limited to around 30MB.
15660         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
15661         (fts_read): When we've processed the final entry (i.e., when
15662         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
15663         using the parent entry to read any remaining entries.  Dispatch
15664         depending on what fts_build returns:
15665         - NULL+stop, aka failure: stop
15666         - NULL otherwise: move up in the dir hierarchy
15667         - non-NULL: handle this new entry
15668         (fts_build): Declare and use new local, continue_readdir.
15669         Prepare to be called from fts_read, when the entries
15670         from a partially-read directory have just been exhausted.
15671         In that case, we'll skip the opendir and instead use the parent's
15672         fts_dirp and derive dir_fd from that.
15673         Finally, in the readdir loop, if we read max_entries entries,
15674         exit the loop ensuring *not* to call closedir.  This is required
15675         so that fts_dirp can be reused on a subsequent call.
15676         Prompted by Ben England's report of memory exhaustion in find
15677         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
15678
15679         maint: fts: move decl of `dp' down into while loop; split a long line
15680         * lib/fts.c (fts_build): No semantic change.
15681
15682         fts: add/use new struct member, fts_dirp
15683         We are about to use this to manage any directory with
15684         too many entries to read all of them into memory at once.
15685         To do that, we'll need to save the DIR* pointer in each
15686         affected FTSENT struct.
15687         * lib/fts_.h: Include <dirent.h>.
15688         (struct FTSENT) [fts_dirp]: New member.
15689         * lib/fts.c (closedir_and_clear): Define.
15690         Use it in place of closedir so that we are sure to
15691         clear the new fts_dirp member when done with it.
15692         (fts_alloc): Initialize the new member.
15693         (fts_lfree): Free, if needed.
15694
15695         maint: fts: give __opendir2 a new parameter and rename
15696         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
15697         than surreptitiously using sole caller's "dir_fd".
15698         (fts_opendir): Rename from __opendir2.
15699
15700         maint: fts.c: remove __opendir2's now-unused parameter, oflag
15701         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
15702
15703         maint: fts.c: correct off-by-one indentation
15704         * lib/fts.c (fts_build): Correct indentation, change style
15705         of a couple of block comments, and bracing style.
15706
15707         maint: fts.c: move __opendir2 #define "up" out of function body
15708         * lib/fts.c (__opendir2): Move "up".  No semantic change.
15709
15710         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
15711         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
15712         out for a long time and besides was useful only on BSD systems.
15713
15714 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
15715
15716         regex: port to Stratus OpenVOS
15717         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
15718         define to empty, rather than attempting nonportable optimizations.
15719         Problem reported by Paul Green in:
15720         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
15721         and fix suggested by Eric Blake in:
15722         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
15723
15724 2011-08-17  Eric Blake  <eblake@redhat.com>
15725
15726         getcwd: fix test failures on mingw
15727         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
15728         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
15729         test if long directory cannot be created, and allow mingw errno.
15730
15731         getcwd-lgpl: fix m4 to match relaxed test for BSD
15732         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
15733         (gl_FUNC_GETCWD_SIGNATURE): New macro.
15734         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
15735         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
15736         signature problem.
15737
15738         getcwd: fix compilation on mingw64
15739         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
15740         getcwd.
15741         Reported by Marc-André Lureau.
15742
15743         pipe2: silence compiler warning
15744         * lib/pipe2.c (pipe2): Hide label if it is not used.
15745
15746 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
15747
15748         relocatable-prog: fix link error
15749         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
15750         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
15751         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
15752         into modules/relocatable-lib without noticing that
15753         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
15754         also needs to build relocatable.c.
15755
15756 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15757
15758         getaddrinfo: fix sh typo in gai_strerrorA decl checking
15759         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
15760         shell code: it contained a 'break' that was not in a loop.
15761         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
15762         via a shell-language loop; this may have been true in old Autoconf
15763         versions, but it's not true in Autoconf 2.68.  I found this bug
15764         when testing coreutils git on Solaris 8, whose shell complains
15765         about the syntax error.
15766
15767 2011-08-12  Simon Josefsson  <simon@josefsson.org>
15768
15769         * lib/base64.c: Fix comment to reference RFC 4648.
15770         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
15771         <gvtulder@gmail.com>.
15772
15773 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15774
15775         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
15776
15777         po/Makefile.in.in: fix make -q problem
15778         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
15779         rule, since there's no file named 'check-macro-version' and its
15780         use as a file breaks make -q.
15781         (all): Don't depend on check-macro-version.
15782         (CHECK_MACRO_VERSION): New macro.
15783         (stamp-po): Use it.
15784
15785         configmake: fix make -q problem
15786         * modules/configmake (configmake.h): Update configmake.h's time stamp
15787         even if the file does not change.  Otherwise, 'make -q' fails.
15788         Problem reported by Simon Josefsson in
15789         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
15790
15791 2011-08-11  Jim Meyering  <meyering@redhat.com>
15792
15793         git-version-gen: correct the advice in a comment
15794         * build-aux/git-version-gen: Correct comment.
15795         Don't recommend to list .tarball-version in .gitignore.
15796
15797 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
15798
15799         base64: fix off-by-one buffer size bug
15800         Problem and (trivial) fix reported by Gijs van Tulder in
15801         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
15802         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
15803         * tests/test-base64.c (main): Catch the bug.
15804
15805 2011-08-10  Eric Blake  <eblake@redhat.com>
15806
15807         closein: correct comments
15808         * lib/closein.c (close_stdin): Improve comments.
15809
15810 2011-08-09  Bruno Haible  <bruno@clisp.org>
15811
15812         More tests for 'fseeko'.
15813         * tests/test-fseeko3.c: New file, from Eric Blake.
15814         * tests/test-fseeko3.sh: New file.
15815         * modules/fseeko-tests (Files): Add them.
15816         (TESTS): Add test-fseeko3.sh.
15817         (check_PROGRAMS): Add test-fseeko3.
15818
15819 2011-08-09  Eric Blake  <eblake@redhat.com>
15820
15821         fseeko: remove unneeded hack
15822         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
15823
15824         fseeko: fix bug on glibc
15825         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
15826         Reported by John W. Eaton.
15827
15828 2011-08-08  Bruno Haible  <bruno@clisp.org>
15829
15830         unictype/base: Fix interoperability with preinstalled libunistring.
15831         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
15832         Reported by Simon Josefsson.
15833
15834 2011-08-08  Bruno Haible  <bruno@clisp.org>
15835
15836         iswblank: Detect declaration correctly.
15837         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
15838         AC_CHECK_DECLS invocation.
15839
15840 2011-08-08  Bruno Haible  <bruno@clisp.org>
15841
15842         tcgetsid: Detect declaration correctly.
15843         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
15844         AC_CHECK_DECLS invocation.
15845         Reported by Simon Josefsson.
15846
15847 2011-08-08  Eric Blake  <eblake@redhat.com>
15848
15849         largefile: fix typo that regressed large file support
15850         * modules/largefile (configure.ac-early): Fix section name.
15851
15852 2011-08-06  Karl Berry  <karl@gnu.org>
15853
15854         * MODULES.html.sh (func_all_files): _Noreturn is no longer
15855         a separate module.
15856
15857 2011-08-05  Simon Josefsson  <simon@josefsson.org>
15858
15859         openat: Fix warnings and commens when building unlinkat.c on Hurd.
15860         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
15861         get prototype for free.
15862
15863 2011-08-04  Bruno Haible  <bruno@clisp.org>
15864
15865         Tests for module 'pathmax'.
15866         * modules/pathmax-tests: New file.
15867         * tests/test-pathmax.c: New file.
15868
15869         canonicalize-lgpl: Support larger filenames on the Hurd.
15870         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
15871         Reported by Paul Eggert.
15872
15873         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
15874         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
15875         * lib/chdir-long.h: Include pathmax.h.
15876         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
15877         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
15878         (PATH_MAX): Remove code that is done by pathmax.h.
15879         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
15880         * lib/tmpfile.c: Add a comment.
15881         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
15882         * modules/chdir-long (Depends-on): Add pathmax.
15883         * modules/getcwd (Depends-on): Add pathmax.
15884         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
15885         is not defined.
15886         * doc/posix-headers/limits.texi: Mention the pathmax module.
15887         * NEWS: Mention the change.
15888
15889 2011-08-02  Bruno Haible  <bruno@clisp.org>
15890
15891         pthread_sigmask: Actually use results of gl_THREADLIB.
15892         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
15893         gl_THREADLIB, not gl_[]THREADLIB.
15894         Reported by Eric Blake.
15895
15896 2011-08-02  Jim Meyering  <meyering@redhat.com>
15897
15898         maint.mk: relax the default _gl_TS_function_match regexp
15899         * top/maint.mk (_gl_TS_function_match): Don't require at least one
15900         space between function name and "(" in an "extern" declaration.
15901         That would fail to match a decl with no space there: extern void foo();
15902
15903 2011-07-31  Iain Nicol  <iain@thenicols.net>
15904
15905         git-version-gen: document that EXTRA_DIST must include .version
15906         * build-aux/git-version-gen: In the how-to-use comment, document
15907         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
15908         will fail when run from an unpacked distribution tarball.
15909
15910 2011-08-01  Bruno Haible  <bruno@clisp.org>
15911
15912         wctype-h: Fix last change.
15913         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
15914         REPLACE_TOWLOWER to 0.
15915         Reported by Sam Steingold <sds@gnu.org>.
15916
15917 2011-07-31  Bruno Haible  <bruno@clisp.org>
15918
15919         frexpl: Update autoconf test.
15920         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
15921         according to changes of 2011-06-20.
15922
15923 2011-07-31  Bruno Haible  <bruno@clisp.org>
15924
15925         sys_utsname: Add support for Minix.
15926         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
15927         <sys/utsname.h>.
15928         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15929         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
15930
15931 2011-07-31  Bruno Haible  <bruno@clisp.org>
15932
15933         strings: Add support for Minix.
15934         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
15935         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15936         * doc/posix-headers/strings.texi: Document the Minix problem.
15937
15938 2011-07-31  Bruno Haible  <bruno@clisp.org>
15939
15940         wctype-h: Add support for Minix.
15941         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
15942         REPLACE_TOWLOWER.
15943         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
15944         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
15945         REPLACE_ISWCNTRL.
15946
15947 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15948
15949         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
15950         This is a performance improvement for 64-bit hosts: it causes the
15951         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
15952
15953 2011-07-31  Bruno Haible  <bruno@clisp.org>
15954
15955         stdioext: Add support for Minix.
15956         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
15957         * lib/fpurge.c (fpurge): Likewise.
15958         * lib/freadahead.c (freadahead): Likewise.
15959         * lib/freadable.c (freadable): Likewise.
15960         * lib/freading.c (freading): Likewise.
15961         * lib/freadptr.c (freadptr): Likewise.
15962         * lib/freadseek.c (freadptrinc): Likewise.
15963         * lib/fseeko.c (rpl_fseeko): Likewise.
15964         * lib/fseterr.c (fseterr): Likewise.
15965         * lib/fwritable.c (fwritable): Likewise.
15966         * lib/fwriting.c (fwriting): Likewise.
15967         * lib/fflush.c (clear_ungetc_buffer): Update comment.
15968         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
15969
15970 2011-07-31  Bruno Haible  <bruno@clisp.org>
15971
15972         errno: Port to Minix.
15973         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
15974         ECONNABORTED are defined.
15975         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
15976         GNULIB_defined_ECONNABORTED): New macros.
15977         * lib/strerror-override.h (strerror_override): Test also
15978         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
15979         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
15980         ECONNABORTED.
15981         * doc/posix-headers/errno.texi: Mention the Minix problem.
15982
15983 2011-07-31  Bruno Haible  <bruno@clisp.org>
15984
15985         Work around declaration collisions on Minix.
15986         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
15987         defined, set REPLACE_MBSINIT.
15988         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
15989         defined, set REPLACE_MBRTOWC.
15990         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
15991         set REPLACE_MBRLEN.
15992         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
15993         defined, set REPLACE_MBSRTOWCS.
15994         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
15995         defined, set REPLACE_WCRTOMB.
15996         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
15997         defined, set REPLACE_WCSRTOMBS.
15998
15999 2011-07-31  Bruno Haible  <bruno@clisp.org>
16000
16001         Add support for Minix with ACK compiler.
16002         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
16003         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
16004         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
16005
16006 2011-07-31  Bruno Haible  <bruno@clisp.org>
16007
16008         Documentation about Minix.
16009         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
16010         * doc/glibc-headers/*.texi: Likewise.
16011         * doc/posix-functions/*.texi: Likewise.
16012         * doc/glibc-functions/*.texi: Likewise.
16013
16014 2011-07-31  Bruno Haible  <bruno@clisp.org>
16015
16016         snippet/warn-on-use: Fix indentation.
16017         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
16018
16019 2011-07-25  Jim Meyering  <meyering@redhat.com>
16020
16021         tests: test-update-copyright.sh: remove unnecessary "rm" commands
16022         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
16023         commands.
16024
16025 2011-07-27  Jim Meyering  <meyering@redhat.com>
16026
16027         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
16028         * top/maint.mk (gl_extract_significant_defines_): Now that
16029         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
16030         gnulib/lib/signal.in.h, and now that we recommend to
16031         define-if-undefined those two symbols in application code,
16032         we must filter them out of the "significant" list.
16033         This avoids a "make syntax-check" failure in coreutils.
16034
16035 2011-07-26  Eric Blake  <eblake@redhat.com>
16036
16037         warnings: add comments about previous patch
16038         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
16039         * m4/include_next.m4: Likewise.
16040         * m4/warn-on-use.m4: Likewise.
16041         * m4/warnings.m4: Likewise, and simplify use.
16042         Suggested by Stefano Lattarini.
16043
16044         include-next, warnings: support older autoconf
16045         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
16046         AS_VAR_PUSHDEF in a way that works with older autoconf.
16047         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
16048         Reported by Daniel P. Berrange.
16049
16050 2011-07-25  Bruno Haible  <bruno@clisp.org>
16051
16052         fseek, ftell: Fix doc.
16053         * doc/posix-functions/fseek.texi: Reword statement about
16054         AC_SYS_LARGEFILE.
16055         * doc/posix-functions/ftell.texi: Likewise.
16056
16057 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
16058             Bruno Haible  <bruno@clisp.org>
16059
16060         Add dependencies to the 'largefile' module.
16061         * modules/fopen (Depends-on): Add 'largefile'.
16062         * modules/freopen (Depends-on): Likewise.
16063         * modules/fseeko (Depends-on): Likewise.
16064         * modules/ftello (Depends-on): Likewise.
16065         * modules/glob (Depends-on): Likewise.
16066         * modules/lseek (Depends-on): Likewise.
16067         * modules/lstat (Depends-on): Likewise.
16068         * modules/mkostemp (Depends-on): Likewise.
16069         * modules/mkostemps (Depends-on): Likewise.
16070         * modules/mkstemp (Depends-on): Likewise.
16071         * modules/mkstemps (Depends-on): Likewise.
16072         * modules/open (Depends-on): Likewise.
16073         * modules/openat (Depends-on): Likewise.
16074         * modules/pread (Depends-on): Likewise.
16075         * modules/pwrite (Depends-on): Likewise.
16076         * modules/scandir (Depends-on): Likewise.
16077         * modules/stat (Depends-on): Likewise.
16078         * modules/tmpfile (Depends-on): Likewise.
16079         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
16080         since the containing module now depends on the largefile module.
16081         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
16082         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
16083         off_t is fixed by gnulib.
16084         * doc/posix-functions/freopen.texi: Likewise.
16085         * doc/posix-functions/fseeko.texi: Likewise.
16086         * doc/posix-functions/fstatat.texi: Likewise.
16087         * doc/posix-functions/ftello.texi: Likewise.
16088         * doc/posix-functions/glob.texi: Likewise.
16089         * doc/posix-functions/lseek.texi: Likewise.
16090         * doc/posix-functions/lstat.texi: Likewise.
16091         * doc/posix-functions/mkstemp.texi: Likewise.
16092         * doc/posix-functions/open.texi: Likewise.
16093         * doc/posix-functions/openat.texi: Likewise.
16094         * doc/posix-functions/pread.texi: Likewise.
16095         * doc/posix-functions/pwrite.texi: Likewise.
16096         * doc/posix-functions/scandir.texi: Likewise.
16097         * doc/posix-functions/stat.texi: Likewise.
16098         * doc/posix-functions/tmpfile.texi: Likewise.
16099         * doc/glibc-functions/mkostemp.texi: Likewise.
16100         * doc/glibc-functions/mkostemps.texi: Likewise.
16101         * doc/glibc-functions/mkstemps.texi: Likewise.
16102
16103 2011-07-25  Bruno Haible  <bruno@clisp.org>
16104
16105         fcntl: Move AC_LIBOBJ invocation to module description.
16106         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
16107         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
16108
16109         fcntl: Remove call-in from fchdir.m4.
16110         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
16111         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
16112
16113         dup3: Remove potential call-in from fchdir.m4.
16114         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
16115         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
16116
16117         dup2: Move AC_LIBOBJ invocation to module description.
16118         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
16119         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
16120         Don't invoke AC_LIBOBJ.
16121         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
16122
16123         dup2: Remove call-in from fchdir.m4.
16124         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
16125         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
16126
16127         fclose: Move AC_LIBOBJ invocation to module description.
16128         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
16129         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
16130         to 1.
16131         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
16132
16133         fclose: Remove call-in from close.m4.
16134         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
16135         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
16136
16137         close: Move AC_LIBOBJ invocation to module description.
16138         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
16139         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
16140         1.
16141         * modules/close (configure.ac): Invoke AC_LIBOBJ.
16142
16143         close: Remove call-in from fchdir.m4.
16144         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
16145         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
16146
16147         open: Move AC_LIBOBJ invocation to module description.
16148         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
16149         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
16150         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
16151
16152         open: Remove call-in from fchdir.m4.
16153         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
16154         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
16155
16156         fchdir: Start to remove gl_REPLACE_* idiom.
16157         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
16158         (gl_FUNC_FCHDIR): Invoke it.
16159
16160 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
16161
16162         * lib/ftell.c (ftell): Comment out cast.
16163
16164         close: use gl_REPLACE_FCLOSE only if defined
16165         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
16166         is defined.  The close module doesn't depend on the fclose module
16167         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
16168         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
16169         I reproduced the problem with "./gnulib-tool --test close sys_socket".
16170
16171 2011-07-24  Jim Meyering  <meyering@redhat.com>
16172
16173         test-select.h: avoid warning when using gcc's -Wmissing-declarations
16174         * tests/test-select.h (test_function): Declare as "static".
16175
16176 2011-07-24  Bruno Haible  <bruno@clisp.org>
16177
16178         doc: Mention the effects of AC_SYS_LARGEFILE.
16179         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
16180         on this function.
16181         * doc/posix-functions/aio_error.texi: Likewise.
16182         * doc/posix-functions/aio_fsync.texi: Likewise.
16183         * doc/posix-functions/aio_read.texi: Likewise.
16184         * doc/posix-functions/aio_return.texi: Likewise.
16185         * doc/posix-functions/aio_suspend.texi: Likewise.
16186         * doc/posix-functions/aio_write.texi: Likewise.
16187         * doc/posix-functions/fgetpos.texi: Likewise.
16188         * doc/posix-functions/fopen.texi: Likewise.
16189         * doc/posix-functions/freopen.texi: Likewise.
16190         * doc/posix-functions/fsetpos.texi: Likewise.
16191         * doc/posix-functions/fstatvfs.texi: Likewise.
16192         * doc/posix-functions/ftruncate.texi: Likewise.
16193         * doc/posix-functions/ftw.texi: Likewise.
16194         * doc/posix-functions/getrlimit.texi: Likewise.
16195         * doc/posix-functions/glob.texi: Likewise.
16196         * doc/posix-functions/lio_listio.texi: Likewise.
16197         * doc/posix-functions/lockf.texi: Likewise.
16198         * doc/posix-functions/mkstemp.texi: Likewise.
16199         * doc/posix-functions/mmap.texi: Likewise.
16200         * doc/posix-functions/nftw.texi: Likewise.
16201         * doc/posix-functions/openat.texi: Likewise.
16202         * doc/posix-functions/opendir.texi: Likewise.
16203         * doc/posix-functions/posix_fadvise.texi: Likewise.
16204         * doc/posix-functions/posix_fallocate.texi: Likewise.
16205         * doc/posix-functions/pread.texi: Likewise.
16206         * doc/posix-functions/pwrite.texi: Likewise.
16207         * doc/posix-functions/readdir.texi: Likewise.
16208         * doc/posix-functions/readdir_r.texi: Likewise.
16209         * doc/posix-functions/rewinddir.texi: Likewise.
16210         * doc/posix-functions/scandir.texi: Likewise.
16211         * doc/posix-functions/seekdir.texi: Likewise.
16212         * doc/posix-functions/setrlimit.texi: Likewise.
16213         * doc/posix-functions/statvfs.texi: Likewise.
16214         * doc/posix-functions/telldir.texi: Likewise.
16215         * doc/posix-functions/tmpfile.texi: Likewise.
16216         * doc/posix-functions/truncate.texi: Likewise.
16217         * doc/glibc-functions/fallocate.texi: Likewise.
16218         * doc/glibc-functions/fstatfs.texi: Likewise.
16219         * doc/glibc-functions/fts_children.texi: Likewise.
16220         * doc/glibc-functions/fts_read.texi: Likewise.
16221         * doc/glibc-functions/getdirentries.texi: Likewise.
16222         * doc/glibc-functions/mkostemp.texi: Likewise.
16223         * doc/glibc-functions/mkostemps.texi: Likewise.
16224         * doc/glibc-functions/mkstemps.texi: Likewise.
16225         * doc/glibc-functions/preadv.texi: Likewise.
16226         * doc/glibc-functions/pwritev.texi: Likewise.
16227         * doc/glibc-functions/sendfile.texi: Likewise.
16228         * doc/glibc-functions/statfs.texi: Likewise.
16229
16230 2011-07-24  Bruno Haible  <bruno@clisp.org>
16231
16232         doc: Fix typo.
16233         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
16234
16235 2011-07-24  Bruno Haible  <bruno@clisp.org>
16236
16237         doc: Mention fsusage.
16238         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
16239
16240 2011-07-24  Bruno Haible  <bruno@clisp.org>
16241
16242         doc: Mention new glibc headers and functions.
16243         * doc/glibc-headers/gshadow.texi: New file.
16244         * doc/glibc-functions/endsgent.texi: New file.
16245         * doc/glibc-functions/fgetsgent.texi: New file.
16246         * doc/glibc-functions/fgetsgent_r.texi: New file.
16247         * doc/glibc-functions/getsgent.texi: New file.
16248         * doc/glibc-functions/getsgent_r.texi: New file.
16249         * doc/glibc-functions/getsgnam.texi: New file.
16250         * doc/glibc-functions/getsgnam_r.texi: New file.
16251         * doc/glibc-functions/putsgent.texi: New file.
16252         * doc/glibc-functions/setsgent.texi: New file.
16253         * doc/glibc-functions/sgetsgent.texi: New file.
16254         * doc/glibc-functions/sgetsgent_r.texi: New file.
16255         * doc/glibc-functions/malloc_info.texi: New file.
16256         * doc/glibc-functions/preadv.texi: New file.
16257         * doc/glibc-functions/pwritev.texi: New file.
16258         * doc/glibc-functions/register_printf_modifier.texi: New file.
16259         * doc/glibc-functions/register_printf_specifier.texi: New file.
16260         * doc/glibc-functions/register_printf_type.texi: New file.
16261         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
16262         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
16263         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
16264         * doc/glibc-functions/pthread_getname_np.texi: New file.
16265         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
16266         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
16267         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
16268         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
16269         * doc/glibc-functions/pthread_setname_np.texi: New file.
16270         * doc/glibc-functions/pthread_sigqueue.texi: New file.
16271         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
16272         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
16273         * doc/glibc-functions/qsort_r.texi: New file.
16274         * doc/glibc-functions/quick_exit.texi: New file.
16275         * doc/glibc-functions/syncfs.texi: New file.
16276         * doc/gnulib.texi: Include them.
16277         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
16278         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
16279         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
16280         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
16281         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
16282         * doc/glibc-functions/execvpe.texi: Likewise.
16283
16284 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
16285
16286         ftell: don't include <unistd.h>
16287         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
16288         guaranteed to define off_t, and the ftell module depends on the
16289         stdio module.
16290
16291         ftell: do not assume wraparound signed arithmetic
16292         * lib/ftell.c: Include <limits.h>.
16293         (ftell): Don't assume wraparound signed arithmetic.
16294
16295 2011-07-24  Bruno Haible  <bruno@clisp.org>
16296
16297         close: No longer depend on module 'fclose'.
16298         * modules/close (Depends-on): Remove fclose.
16299         * NEWS: Mention the change.
16300         Suggested by Sam Steingold <sds@gnu.org>.
16301
16302 2011-07-24  Bruno Haible  <bruno@clisp.org>
16303
16304         fsusage: Enable large volume support on AIX >= 5.2.
16305         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
16306         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
16307         instead of STAT_STATVFS.
16308         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
16309
16310         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
16311         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
16312         f_blocks field only on MacOS X.
16313
16314         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
16315         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
16316         * modules/fsusage (Depends-on): Add largefile.
16317
16318 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
16319
16320         * README: Modernize discussion of signed integers.
16321         Assuming overflow wraparound is no longer safe.
16322         Mention ones' complement and signed magnitude.
16323
16324 2011-07-22  Bruno Haible  <bruno@clisp.org>
16325
16326         select tests, pselect tests: Refactor.
16327         * tests/test-select.h: New file, extracted from tests/test-select.c.
16328         (select_fn): New type.
16329         (test, do_select, do_select_nowait, do_select_wait, test_tty,
16330         test_connect_first, test_accept_first, test_pair, test_socket_pair,
16331         test_pipe): Add my_select argument.
16332         (test_function): Renamed from main. Add my_select argument.
16333         * tests/test-select.c: Move most code to tests/test-select.h. Include
16334         test-select.h.
16335         * modules/select-tests (Files): Add tests/test-select.h.
16336         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
16337         (my_select, main): New functions.
16338         * modules/pselect-tests (Files): Add tests/test-select.h,
16339         tests/macros.h, tests/signature.h.
16340         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
16341         (configure.ac): Check for <sys/wait.h>.
16342
16343 2011-07-22  Bruno Haible  <bruno@clisp.org>
16344
16345         sys_select tests: Check the signature of FD_*.
16346         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
16347         signature tests from here...
16348         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
16349         here.
16350         * modules/sys_select-tests (Files): Add tests/signature.h.
16351
16352 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
16353
16354         largefile: new module, replacing large-inode
16355         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
16356         * MODULES.html.sh: Add largefile, remove large-inode.
16357         * modules/largefile, m4/largefile.m4: New files.
16358         * modules/large-inode, m4/large-inode.m4: Remove.
16359
16360         fsusage: port to MacOS X 10.7 with 4 TiB file systems
16361         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
16362         implementations that use only 32 bits to count blocks.
16363         On typical hosts with 1024-byte blocks, this fails with file
16364         systems as small as 4 TiB.  Problem reported by Herb Wartens
16365         <http://debbugs.gnu.org/9140> and this should also fix a similar
16366         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
16367
16368         large-inode: New module
16369         * MODULES.html.sh: Add it.
16370         * modules/large-inode, m4/large-inode.m4: New files.
16371
16372         extensions: Enable extensions on MacOS X 10.5 and later.
16373         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
16374
16375 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
16376
16377         file-has-acl: use acl_extended_file_nofollow if available
16378         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
16379         (acl_extended_file): New macro.
16380         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
16381         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
16382
16383 2011-07-21  Bruno Haible  <bruno@clisp.org>
16384
16385         Declare system functions in a way that works with C++.
16386         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
16387         declare fdopendir as extern "C".
16388         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
16389         declare frexpl as extern "C".
16390         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
16391         declare gai_strerror as extern "C".
16392         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
16393         programs, declare gai_strerror as extern "C".
16394         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
16395         declare getlogin_r as extern "C".
16396         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
16397         as extern "C".
16398         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
16399         declare ldexpl as extern "C".
16400         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
16401         as extern "C".
16402         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
16403         program, declare getmntinfo as extern "C".
16404         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
16405         stpncpy as extern "C".
16406         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
16407         program, declare __xpg_strerror_r as extern "C".
16408         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
16409         strndup as extern "C".
16410         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
16411         declare memset and bzero as extern "C".
16412         Reported by Sam Steingold <sds@gnu.org>.
16413
16414 2011-07-12  Jim Meyering  <meyering@redhat.com>
16415
16416         maint.mk: prohibit inclusion of "verify.h" without use
16417         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
16418
16419 2011-07-19  Pádraig Brady  <P@draigBrady.com>
16420
16421         timer-time: A new module to check for timer_settime()
16422         * m4/timer_time.m4: Check for the posix function.
16423         * modules/timer-time: Add the new module.
16424         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
16425         Mention it.
16426
16427 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
16428             Bruno Haible  <bruno@clisp.org>
16429
16430         pthread_sigmask: assume POSIX threads if --avoid=threadlib
16431         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
16432         not defined, assume POSIX threads and look for pthread_sigmask in
16433         $LIBS, without changing $CPPFLAGS.
16434
16435 2011-07-19  Bruno Haible  <bruno@clisp.org>
16436
16437         strstr: Update cross-compilation guess.
16438         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
16439         CPUs, guess no, in view of glibc
16440         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
16441         Suggested by Eric Blake. Reported by Reuben Thomas.
16442
16443 2011-07-19  Pádraig Brady  <P@draigBrady.com>
16444
16445         getopt-gnu: suppress core dumps from detection code
16446         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
16447         to suppress core dumps that may well occur on glibc systems.
16448         * modules/getopt-gnu: Depend on nocrash.
16449
16450 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
16451
16452         pthread_sigmask: ensure usleep is declared
16453         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
16454         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
16455
16456 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
16457
16458         doc: Document NonStop portability issues.
16459         * doc/posix-functions/sigaction.texi (sigaction):
16460         * doc/posix-headers/signal.texi (signal.h):
16461         Document NonStop.  See Joachim Schmitz in
16462         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
16463
16464 2011-07-15  Bruno Haible  <bruno@clisp.org>
16465
16466         ffsl, ffsll: Avoid unportable behaviour.
16467         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
16468
16469 2011-07-15  Bruno Haible  <bruno@clisp.org>
16470
16471         ffs: More tests.
16472         * tests/test-ffs.c (NBITS): New macro.
16473         (main): Add more tests.
16474         * tests/test-ffsl.c (NBITS): New macro.
16475         (main): Add more tests.
16476         * tests/test-ffsll.c (NBITS): New macro.
16477         (main): Add more tests.
16478
16479 2011-07-15  Eric Blake  <eblake@redhat.com>
16480
16481         ffsl, ffsll: new modules
16482         * modules/ffsl: New file.
16483         * modules/ffsll: Likewise.
16484         * m4/ffsl.m4: Likewise.
16485         * m4/ffsll.m4: Likewise.
16486         * lib/ffsl.c: Likewise.
16487         * lib/ffsl.h: Likewise.
16488         * lib/ffsll.c: Likewise.
16489         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
16490         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
16491         * modules/string (Makefile.am): Substitute witnesses.
16492         * lib/strings.in.h (ffsl, ffsll): Declare.
16493         * modules/ffsl-tests: New test file.
16494         * modules/ffsll-tests: Likewise.
16495         * tests/test-ffsl.c: Likewise.
16496         * tests/test-ffsll.c: Likewise.
16497         * MODULES.html.sh (Integer arithmetic functions): Mention it.
16498         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
16499         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
16500
16501         ffs: fix m4 prerequisite
16502         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
16503
16504         ffs: avoid undefined behavior
16505         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
16506         * tests/test-ffs.c (naive, main): Avoid signed shifts.
16507         Reported by Bruno Haible.
16508
16509 2011-07-12  Bruno Haible  <bruno@clisp.org>
16510
16511         pthread_sigmask: Rely on module 'threadlib'.
16512         * modules/pthread_sigmask (Depends-on): Add threadlib.
16513         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
16514         is defined.
16515
16516 2011-07-12  Bruno Haible  <bruno@clisp.org>
16517
16518         regex: Depend on module 'strcase'.
16519         * modules/regex (Depends-on): Add strcase, for strcasecmp().
16520
16521 2011-07-12  Jim Meyering  <meyering@redhat.com>
16522
16523         warn-on-use: fix typo in file name
16524         * modules/snippet/warn-on-use (Files): Correct file name:
16525         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
16526
16527 2011-07-12  Bruno Haible  <bruno@clisp.org>
16528
16529         strings: Document module.
16530         * doc/posix-headers/strings.texi: Mention module 'strings'.
16531
16532 2011-07-12  Bruno Haible  <bruno@clisp.org>
16533
16534         Rename module '_Noreturn' to 'snippet/_Noreturn'.
16535         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
16536         (Files, Makefile.am): Update.
16537         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
16538         * modules/stdlib (Depends-on): Update.
16539
16540 2011-07-12  Bruno Haible  <bruno@clisp.org>
16541
16542         * NEWS: Mention the changes.
16543
16544         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
16545         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
16546         (Files, Makefile.am): Update.
16547         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
16548         * modules/arpa_inet (Depends-on): Update.
16549         * modules/ctype (Depends-on): Update.
16550         * modules/dirent (Depends-on): Update.
16551         * modules/fcntl-h (Depends-on): Update.
16552         * modules/glob (Depends-on): Update.
16553         * modules/iconv-h (Depends-on): Update.
16554         * modules/inttypes-incomplete (Depends-on): Update.
16555         * modules/langinfo (Depends-on): Update.
16556         * modules/locale (Depends-on): Update.
16557         * modules/math (Depends-on): Update.
16558         * modules/netdb (Depends-on): Update.
16559         * modules/poll-h (Depends-on): Update.
16560         * modules/pty (Depends-on): Update.
16561         * modules/search (Depends-on): Update.
16562         * modules/signal (Depends-on): Update.
16563         * modules/spawn (Depends-on): Update.
16564         * modules/stdio (Depends-on): Update.
16565         * modules/stdlib (Depends-on): Update.
16566         * modules/string (Depends-on): Update.
16567         * modules/strings (Depends-on): Update.
16568         * modules/sys_file (Depends-on): Update.
16569         * modules/sys_ioctl (Depends-on): Update.
16570         * modules/sys_select (Depends-on): Update.
16571         * modules/sys_socket (Depends-on): Update.
16572         * modules/sys_stat (Depends-on): Update.
16573         * modules/sys_time (Depends-on): Update.
16574         * modules/sys_times (Depends-on): Update.
16575         * modules/sys_utsname (Depends-on): Update.
16576         * modules/sys_wait (Depends-on): Update.
16577         * modules/termios (Depends-on): Update.
16578         * modules/time (Depends-on): Update.
16579         * modules/unistd (Depends-on): Update.
16580         * modules/wchar (Depends-on): Update.
16581         * modules/wctype-h (Depends-on): Update.
16582         * MODULES.html.sh (Support for building libraries and executables):
16583         Update.
16584
16585         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
16586         * modules/snippet/unused-parameter: Renamed from
16587         modules/unused-parameter.
16588         (Files, Makefile.am): Update.
16589         * build-aux/snippet/unused-parameter.h: Renamed from
16590         build-aux/unused-parameter.h.
16591         * modules/selinux-h (Depends-on): Update.
16592         * modules/unistr/base (Depends-on): Update.
16593         * MODULES.html.sh (Core language properties): Update.
16594
16595         Rename module 'link-warning' to 'snippet/link-warning'.
16596         * modules/snippet/link-warning: Renamed from modules/link-warning.
16597         (Files, Makefile.am): Update.
16598         * build-aux/snippet/link-warning.h: Renamed from
16599         build-aux/link-warning.h.
16600         * MODULES.html.sh (Support for building libraries and executables):
16601         Update.
16602
16603         Rename module 'c++defs' to 'snippet/c++defs'.
16604         * modules/snippet/c++defs: Renamed from modules/c++defs.
16605         (Files, Makefile.am): Update.
16606         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
16607         * modules/arpa_inet (Depends-on): Update.
16608         * modules/ctype (Depends-on): Update.
16609         * modules/dirent (Depends-on): Update.
16610         * modules/fcntl-h (Depends-on): Update.
16611         * modules/glob (Depends-on): Update.
16612         * modules/iconv-h (Depends-on): Update.
16613         * modules/langinfo (Depends-on): Update.
16614         * modules/locale (Depends-on): Update.
16615         * modules/math (Depends-on): Update.
16616         * modules/netdb (Depends-on): Update.
16617         * modules/poll-h (Depends-on): Update.
16618         * modules/pty (Depends-on): Update.
16619         * modules/search (Depends-on): Update.
16620         * modules/signal (Depends-on): Update.
16621         * modules/spawn (Depends-on): Update.
16622         * modules/stdio (Depends-on): Update.
16623         * modules/stdlib (Depends-on): Update.
16624         * modules/string (Depends-on): Update.
16625         * modules/strings (Depends-on): Update.
16626         * modules/sys_ioctl (Depends-on): Update.
16627         * modules/sys_select (Depends-on): Update.
16628         * modules/sys_socket (Depends-on): Update.
16629         * modules/sys_stat (Depends-on): Update.
16630         * modules/sys_time (Depends-on): Update.
16631         * modules/sys_wait (Depends-on): Update.
16632         * modules/termios (Depends-on): Update.
16633         * modules/time (Depends-on): Update.
16634         * modules/unistd (Depends-on): Update.
16635         * modules/wchar (Depends-on): Update.
16636         * modules/wctype-h (Depends-on): Update.
16637
16638         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
16639         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
16640         (Files, Makefile.am): Update.
16641         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
16642         * modules/argv-iter (Depends-on): Update.
16643         * modules/arpa_inet (Depends-on): Update.
16644         * modules/dirent (Depends-on): Update.
16645         * modules/fcntl-h (Depends-on): Update.
16646         * modules/fnmatch (Depends-on): Update.
16647         * modules/getopt-posix (Depends-on): Update.
16648         * modules/glob (Depends-on): Update.
16649         * modules/iconv-h (Depends-on): Update.
16650         * modules/inttypes-incomplete (Depends-on): Update.
16651         * modules/locale (Depends-on): Update.
16652         * modules/math (Depends-on): Update.
16653         * modules/netdb (Depends-on): Update.
16654         * modules/search (Depends-on): Update.
16655         * modules/signal (Depends-on): Update.
16656         * modules/spawn (Depends-on): Update.
16657         * modules/stdio (Depends-on): Update.
16658         * modules/stdlib (Depends-on): Update.
16659         * modules/string (Depends-on): Update.
16660         * modules/strings (Depends-on): Update.
16661         * modules/sys_socket (Depends-on): Update.
16662         * modules/sys_stat (Depends-on): Update.
16663         * modules/sys_time (Depends-on): Update.
16664         * modules/sys_times (Depends-on): Update.
16665         * modules/sys_utsname (Depends-on): Update.
16666         * modules/time (Depends-on): Update.
16667         * modules/unistd (Depends-on): Update.
16668         * modules/wchar (Depends-on): Update.
16669         * MODULES.html.sh (Support for building libraries and executables):
16670         Update.
16671
16672 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
16673
16674         Improvements on _Noreturn and related modules.
16675
16676         modules/_Exit-tests: test _Noreturn too
16677         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
16678         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
16679         (main): Use them.
16680
16681         stdnoreturn, stdnoreturn-tests: remove modules
16682         They're not needed here and a bit premature for use elsewhere.  See
16683         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
16684         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
16685         * tests/test-stdnoreturn.c: Remove files.
16686         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
16687         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
16688         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
16689         and using noreturn.
16690         * modules/openat, modules/sigpipe-die, modules/xalloc:
16691         * modules/xmemdup0, modules/xstrtol:
16692         Remove dependency on stdnoreturn.
16693
16694         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
16695         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
16696         Reparenthesize to avoid GCC warning.
16697         Support Microsoft's syntax.
16698         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
16699
16700         _Noreturn-tests: remove module
16701         * modules/_Noreturn-tests: Remove.
16702         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
16703         * tests/test-_Noreturn.c: Remove.
16704         * tests/test-stdnoreturn.c: Merge from the old
16705         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
16706
16707 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
16708
16709         _Noreturn, stdnoreturn, and related modules.
16710
16711         * top/maint.mk: Adjust to new noreturn support.
16712         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
16713         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
16714
16715         xalloc: use stdnoreturn.h
16716         * lib/xalloc.h: Include <stdnoreturn.h>.
16717         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16718         * modules/xalloc (Depends-on): Add stdnoreturn.
16719
16720         xstrtol: use stdnoreturn.h
16721         * lib/xstrtol.h: Include <stdnoreturn.h>.
16722         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16723         * modules/xstrtol (Depends-on): Add stdnoreturn.
16724
16725         xmemdup0: use stdnoreturn.h
16726         * lib/xmemdup0.h: Include <stdnoreturn.h>.
16727         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16728         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
16729
16730         sigpipe-die: use stdnoreturn.h
16731         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
16732         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16733         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
16734
16735         openat: use stdnoreturn.h
16736         * lib/openat.h: Include <stdnoreturn.h>.
16737         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16738         * modules/openat (Depends-on): Add stdnoreturn.
16739
16740         * lib/openat-die.c (openat_save_fail): Modernize comment.
16741
16742         * lib/xalloc-die.c (xalloc_die): Modernize comment.
16743
16744         * lib/glthread/thread.h: Modernize comment.
16745
16746         obstack: use _Noreturn
16747         * lib/obstack.c (__attribute__): Remove macro.
16748         (print_and_abort): Use _Noreturn.
16749
16750         c-stack: use _Noreturn
16751         * lib/c-stack.c (die, overflow_handler, segv_handler):
16752         Use _Noreturn rather than __attribute__((noreturn)).
16753
16754         argmatch-tests, exclude_tests: use _Noreturn
16755         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
16756         Remove.
16757         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
16758
16759         stdlib: use _Noreturn
16760         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
16761         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
16762         * modules/stdlib (Depends-on): Add _Noreturn.
16763         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
16764
16765         stdnoreturn-tests: new module
16766         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
16767
16768         stdnoreturn: new module
16769         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
16770         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
16771
16772         _Noreturn-tests: new module
16773         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
16774
16775         _Noreturn: new module
16776         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
16777         New section, mentioning it.
16778         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
16779
16780         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
16781
16782 2011-07-11  Eric Blake  <eblake@redhat.com>
16783
16784         ffs: new module
16785         * modules/ffs: New file.
16786         * m4/ffs.m4: Likewise.
16787         * lib/ffs.c: Likewise.
16788         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
16789         * modules/strings (Makefile.am): Substitute witness.
16790         (Depends-on): Add c++defs.
16791         * lib/strings.in.h (ffs): Declare.
16792         * modules/ffs-tests: New test file.
16793         * tests/test-ffs.c: Test new module.
16794         * MODULES.html.sh (Integer arithmetic functions): Mention it.
16795         * doc/posix-functions/ffs.texi (ffs): Likewise.
16796
16797         regex: avoid compiler warning
16798         * lib/regex.c (includes): Include <strings.h>, for use of
16799         strcasecmp in regcomp.c.
16800         Reported by Joachim Schmitz.
16801
16802 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16803
16804         stdint: respect system's intmax_t if INTMAX_MAX
16805         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
16806         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
16807         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
16808         long but int64_t is long long, and where we will clash with the
16809         system intmax_t if we override it.  See
16810         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
16811         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
16812         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
16813         similarly for UINTMAX_C.
16814
16815 2011-07-08  Bruno Haible  <bruno@clisp.org>
16816
16817         pthread_sigmask tests: Avoid a compiler warning.
16818         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
16819         non-zero.
16820
16821         sigprocmask tests: A better way to avoid a compiler warning.
16822         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
16823         (main): Complain if system() returns non-zero.
16824         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
16825
16826 2011-07-08  Bruno Haible  <bruno@clisp.org>
16827
16828         pthread_sigmask: Work around IRIX bug.
16829         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
16830         bug.
16831         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
16832         there may be unblocked pending signals.
16833         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
16834
16835 2011-07-08  Bruno Haible  <bruno@clisp.org>
16836
16837         pthread_sigmask: Work around Cygwin bug.
16838         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
16839         bug.
16840         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
16841         the system's pthread_sigmask function.
16842         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
16843
16844 2011-07-08  Bruno Haible  <bruno@clisp.org>
16845
16846         pthread_sigmask: Work around bug in single-threaded implementation.
16847         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
16848         FreeBSD, HP-UX, Solaris bug.
16849         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
16850         * lib/pthread_sigmask.c: Include <stddef.h>.
16851         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
16852         the system's pthread_sigmask function.
16853         * modules/pthread_sigmask (configure.ac): Invoke
16854         gl_PREREQ_PTHREAD_SIGMASK.
16855         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
16856         HP-UX, Solaris.
16857
16858 2011-07-08  Eric Blake  <eblake@redhat.com>
16859
16860         test-sigprocmask: avoid compiler warning
16861         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
16862         * tests/test-sigprocmask.c (main): Use it to silence warning.
16863         Reported by Jim Meyering.
16864
16865         test-snprintf: avoid compiler warning
16866         * tests/test-snprintf.c (main): Avoid shadowed declaration.
16867         * tests/test-vsnprintf.c (main): Likewise.
16868         Reported by Jim Meyering.
16869
16870 2011-07-08  Bruno Haible  <bruno@clisp.org>
16871
16872         Tests for module 'pthread_sigmask'.
16873         * modules/pthread_sigmask-tests: New file.
16874         * tests/test-pthread_sigmask1.c: New file, based on
16875         tests/test-sigprocmask.c.
16876         * tests/test-pthread_sigmask2.c: New file.
16877
16878 2011-07-08  Jim Meyering  <meyering@redhat.com>
16879
16880         test-getopt.h: avoid warning about an unused variable
16881         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
16882
16883 2011-07-07  Jim Meyering  <meyering@redhat.com>
16884
16885         maint: reduce list of files exempt from sc_prohibit_leading_TABs
16886         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
16887         now that it no longer contains leading TABs.
16888         Remove unused "url=FIXME" statement.
16889
16890 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16891
16892         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
16893         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16894         When gl_THREADLIB is not in use, assume that the POSIX sematics
16895         are desired.  This is better for Emacs, which uses POSIX semantics
16896         on GNUish and/or POSIXish platforms, and does not use threads at
16897         all otherwise.
16898
16899         pthread_sigmask: fix typo when testing for libraries
16900         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16901         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
16902
16903 2011-07-08  Eric Blake  <eblake@redhat.com>
16904
16905         fts: introduce FTS_NOATIME
16906         * lib/fts_.h (FTS_NOATIME): New bit flag.
16907         (FTS_OPTIONMASK): Adjust.
16908         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
16909         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
16910
16911 2011-07-08  Bruno Haible  <bruno@clisp.org>
16912
16913         Tests for module 'thread'.
16914         * modules/thread-tests: New file.
16915         * tests/test-thread_self.c: New file.
16916         * tests/test-thread_create.cc: New file.
16917
16918 2011-07-08  Bruno Haible  <bruno@clisp.org>
16919
16920         thread: Avoid gcc warnings when using gl_thread_self().
16921         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
16922         'void *'.
16923         (gl_thread_self_pointer): Update.
16924
16925 2011-07-07  Bruno Haible  <bruno@clisp.org>
16926
16927         signal-c++-tests: Check declaration of pthread_sigmask.
16928         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
16929         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
16930         $(LIB_PTHREAD_SIGMASK).
16931
16932 2011-07-07  Bruno Haible  <bruno@clisp.org>
16933
16934         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
16935         * lib/signal.in.h (pthread_sigmask): Override if
16936         REPLACE_PTHREAD_SIGMASK is 1.
16937         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16938         REPLACE_PTHREAD_SIGMASK.
16939         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
16940         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
16941         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
16942         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16943         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
16944
16945 2011-07-07  Bruno Haible  <bruno@clisp.org>
16946
16947         pthread_sigmask: Ensure declaration in <signal.h>.
16948         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
16949         include <pthread.h>.
16950         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
16951         problem.
16952
16953 2011-07-07  Bruno Haible  <bruno@clisp.org>
16954
16955         pthread_sigmask: Document the module.
16956         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
16957
16958 2011-07-07  Bruno Haible  <bruno@clisp.org>
16959
16960         pthread_sigmask: Follow gnulib conventions.
16961         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
16962         gl_PTHREAD_SIGMASK.
16963         * modules/pthread_sigmask (configure.ac): Update.
16964
16965 2011-07-07  Bruno Haible  <bruno@clisp.org>
16966
16967         pthread_sigmask: Make declaration C++ safe.
16968         * lib/signal.in.h: In two special conditions, just do an #include_next.
16969         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16970         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
16971         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16972         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16973         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
16974         not REPLACE_PTHREAD_MASK.
16975         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
16976         not REPLACE_PTHREAD_MASK.
16977         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16978
16979 2011-07-07  Bruno Haible  <bruno@clisp.org>
16980
16981         pthread_sigmask: Fix return value.
16982         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
16983         * lib/pthread_sigmask.c: New file.
16984         * modules/pthread_sigmask (Files): Add it.
16985         (configure.ac): Invoke AC_LIBOBJ.
16986
16987 2011-07-07  Eric Blake  <eblake@redhat.com>
16988
16989         getopt: more portable argv creation
16990         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
16991         const, use char arrays rather than strings.
16992         Suggested by Paul Eggert.
16993
16994 2011-07-07  Bruno Haible  <bruno@clisp.org>
16995
16996         Tests for module 'sigprocmask'.
16997         * modules/sigprocmask-tests: New file.
16998         * tests/test-sigprocmask.c: New file.
16999
17000 2011-07-07  Bruno Haible  <bruno@clisp.org>
17001
17002         float tests: Tweak.
17003         * tests/test-float.c (main): Tweak skip message.
17004
17005 2011-07-07  Eric Blake  <eblake@redhat.com>
17006
17007         getopt: avoid compiler warning during configure
17008         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
17009         assigning string literals to non-const pointer.
17010
17011         getopt-gnu: avoid crash in glibc getopt
17012         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
17013         * tests/test-getopt.h (test_getopt): Enhance test.
17014         * tests/test-getopt_long.h (test_getopt_long): Likewise.
17015         * doc/posix-functions/getopt.texi (getopt): Document it.
17016         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
17017         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
17018         Likewise.
17019
17020 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
17021
17022         getopt: handle W; without long options in getopt [BZ #12922]
17023         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
17024         but no long options are defined, just return 'W'.
17025
17026 2011-07-07  Bruno Haible  <bruno@clisp.org>
17027
17028         Avoid literal tabs.
17029         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
17030         variable containing a tab instead of a literal tab.
17031         Reported by Jim Meyering.
17032
17033 2011-07-07  Bruno Haible  <bruno@clisp.org>
17034
17035         Comments.
17036         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
17037
17038 2011-07-06  Bruno Haible  <bruno@clisp.org>
17039
17040         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
17041         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
17042         <winsock2.h>.
17043         (rpl_fd_isset, FD_ISSET): New definitions, copied from
17044         lib/sys_socket.in.h.
17045         (close, gethostname): Hide declarations from <winsock2.h>.
17046         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
17047         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
17048         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
17049         (select): Don't override if gnulib's <sys/select.h> was already
17050         included.
17051         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
17052         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
17053         setsockopt, shutdown, select): Tweak indentation.
17054
17055 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17056
17057         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
17058         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
17059         in an application that does not use the sys_select module.
17060
17061 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
17062
17063         poll: do not return 0 on timeout=-1
17064         * lib/poll.c: Loop with yield if no events occurred.
17065
17066 2011-07-06  Eric Blake  <eblake@redhat.com>
17067
17068         pthread_sigmask: always replace when not using pthread
17069         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
17070         replacement when using some threading other than pthread.  Fix
17071         logic bug.
17072
17073 2011-07-06  Bruno Haible  <bruno@clisp.org>
17074
17075         Comments.
17076         * m4/printf.m4: Update comments about mingw.
17077
17078 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17079
17080         sys_select: define sigset_t more portably
17081         * lib/sys_select.in.h: Always include <sys/types.h>, since
17082         we now need sigset_t and mingw defines it there.
17083         Include <signal.h> before split inclusion guard, to avoid
17084         mishaps on Solaris, whose <signal.h> eventually includes us.
17085         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
17086         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
17087         which come from ...
17088         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
17089         gl_CHECK_TYPE_SIGSET_T.
17090         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
17091         does the real work.
17092         * modules/sys_select (Depends-on): Add 'signal'.
17093
17094         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
17095         Suggested by Bruno Haible.
17096
17097         pselect: Use pthread_sigmask, not sigprocmask.
17098         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
17099         multithreaded apps better than sigprocmask does.
17100         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
17101         sigprocmask directly.
17102
17103 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
17104
17105         * lib/pselect.c (pselect): Use plain name, without "rpl_".
17106         Don't #undef,  since we don't need any underlying pselect.
17107         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
17108         (Depends-on): Add select.
17109         (Link): Add $(LIBSOCKET).
17110         These changes suggested by Bruno Haible.
17111
17112         pselect: document better
17113         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
17114         * doc/posix-functions/pselect.texi (pselect): Document new module.
17115
17116         pthread_sigmask: new module
17117         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
17118         * doc/posix-functions/pthread_sigmask.texi: Document new module.
17119         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
17120         This is done only as a macro; I don't know how well that'll
17121         work for C++.  Move <sys/types.h> include before the include_next,
17122         to avoid mishap on Solaris.
17123         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
17124         * modules/signal (Makefile.am): Substitute the check's results.
17125         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
17126
17127         test-pselect: new module
17128         * modules/pselect-tests, tests/test-pselect.c: New files.
17129         * tests/test-select.c, tests/test-sys_select-c++.cc:
17130         If TEST_PSELECT is defined, test pselect instead of testing select.
17131
17132         * tests/test-sys_select.c (sigset_t): Test for it, too.
17133         Suggested by Bruno Haible.
17134
17135 2011-07-05  Eric Blake  <eblake@redhat.com>
17136
17137         snprintf: guarantee %1$d, for libintl
17138         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
17139         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
17140         * doc/posix-functions/snprintf.texi (snprintf): Update.
17141         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17142         * tests/test-snprintf.c (main): Enhance test.
17143         * tests/test-vsnprintf.c (main): Likewise.
17144
17145 2011-07-05  Jim Meyering  <meyering@redhat.com>
17146
17147         maint: exempt stdio-read.c and stdio-write.c from the cppi check
17148         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
17149         per Bruno's request, to accommodate this idiom (no space after "#")
17150         even when the function is inside an #if block:
17151         char *
17152         gets (char *s)
17153         #undef gets
17154         {
17155           ...
17156         }
17157
17158 2011-07-04  Jim Meyering  <meyering@redhat.com>
17159
17160         maint: indent with spaces, not TABs, and add a rule to check this
17161         * tests/test-userspec.c: Indent with spaces, not TABs.
17162         * tests/test-argp.c: Likewise.
17163         * tests/test-c-stack2.sh: Likewise.
17164         * tests/test-parse-duration.sh: Likewise
17165         * m4/strtod.m4: Likewise.
17166         * m4/alloca.m4: Likewise.
17167         * m4/pselect.m4: Likewise.
17168         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
17169
17170 2011-07-03  Jim Meyering  <meyering@redhat.com>
17171
17172         maint.mk: correct omissions in prohibit_argmatch_without_use check
17173         This rule would mistakenly report that argmatch.h is included without
17174         use even when both the argmatch and invalid_arg macro were used.
17175         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
17176         of argmatch and invalid_arg.
17177
17178 2011-07-03  Bruno Haible  <bruno@clisp.org>
17179
17180         Comments about EINTR.
17181         * lib/safe-read.h: Explain the purpose of this module.
17182         * lib/safe-write.h: Likewise.
17183         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
17184         module.
17185         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
17186         module.
17187         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17188
17189 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
17190
17191         xnanosleep: Rewrite to use new dtotimespec module.
17192         It has the conversion code that used to be in xnanosleep.
17193         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
17194         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
17195         (TIME_T_MAX): Remove.
17196         (xnanosleep): Rewrite in terms of dtotimespec.
17197         * modules/xnanosleep (Depends-on): Add dtotimespec.
17198         Remove intprops, stdbool.
17199
17200         timespec-add, timespec-sub: new modules
17201         * lib/timespec.h (timespec_add, timespec_sub): New decls.
17202         * lib/timespec-add.c, lib/timespec-sub.c:
17203         * modules/timespec-add, modules/timespec-sub: New files.
17204
17205         dtotimespec: new module
17206         * lib/timespec.h (dtotimespec): New decl.
17207         * lib/dtotimespec.c, modules/dtotimespec: New files.
17208
17209         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
17210
17211         pselect: new module
17212         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
17213         (pselect): New decls.
17214         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
17215         since the standard pselect decl uses 'restrict'.
17216         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
17217         HAVE_PSELECT, REPLACE_PSELECT.
17218         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
17219         HAVE_PSELECT, REPLACE_PSELECT.
17220         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
17221
17222         sys_select: don't depend on sys_socket
17223         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
17224         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
17225         This fix works on GNU and GNU-like platforms, but has not been tested
17226         on native Windows.
17227         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
17228         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
17229         gl_HEADER_SYS_SOCKET.
17230         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
17231         gl_PREREQ_SYS_H_WINSOCK2.
17232
17233 2011-06-29  Eric Blake  <eblake@redhat.com>
17234
17235         pipe2: fix C89 compile problem
17236         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
17237         Reported by Bruno Haible.
17238
17239         pipe, pipe2: don't corrupt fd on error
17240         * lib/pipe.c (pipe): Leave fd unchanged on error.
17241         * lib/pipe2.c (pipe2): Likewise.
17242         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
17243         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
17244
17245 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
17246
17247         mmap-anon: do not use regular expressions inadvertently
17248         * m4/mmap-anon.m4: Remove trailing period from strings sought
17249         in the output.
17250
17251 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
17252
17253         nanosleep: fix integer overflow problem
17254         * lib/nanosleep.c (my_usleep): Don't assume signed integer
17255         arithmetic wraps around on overflow.
17256
17257         nanosleep: simplify carrying
17258         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
17259         first call to the underyling nanosleep, not for the last one.
17260         This doesn't fix any bugs, but it simplifies the computation of
17261         the remaining delay.  Found while auditing integer overflow issues.
17262
17263         dup2: remove test for existence of fcntl
17264         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
17265         "#if HAVE_FCNTL", in the configure-time test program.
17266         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
17267         and therefore speeds up "configure" a bit.  Found while
17268         adding the dup2 module to Emacs.
17269
17270 2011-06-24  Eric Blake  <eblake@redhat.com>
17271
17272         maint.mk: enhance useless header checks
17273         * top/maint.mk (_sc_header_without_use): Check both include
17274         styles.
17275         (sc_prohibit_assert_without_use)
17276         (sc_prohibit_close_stream_without_use)
17277         (sc_prohibit_getopt_without_use)
17278         (sc_prohibit_quotearg_without_use)
17279         (sc_prohibit_quote_without_use)
17280         (sc_prohibit_long_options_without_use)
17281         (sc_prohibit_inttostr_without_use)
17282         (sc_prohibit_ignore_value_without_use)
17283         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
17284         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
17285         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
17286         (sc_prohibit_hash_pjw_without_use)
17287         (sc_prohibit_safe_read_without_use)
17288         (sc_prohibit_argmatch_without_use)
17289         (sc_prohibit_canonicalize_without_use)
17290         (sc_prohibit_root_dev_ino_without_use)
17291         (sc_prohibit_openat_without_use)
17292         (sc_prohibit_c_ctype_without_use)
17293         (sc_prohibit_signal_without_use)
17294         (sc_prohibit_stdio--_without_use)
17295         (sc_prohibit_stdio-safer_without_use)
17296         (sc_prohibit_strings_without_use)
17297         (sc_prohibit_intprops_without_use)
17298         (sc_prohibit_stddef_without_use)
17299         (sc_prohibit_xfreopen_without_use): Update clients.
17300
17301 2011-06-24  Jim Meyering  <meyering@redhat.com>
17302
17303         syntax-check: keep one maint.mk rule in sync with its header
17304         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
17305         of the bug Eric has just fixed, with today's commit 25e4c2ec.
17306         I prefer to avoid temporary files here, so use <(...), but that
17307         is not supported by /bin/sh, so...
17308         (SHELL): Define to /bin/bash.
17309
17310 2011-06-24  Eric Blake  <eblake@redhat.com>
17311
17312         maint.mk: update sc_prohibit_intprops_without_use
17313         * top/maint.mk (_intprops_names): Match recent changes.
17314
17315 2011-06-24  Bruno Haible  <bruno@clisp.org>
17316
17317         strerror-override: No-op tweak.
17318         * lib/strerror-override.h (strerror_override): Reorder conditions,
17319         for consistency with lib/strerror-override.c.
17320
17321 2011-06-23  Eric Blake  <eblake@redhat.com>
17322
17323         maint.mk: test further PATH_MAX issues
17324         * top/maint.mk (sc_prohibit_path_max_array): Rename...
17325         (sc_prohibit_path_max_allocation): ...and also test alloca.
17326         Suggested by Jim Meyering.
17327
17328 2011-06-22  Eric Blake  <eblake@redhat.com>
17329
17330         maint.mk: add syntax-check to avoid char[PATH_MAX]
17331         * top/maint.mk (sc_prohibit_path_max_array): New rule.
17332
17333         stat: be robust to PATH_MAX definition
17334         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
17335         * modules/stat (Depends-on): Add verify.
17336
17337         link: work around IRIX bug
17338         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
17339         * lib/link.c (rpl_link): Work around it.
17340         * tests/test-link.h (test_link): Enhance test.
17341         * doc/posix-functions/link.texi (link): Document the bug.
17342
17343         getopt: silence clang warning
17344         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
17345         dereference.
17346         Reported by Gustavo Martin Domato.
17347
17348 2011-06-22  Jim Meyering  <meyering@redhat.com>
17349
17350         bootstrap: do not insert a blank line into each .gitignore file
17351         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
17352
17353 2011-06-21  Eric Blake  <eblake@redhat.com>
17354
17355         perror: test for output mismatch
17356         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
17357         perror on IRIX.
17358
17359         strerror_r: fix OpenBSD behavior on out-of-range
17360         * lib/strerror_r.c (strerror_r): Always use maximal string.
17361         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17362
17363         strerror_r: fix OpenBSD behavior on 0
17364         * lib/strerror-override.c (strerror_override): Also override 0
17365         when needed.
17366         * lib/strerror-override.h (strerror_override): Likewise.
17367         * lib/strerror.c (strerror): Simplify, now that 0 override is done
17368         earlier.
17369         * lib/strerror_r.c (strerror_r): Likewise.
17370         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
17371         behavior...
17372         (gl_FUNC_STRERROR_0): ...into new macro.
17373         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
17374         is overridden.
17375         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
17376         * modules/strerror-override (Files): Add strerror.m4.
17377         (configure.ac): Also provide override for 0 when needed.
17378         * doc/posix-functions/strerror.texi (strerror): Document this.
17379         * doc/posix-functions/perror.texi (perror): Likewise.
17380
17381         perror: adjust array size
17382         * modules/perror (Depends-on): Add strerror-override.
17383         * lib/perror.c (perror): Use it to avoid magic number.
17384
17385         strerror-override: reduce size
17386         * lib/strerror-override.c (strerror_override): Use fewer lines.
17387
17388 2011-06-20  Bruno Haible  <bruno@clisp.org>
17389
17390         pathmax: Ensure correct value for PATH_MAX on HP-UX.
17391         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
17392
17393 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
17394
17395         alloca: port to compilers that can optimize like GCC 4.6.0
17396         * lib/alloca.c (find_stack_direction): New signature, taken from
17397         Autoconf git.  This works with GCC 4.6.0.  This code should never
17398         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
17399         be used with other compilers that optimize as well as GCC 4.6.0 does.
17400         (alloca): Adjust to new signature.
17401         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
17402         New macro, which patches Autoconf in a similar way.
17403
17404         c-stack: stop worrying about stack direction
17405         * lib/c-stack.c (find_stack_direction): Remove.
17406         (segv_handler): Don't worry about stack direction growth, as it's
17407         too much of a pain to configure this correctly, given how compilers
17408         are optimizing-away our stack-growth detection code.  Instead, assume
17409         that any access to just before or just after the stack is OK.
17410         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
17411         Don't require AC_FUNC_ALLOCA; no longer needed.
17412
17413 2011-06-20  Eric Blake  <eblake@redhat.com>
17414
17415         test-stat: don't allocate PATH_MAX bytes
17416         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
17417         PATH_MAX-sized buffer.
17418         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
17419         * modules/stat-tests (Depends-on): Likewise.
17420         * tests/test-fstatat.c (includes): Drop pathmax.h.
17421         * tests/test-stat.c (includes): Likewise.
17422         Reported by Bruno Haible.
17423
17424 2011-06-20  Bruno Haible  <bruno@clisp.org>
17425
17426         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
17427         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
17428         * lib/float.c: New file.
17429         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
17430         REPLACE_FLOAT_LDBL.
17431         * modules/float (Files): Add lib/float.c.
17432         (configure.ac): Invoke AC_LIBOBJ.
17433         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
17434
17435 2011-06-20  Bruno Haible  <bruno@clisp.org>
17436
17437         Tests for module 'float'.
17438         * modules/float-tests: New file.
17439         * tests/test-float.c: New file.
17440
17441 2011-06-19  Bruno Haible  <bruno@clisp.org>
17442
17443         isinf: Coding style.
17444         * lib/isinf.c: Use GNU coding style.
17445
17446 2011-06-19  Bruno Haible  <bruno@clisp.org>
17447
17448         linkat test: Avoid test failure on AIX 7.1.
17449         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
17450         * tests/test-link.h (test_link): Likewise.
17451
17452 2011-06-19  Bruno Haible  <bruno@clisp.org>
17453
17454         pread test: Avoid test failure on OpenBSD 4.9.
17455         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
17456
17457 2011-06-19  Bruno Haible  <bruno@clisp.org>
17458
17459         sprintf-posix: Fix test failure on AIX 7.1.
17460         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
17461         * doc/posix-functions/dprintf.texi: Mention limited precision problem
17462         on AIX.
17463         * doc/posix-functions/fprintf.texi: Likewise.
17464         * doc/posix-functions/printf.texi: Likewise.
17465         * doc/posix-functions/snprintf.texi: Likewise.
17466         * doc/posix-functions/sprintf.texi: Likewise.
17467         * doc/posix-functions/vdprintf.texi: Likewise.
17468         * doc/posix-functions/vfprintf.texi: Likewise.
17469         * doc/posix-functions/vprintf.texi: Likewise.
17470         * doc/posix-functions/vsnprintf.texi: Likewise.
17471         * doc/posix-functions/vsprintf.texi: Likewise.
17472
17473 2011-06-19  Bruno Haible  <bruno@clisp.org>
17474
17475         roundl-ieee: Fix test failure on AIX 7.1.
17476         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
17477         * doc/posix-functions/roundl.texi: Mention problem with negative
17478         arguments.
17479
17480 2011-06-19  Bruno Haible  <bruno@clisp.org>
17481
17482         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
17483         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
17484         * doc/posix-functions/round.texi: Mention problem with negative
17485         arguments.
17486         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
17487
17488 2011-06-19  Bruno Haible  <bruno@clisp.org>
17489
17490         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
17491         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
17492         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
17493         * doc/posix-functions/roundf.texi: Mention problem with negative
17494         arguments.
17495         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
17496
17497 2011-06-19  Bruno Haible  <bruno@clisp.org>
17498
17499         ceilf-ieee: Work around bug on MacOS X 10.5.
17500         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
17501
17502         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
17503         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
17504         IEEE compliant, avoid compiler optimizations.
17505         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
17506         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
17507         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
17508         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
17509         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
17510         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
17511         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
17512         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
17513         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
17514         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
17515
17516 2011-06-19  Bruno Haible  <bruno@clisp.org>
17517
17518         ceilf-ieee: Work around bug on AIX 7.1.
17519         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
17520         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
17521
17522 2011-06-19  Bruno Haible  <bruno@clisp.org>
17523
17524         ceil-ieee: Work around bug on AIX 7.1.
17525         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
17526         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
17527
17528 2011-06-18  Bruno Haible  <bruno@clisp.org>
17529
17530         fsync test: Avoid test failure on MacOS X and AIX.
17531         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
17532         EINVAL.
17533
17534 2011-06-18  Bruno Haible  <bruno@clisp.org>
17535
17536         openat, fdopendir tests: Fix link errors.
17537         * modules/openat-tests (Depends-on): Add progname.
17538         * modules/fdopendir-tests (Depends-on): Likewise.
17539         * tests/test-fchownat.c: Include progname.h.
17540         (main): Call set_program_name.
17541         * tests/test-fstatat.c: Include progname.h.
17542         (main): Call set_program_name.
17543         * tests/test-mkdirat.c: Include progname.h.
17544         (main): Call set_program_name.
17545         * tests/test-openat.c: Include progname.h.
17546         (main): Call set_program_name.
17547         * tests/test-unlinkat.c: Include progname.h.
17548         (main): Call set_program_name.
17549         * tests/test-fdopendir.c: Include progname.h.
17550         (main): Call set_program_name.
17551
17552 2011-06-18  Bruno Haible  <bruno@clisp.org>
17553
17554         Doc update.
17555         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
17556         HP-UX.
17557         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
17558
17559 2011-06-18  Bruno Haible  <bruno@clisp.org>
17560
17561         getcwd tests: Avoid compilation error on HP-UX 11.31.
17562         * modules/getcwd-tests (Depends-on): Add pathmax.
17563         * tests/test-getcwd.c: Include pathmax.h.
17564
17565 2011-06-18  Bruno Haible  <bruno@clisp.org>
17566
17567         isfinite, isinf: Fix link error on AIX 6 and 7.
17568         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
17569         needed, also test the macro with a 'float' argument.
17570         * m4/isinf.m4 (gl_ISINF): Likewise.
17571
17572 2011-06-18  Bruno Haible  <bruno@clisp.org>
17573
17574         getloadavg: Don't clobber LIBS. Regression from previous commit.
17575         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
17576         AC_CHECK_LIB from here...
17577         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
17578         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
17579         gl_func_getloadavg_done.
17580         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17581
17582 2011-06-18  Bruno Haible  <bruno@clisp.org>
17583
17584         clean-temp: Improve documentation.
17585         * lib/clean-temp.h: Explain better how to use this module.
17586         Reported by John Darrington <john@darrington.wattle.id.au>.
17587
17588 2011-06-17  Bruno Haible  <bruno@clisp.org>
17589
17590         pread, pwrite: Avoid cc warning on AIX.
17591         * lib/unistd.in.h (pread): Undefine before defining as a macro.
17592         (pwrite): Likewise.
17593
17594 2011-06-17  Bruno Haible  <bruno@clisp.org>
17595
17596         spawn-pipe tests: Fix link error.
17597         * tests/test-spawn-pipe-child.c: Undefine fprintf.
17598         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17599
17600 2011-06-17  Bruno Haible  <bruno@clisp.org>
17601
17602         Tests: Remove unnecessary dependency.
17603         * modules/canonicalize-tests (Depends-on): Remove progname.
17604         * modules/chown-tests (Depends-on): Likewise.
17605         * modules/dirname-tests (Depends-on): Likewise.
17606         * modules/fdopendir-tests (Depends-on): Likewise.
17607         * modules/fdutimensat-tests (Depends-on): Likewise.
17608         * modules/hash-tests (Depends-on): Likewise.
17609         * modules/lchown-tests (Depends-on): Likewise.
17610         * modules/linkat-tests (Depends-on): Likewise.
17611         * modules/renameat-tests (Depends-on): Likewise.
17612         * modules/spawn-pipe-tests (Depends-on): Likewise.
17613         * modules/utimensat-tests (Depends-on): Likewise.
17614
17615 2011-06-17  Bruno Haible  <bruno@clisp.org>
17616
17617         spawn-pipe tests: Fix link error.
17618         * tests/test-spawn-pipe-child.c: Undefine fflush.
17619
17620 2011-06-17  Bruno Haible  <bruno@clisp.org>
17621
17622         Fix tests link errors.
17623         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
17624         * modules/chown-tests (Makefile.am): Don't link test-chown with
17625         LIBINTL.
17626         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
17627         LIBINTL.
17628         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
17629         LIBINTL.
17630         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
17631         LIBINTL.
17632
17633 2011-06-16  Bruno Haible  <bruno@clisp.org>
17634
17635         crypto/gc-sha1: Fix recent regression.
17636         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
17637         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
17638
17639         crypto/gc-md5: Fix recent regression.
17640         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
17641
17642         crypto/gc-md4: Fix recent regression.
17643         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
17644         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
17645
17646         crypto/gc-arctwo: Fix recent regression.
17647         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
17648         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
17649
17650         crypto/gc-rijndael: Fix recent regression.
17651         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
17652         (configure.ac): Invoke AC_LIBOBJ here.
17653         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
17654         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17655
17656         crypto/gc-hmac-sha1: Fix recent regression.
17657         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
17658         (configure.ac): Invoke AC_LIBOBJ here.
17659         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
17660         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17661
17662         crypto/gc-hmac-md5: Fix recent regression.
17663         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
17664         (configure.ac): Invoke AC_LIBOBJ here.
17665         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
17666         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17667
17668         crypto/gc-des: Fix recent regression.
17669         * modules/crypto/gc-des (Files): Remove m4/des.m4.
17670         (configure.ac): Invoke AC_LIBOBJ here.
17671         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
17672         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17673
17674         crypto/gc-arcfour: Fix recent regression.
17675         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
17676         (configure.ac): Invoke AC_LIBOBJ here.
17677         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
17678         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17679
17680 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
17681
17682         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
17683         After the 2011-05-21 change, this macro requires
17684         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
17685         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
17686
17687 2011-06-16  Bruno Haible  <bruno@clisp.org>
17688
17689         fprintftime: Move AC_LIBOBJ invocations to module description.
17690         * m4/fprintftime.m4: Remove file.
17691         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
17692         (configure.ac): Remove gl_FPRINTFTIME call.
17693         (Makefile.am): Augment lib_SOURCES.
17694         Reported by Jim Meyering.
17695
17696 2011-06-16  Bruno Haible  <bruno@clisp.org>
17697
17698         tmpfile-safer: Finish 2011-05-23 commit.
17699         * m4/stdio-safer.m4: Really remove file.
17700         Reported by Jim Meyering.
17701
17702 2011-06-16  Bruno Haible  <bruno@clisp.org>
17703
17704         syntax-check: Fix typo.
17705         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
17706         printf-posix.m4.
17707         Reported by Jim Meyering.
17708
17709 2011-06-13  Jim Meyering  <meyering@redhat.com>
17710
17711         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
17712         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
17713
17714 2011-05-23  Bruno Haible  <bruno@clisp.org>
17715
17716         yesno: Move AC_LIBOBJ invocations to module description.
17717         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
17718         * modules/yesno (Makefile.am): Augment lib_SOURCES.
17719
17720 2011-05-23  Bruno Haible  <bruno@clisp.org>
17721
17722         xstrtol: Move AC_LIBOBJ invocations to module description.
17723         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
17724         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
17725
17726 2011-05-23  Bruno Haible  <bruno@clisp.org>
17727
17728         xstrtold: Move AC_LIBOBJ invocations to module description.
17729         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
17730         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
17731
17732 2011-05-23  Bruno Haible  <bruno@clisp.org>
17733
17734         xstrtod: Move AC_LIBOBJ invocations to module description.
17735         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
17736         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
17737
17738 2011-05-23  Bruno Haible  <bruno@clisp.org>
17739
17740         xnanosleep: Move AC_LIBOBJ invocations to module description.
17741         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
17742         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
17743
17744 2011-05-23  Bruno Haible  <bruno@clisp.org>
17745
17746         xgetcwd: Move AC_LIBOBJ invocations to module description.
17747         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
17748         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
17749
17750 2011-05-23  Bruno Haible  <bruno@clisp.org>
17751
17752         xalloc: Move AC_LIBOBJ invocations to module description.
17753         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
17754         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
17755
17756 2011-05-23  Bruno Haible  <bruno@clisp.org>
17757
17758         write-any-file: Move AC_LIBOBJ invocations to module description.
17759         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
17760         invocation.
17761         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
17762
17763 2011-05-23  Bruno Haible  <bruno@clisp.org>
17764
17765         utimens: Move AC_LIBOBJ invocations to module description.
17766         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
17767         * modules/utimens (Makefile.am): Augment lib_SOURCES.
17768
17769 2011-05-23  Bruno Haible  <bruno@clisp.org>
17770
17771         utimecmp: Move AC_LIBOBJ invocations to module description.
17772         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
17773         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
17774
17775 2011-05-23  Bruno Haible  <bruno@clisp.org>
17776
17777         userspec: Move AC_LIBOBJ invocations to module description.
17778         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
17779         * modules/userspec (Makefile.am): Augment lib_SOURCES.
17780
17781 2011-05-23  Bruno Haible  <bruno@clisp.org>
17782
17783         unlinkdir: Move AC_LIBOBJ invocations to module description.
17784         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
17785         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
17786
17787 2011-05-23  Bruno Haible  <bruno@clisp.org>
17788
17789         unistd-safer: Move AC_LIBOBJ invocations to module description.
17790         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
17791         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
17792
17793 2011-05-23  Bruno Haible  <bruno@clisp.org>
17794
17795         tempname: Move AC_LIBOBJ invocations to module description.
17796         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
17797         * modules/tempname (Makefile.am): Augment lib_SOURCES.
17798
17799 2011-05-23  Bruno Haible  <bruno@clisp.org>
17800
17801         strftime: Move AC_LIBOBJ invocations to module description.
17802         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
17803         * modules/strftime (Makefile.am): Augment lib_SOURCES.
17804
17805 2011-05-23  Bruno Haible  <bruno@clisp.org>
17806
17807         stdlib-safer: Move AC_LIBOBJ invocations to module description.
17808         * m4/stdlib-safer.m4: Remove file.
17809         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
17810         (configure.ac): Remove gl_STDLIB_SAFER call.
17811         (Makefile.am): Augment lib_SOURCES.
17812
17813 2011-05-23  Bruno Haible  <bruno@clisp.org>
17814
17815         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
17816         * m4/stdio-safer.m4: Remove file.
17817         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
17818         (configure.ac): Remove gl_TMPFILE_SAFER call.
17819         (Makefile.am): Augment lib_SOURCES.
17820
17821 2011-05-23  Bruno Haible  <bruno@clisp.org>
17822
17823         popen-safer: Move AC_LIBOBJ invocations to module description.
17824         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
17825         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
17826         (configure.ac): Remove gl_POPEN_SAFER call.
17827         (Makefile.am): Augment lib_SOURCES.
17828
17829 2011-05-23  Bruno Haible  <bruno@clisp.org>
17830
17831         freopen-safer: Move AC_LIBOBJ invocations to module description.
17832         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
17833         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
17834         (configure.ac): Remove gl_FREOPEN_SAFER call.
17835         (Makefile.am): Augment lib_SOURCES.
17836
17837 2011-05-23  Bruno Haible  <bruno@clisp.org>
17838
17839         fopen-safer: Move AC_LIBOBJ invocations to module description.
17840         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
17841         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
17842         (configure.ac): Remove gl_FOPEN_SAFER call.
17843         (Makefile.am): Augment lib_SOURCES.
17844
17845 2011-05-23  Bruno Haible  <bruno@clisp.org>
17846
17847         crypto/sha512: Move AC_LIBOBJ invocations to module description.
17848         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
17849         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
17850
17851 2011-05-23  Bruno Haible  <bruno@clisp.org>
17852
17853         crypto/sha256: Move AC_LIBOBJ invocations to module description.
17854         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
17855         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
17856
17857 2011-05-23  Bruno Haible  <bruno@clisp.org>
17858
17859         crypto/sha1: Move AC_LIBOBJ invocations to module description.
17860         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
17861         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
17862
17863 2011-05-23  Bruno Haible  <bruno@clisp.org>
17864
17865         settime: Move AC_LIBOBJ invocations to module description.
17866         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
17867         * modules/settime (Makefile.am): Augment lib_SOURCES.
17868
17869 2011-05-23  Bruno Haible  <bruno@clisp.org>
17870
17871         savedir: Move AC_LIBOBJ invocations to module description.
17872         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
17873         * modules/savedir (Makefile.am): Augment lib_SOURCES.
17874
17875 2011-05-23  Bruno Haible  <bruno@clisp.org>
17876
17877         save-cwd: Move AC_LIBOBJ invocations to module description.
17878         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
17879         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
17880
17881 2011-05-23  Bruno Haible  <bruno@clisp.org>
17882
17883         same: Move AC_LIBOBJ invocations to module description.
17884         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
17885         * modules/same (Makefile.am): Augment lib_SOURCES.
17886
17887 2011-05-23  Bruno Haible  <bruno@clisp.org>
17888
17889         safe-write: Move AC_LIBOBJ invocations to module description.
17890         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
17891         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
17892         instead of gl_SAFE_WRITE.
17893         (Makefile.am): Augment lib_SOURCES.
17894
17895 2011-05-23  Bruno Haible  <bruno@clisp.org>
17896
17897         safe-read: Move AC_LIBOBJ invocations to module description.
17898         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
17899         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
17900         of gl_SAFE_READ.
17901         (Makefile.am): Augment lib_SOURCES.
17902
17903 2011-05-23  Bruno Haible  <bruno@clisp.org>
17904
17905         safe-alloc: Move AC_LIBOBJ invocations to module description.
17906         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
17907         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
17908
17909 2011-05-23  Bruno Haible  <bruno@clisp.org>
17910
17911         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
17912         * m4/rijndael.m4: Remove file.
17913         * modules/crypto/rijndael (Files): Remove it.
17914         (configure.ac): Remove gl_RIJNDAEL call.
17915         (Makefile.am): Augment lib_SOURCES.
17916
17917 2011-05-23  Bruno Haible  <bruno@clisp.org>
17918
17919         readtokens: Move AC_LIBOBJ invocations to module description.
17920         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
17921         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
17922
17923 2011-05-23  Bruno Haible  <bruno@clisp.org>
17924
17925         read-file: Move AC_LIBOBJ invocations to module description.
17926         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
17927         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
17928         of gl_FUNC_READ_FILE.
17929         (Makefile.am): Augment lib_SOURCES.
17930
17931 2011-05-23  Bruno Haible  <bruno@clisp.org>
17932
17933         quotearg: Move AC_LIBOBJ invocations to module description.
17934         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
17935         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
17936
17937 2011-05-23  Bruno Haible  <bruno@clisp.org>
17938
17939         quote: Move AC_LIBOBJ invocations to module description.
17940         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
17941         * modules/quote (Makefile.am): Augment lib_SOURCES.
17942
17943 2011-05-23  Bruno Haible  <bruno@clisp.org>
17944
17945         posixver: Move AC_LIBOBJ invocations to module description.
17946         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
17947         * modules/posixver (Makefile.am): Augment lib_SOURCES.
17948
17949 2011-05-23  Bruno Haible  <bruno@clisp.org>
17950
17951         posixtm: Move AC_LIBOBJ invocations to module description.
17952         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
17953         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
17954
17955 2011-05-23  Bruno Haible  <bruno@clisp.org>
17956
17957         physmem: Move AC_LIBOBJ invocations to module description.
17958         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
17959         * modules/physmem (Makefile.am): Augment lib_SOURCES.
17960
17961 2011-05-23  Bruno Haible  <bruno@clisp.org>
17962
17963         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
17964         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
17965         invocation.
17966         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
17967
17968 2011-05-23  Bruno Haible  <bruno@clisp.org>
17969
17970         mpsort: Move AC_LIBOBJ invocations to module description.
17971         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
17972         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
17973
17974 2011-05-23  Bruno Haible  <bruno@clisp.org>
17975
17976         modechange: Move AC_LIBOBJ invocations to module description.
17977         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
17978         * modules/modechange (Makefile.am): Augment lib_SOURCES.
17979
17980 2011-05-23  Bruno Haible  <bruno@clisp.org>
17981
17982         mkdir-p: Move AC_LIBOBJ invocations to module description.
17983         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
17984         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
17985
17986 2011-05-23  Bruno Haible  <bruno@clisp.org>
17987
17988         mkancesdirs: Move AC_LIBOBJ invocations to module description.
17989         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
17990         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
17991
17992 2011-05-23  Bruno Haible  <bruno@clisp.org>
17993
17994         mgetgroups: Move AC_LIBOBJ invocations to module description.
17995         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
17996         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
17997
17998 2011-05-23  Bruno Haible  <bruno@clisp.org>
17999
18000         memxor: Move AC_LIBOBJ invocations to module description.
18001         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
18002         * modules/memxor (Makefile.am): Augment lib_SOURCES.
18003
18004 2011-05-23  Bruno Haible  <bruno@clisp.org>
18005
18006         memcoll: Move AC_LIBOBJ invocations to module description.
18007         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
18008         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
18009
18010 2011-05-23  Bruno Haible  <bruno@clisp.org>
18011
18012         memcasecmp: Move AC_LIBOBJ invocations to module description.
18013         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
18014         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
18015
18016 2011-05-23  Bruno Haible  <bruno@clisp.org>
18017
18018         crypto/md5: Move AC_LIBOBJ invocations to module description.
18019         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
18020         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
18021
18022 2011-05-23  Bruno Haible  <bruno@clisp.org>
18023
18024         crypto/md4: Move AC_LIBOBJ invocations to module description.
18025         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
18026         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
18027
18028 2011-05-23  Bruno Haible  <bruno@clisp.org>
18029
18030         crypto/md2: Move AC_LIBOBJ invocations to module description.
18031         * m4/md2.m4: Remove file.
18032         * modules/crypto/md2 (Files): Remove it.
18033         (configure.ac): Remove gl_MD2 call.
18034         (Makefile.am): Augment lib_SOURCES.
18035
18036 2011-05-23  Bruno Haible  <bruno@clisp.org>
18037
18038         long-options: Move AC_LIBOBJ invocations to module description.
18039         * m4/long-options.m4: Remove file.
18040         * modules/long-options (Files): Remove it.
18041         (configure.ac): Remove gl_LONG_OPTIONS call.
18042         (Makefile.am): Augment lib_SOURCES.
18043
18044 2011-05-23  Bruno Haible  <bruno@clisp.org>
18045
18046         i-ring: Move AC_LIBOBJ invocations to module description.
18047         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
18048         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
18049
18050 2011-05-23  Bruno Haible  <bruno@clisp.org>
18051
18052         idcache: Move AC_LIBOBJ invocations to module description.
18053         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
18054         * modules/idcache (Makefile.am): Augment lib_SOURCES.
18055
18056 2011-05-23  Bruno Haible  <bruno@clisp.org>
18057
18058         human: Move AC_LIBOBJ invocations to module description.
18059         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
18060         * modules/human (Makefile.am): Augment lib_SOURCES.
18061
18062 2011-05-23  Bruno Haible  <bruno@clisp.org>
18063
18064         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
18065         * m4/hmac-sha1.m4: Remove file.
18066         * modules/crypto/hmac-sha1 (Files): Remove it.
18067         (configure.ac): Remove gl_HMAC_SHA1 call.
18068         (Makefile.am): Augment lib_SOURCES.
18069
18070 2011-05-23  Bruno Haible  <bruno@clisp.org>
18071
18072         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
18073         * m4/hmac-md5.m4: Remove file.
18074         * modules/crypto/hmac-md5 (Files): Remove it.
18075         (configure.ac): Remove gl_HMAC_MD5 call.
18076         (Makefile.am): Augment lib_SOURCES.
18077
18078 2011-05-23  Bruno Haible  <bruno@clisp.org>
18079
18080         hash: Move AC_LIBOBJ invocations to module description.
18081         * m4/hash.m4: Remove file.
18082         * modules/hash (Files): Remove it.
18083         (configure.ac): Remove gl_HASH call.
18084         (Makefile.am): Augment lib_SOURCES.
18085
18086 2011-05-23  Bruno Haible  <bruno@clisp.org>
18087
18088         hard-locale: Move AC_LIBOBJ invocations to module description.
18089         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
18090         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
18091
18092 2011-05-23  Bruno Haible  <bruno@clisp.org>
18093
18094         getugroups: Move AC_LIBOBJ invocations to module description.
18095         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
18096         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
18097
18098 2011-05-23  Bruno Haible  <bruno@clisp.org>
18099
18100         gettime: Move AC_LIBOBJ invocations to module description.
18101         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
18102         * modules/gettime (Makefile.am): Augment lib_SOURCES.
18103
18104 2011-05-23  Bruno Haible  <bruno@clisp.org>
18105
18106         getndelim2: Move AC_LIBOBJ invocations to module description.
18107         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
18108         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
18109
18110 2011-05-23  Bruno Haible  <bruno@clisp.org>
18111
18112         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
18113         * m4/gc-pbkdf2-sha1.m4: Remove file.
18114         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
18115         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
18116         (Makefile.am): Augment lib_SOURCES.
18117
18118 2011-05-23  Bruno Haible  <bruno@clisp.org>
18119
18120         fts: Move AC_LIBOBJ invocations to module description.
18121         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
18122         * modules/fts (configure.ac): ... to here.
18123
18124 2011-05-23  Bruno Haible  <bruno@clisp.org>
18125
18126         file-type: Move AC_LIBOBJ invocations to module description.
18127         * m4/file-type.m4: Remove file.
18128         * modules/file-type (Files): Remove it.
18129         (configure.ac): Remove gl_FILE_TYPE call.
18130         (Makefile.am): Augment lib_SOURCES.
18131
18132 2011-05-23  Bruno Haible  <bruno@clisp.org>
18133
18134         filenamecat*: Respect rules for use of AC_LIBOBJ.
18135         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
18136         Remove AC_LIBOBJ invocation.
18137         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
18138         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
18139
18140 2011-05-23  Bruno Haible  <bruno@clisp.org>
18141
18142         filemode: Move AC_LIBOBJ invocations to module description.
18143         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
18144         * modules/filemode (Makefile.am): Augment lib_SOURCES.
18145
18146 2011-05-23  Bruno Haible  <bruno@clisp.org>
18147
18148         openat-safer: Move AC_LIBOBJ invocations to module description.
18149         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
18150         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
18151
18152 2011-05-23  Bruno Haible  <bruno@clisp.org>
18153
18154         fcntl-safer: Move AC_LIBOBJ invocations to module description.
18155         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
18156         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
18157
18158 2011-05-23  Bruno Haible  <bruno@clisp.org>
18159
18160         exclude: Move AC_LIBOBJ invocations to module description.
18161         * m4/exclude.m4: Remove file.
18162         * modules/exclude (Files): Remove it.
18163         (configure.ac): Remove gl_EXCLUDE call.
18164         (Makefile.am): Augment lib_SOURCES.
18165
18166 2011-05-23  Bruno Haible  <bruno@clisp.org>
18167
18168         dirname*: Respect rules for use of AC_LIBOBJ.
18169         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
18170         invocations.
18171         * modules/dirname (Makefile.am): Augment lib_SOURCES.
18172         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
18173
18174 2011-05-23  Bruno Haible  <bruno@clisp.org>
18175
18176         dirent-safer: Move AC_LIBOBJ invocations to module description.
18177         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
18178         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
18179
18180 2011-05-23  Bruno Haible  <bruno@clisp.org>
18181
18182         crypto/des: Move AC_LIBOBJ invocations to module description.
18183         * m4/des.m4: Remove file.
18184         * modules/crypto/des (Files): Remove it.
18185         (configure.ac): Remove gl_DES call.
18186         (Makefile.am): Augment lib_SOURCES.
18187
18188 2011-05-23  Bruno Haible  <bruno@clisp.org>
18189
18190         cycle-check: Move AC_LIBOBJ invocations to module description.
18191         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
18192         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
18193
18194 2011-05-23  Bruno Haible  <bruno@clisp.org>
18195
18196         c-strtold: Move AC_LIBOBJ invocations to module description.
18197         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
18198         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
18199
18200 2011-05-23  Bruno Haible  <bruno@clisp.org>
18201
18202         c-strtod: Move AC_LIBOBJ invocations to module description.
18203         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
18204         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
18205
18206 2011-05-23  Bruno Haible  <bruno@clisp.org>
18207
18208         crc: Move AC_LIBOBJ invocations to module description.
18209         * m4/crc.m4: Remove file.
18210         * modules/crc (Files): Remove it.
18211         (configure.ac): Remove gl_CRC call.
18212         (Makefile.am): Augment lib_SOURCES.
18213
18214 2011-05-23  Bruno Haible  <bruno@clisp.org>
18215
18216         close-stream: Move AC_LIBOBJ invocations to module description.
18217         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
18218         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
18219
18220 2011-05-23  Bruno Haible  <bruno@clisp.org>
18221
18222         closeout: Move AC_LIBOBJ invocations to module description.
18223         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
18224         * modules/closeout (Makefile.am): Augment lib_SOURCES.
18225
18226 2011-05-23  Bruno Haible  <bruno@clisp.org>
18227
18228         closein: Move AC_LIBOBJ invocations to module description.
18229         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
18230         * modules/closein (Makefile.am): Augment lib_SOURCES.
18231
18232 2011-05-23  Bruno Haible  <bruno@clisp.org>
18233
18234         cloexec: Move AC_LIBOBJ invocations to module description.
18235         * m4/cloexec.m4: Remove file.
18236         * modules/cloexec (Files): Remove it.
18237         (configure.ac): Remove gl_CLOEXEC call.
18238         (Makefile.am): Augment lib_SOURCES.
18239
18240 2011-05-23  Bruno Haible  <bruno@clisp.org>
18241
18242         check-version: Move AC_LIBOBJ invocations to module description.
18243         * m4/check-version.m4: Remove file.
18244         * modules/check-version (Files): Remove it.
18245         (configure.ac): Remove gl_CHECK_VERSION call.
18246         (Makefile.am): Augment lib_SOURCES.
18247
18248 2011-05-23  Bruno Haible  <bruno@clisp.org>
18249
18250         chdir-safer: Move AC_LIBOBJ invocations to module description.
18251         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
18252         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
18253
18254 2011-05-23  Bruno Haible  <bruno@clisp.org>
18255
18256         canonicalize: Move AC_LIBOBJ invocations to module description.
18257         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
18258         AC_LIBOBJ invocation.
18259         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
18260
18261 2011-05-23  Bruno Haible  <bruno@clisp.org>
18262
18263         canon-host: Move AC_LIBOBJ invocations to module description.
18264         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
18265         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
18266         instead of gl_CANON_HOST.
18267         (Makefile.am): Augment lib_SOURCES.
18268
18269 2011-05-23  Bruno Haible  <bruno@clisp.org>
18270
18271         backupfile: Move AC_LIBOBJ invocations to module description.
18272         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
18273         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
18274
18275 2011-05-23  Bruno Haible  <bruno@clisp.org>
18276
18277         argmatch: Move AC_LIBOBJ invocations to module description.
18278         * m4/argmatch.m4: Remove file.
18279         * modules/argmatch (Files): Remove it.
18280         (configure.ac): Remove gl_ARGMATCH call.
18281         (Makefile.am): Augment lib_SOURCES.
18282
18283 2011-05-23  Bruno Haible  <bruno@clisp.org>
18284
18285         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
18286         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
18287         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
18288
18289 2011-05-23  Bruno Haible  <bruno@clisp.org>
18290
18291         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
18292         * m4/arcfour.m4: Remove file.
18293         * modules/crypto/arcfour (Files): Remove it.
18294         (configure.ac): Remove gl_ARCFOUR call.
18295         (Makefile.am): Augment lib_SOURCES.
18296
18297 2011-05-22  Bruno Haible  <bruno@clisp.org>
18298
18299         write: Move AC_LIBOBJ invocations to module description.
18300         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
18301         * modules/write (configure.ac): ... to here.
18302
18303 2011-05-22  Bruno Haible  <bruno@clisp.org>
18304
18305         wmemset: Move AC_LIBOBJ invocations to module description.
18306         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
18307         here...
18308         * modules/wmemset (configure.ac): ... to here.
18309
18310 2011-05-22  Bruno Haible  <bruno@clisp.org>
18311
18312         wmemmove: Move AC_LIBOBJ invocations to module description.
18313         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
18314         here...
18315         * modules/wmemmove (configure.ac): ... to here.
18316
18317 2011-05-22  Bruno Haible  <bruno@clisp.org>
18318
18319         wmemcpy: Move AC_LIBOBJ invocations to module description.
18320         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
18321         here...
18322         * modules/wmemcpy (configure.ac): ... to here.
18323
18324 2011-05-22  Bruno Haible  <bruno@clisp.org>
18325
18326         wmemcmp: Move AC_LIBOBJ invocations to module description.
18327         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
18328         here...
18329         * modules/wmemcmp (configure.ac): ... to here.
18330
18331 2011-05-22  Bruno Haible  <bruno@clisp.org>
18332
18333         wmemchr: Move AC_LIBOBJ invocations to module description.
18334         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
18335         here...
18336         * modules/wmemchr (configure.ac): ... to here.
18337
18338 2011-05-22  Bruno Haible  <bruno@clisp.org>
18339
18340         wcswidth: Move AC_LIBOBJ invocations to module description.
18341         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
18342         here...
18343         * modules/wcswidth (configure.ac): ... to here.
18344
18345 2011-05-22  Bruno Haible  <bruno@clisp.org>
18346
18347         wcwidth: Respect rules for use of AC_LIBOBJ.
18348         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
18349         invocation from here...
18350         * modules/wcwidth (configure.ac): ... to here.
18351         (Depends-on): Update conditions.
18352
18353 2011-05-22  Bruno Haible  <bruno@clisp.org>
18354
18355         wctype: Move AC_LIBOBJ invocations to module description.
18356         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
18357         invocation from here...
18358         * modules/wctype (configure.ac): ... to here.
18359         (Depends-on): Update conditions.
18360
18361 2011-05-22  Bruno Haible  <bruno@clisp.org>
18362
18363         wctrans: Move AC_LIBOBJ invocations to module description.
18364         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
18365         invocation from here...
18366         * modules/wctrans (configure.ac): ... to here.
18367
18368 2011-05-22  Bruno Haible  <bruno@clisp.org>
18369
18370         wctomb: Move AC_LIBOBJ invocations to module description.
18371         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
18372         invocations from here...
18373         * modules/wctomb (configure.ac): ... to here.
18374
18375 2011-05-22  Bruno Haible  <bruno@clisp.org>
18376
18377         wctob: Move AC_LIBOBJ invocations to module description.
18378         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
18379         gl_PREREQ_WCTOB invocations from here...
18380         * modules/wctob (configure.ac): ... to here.
18381         (Depends-on): Update conditions.
18382
18383 2011-05-22  Bruno Haible  <bruno@clisp.org>
18384
18385         wcsxfrm: Move AC_LIBOBJ invocations to module description.
18386         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
18387         here...
18388         * modules/wcsxfrm (configure.ac): ... to here.
18389
18390 2011-05-22  Bruno Haible  <bruno@clisp.org>
18391
18392         wcstok: Move AC_LIBOBJ invocations to module description.
18393         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
18394         * modules/wcstok (configure.ac): ... to here.
18395
18396 2011-05-22  Bruno Haible  <bruno@clisp.org>
18397
18398         wcsstr: Move AC_LIBOBJ invocations to module description.
18399         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
18400         * modules/wcsstr (configure.ac): ... to here.
18401
18402 2011-05-22  Bruno Haible  <bruno@clisp.org>
18403
18404         wcsspn: Move AC_LIBOBJ invocations to module description.
18405         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
18406         * modules/wcsspn (configure.ac): ... to here.
18407
18408 2011-05-22  Bruno Haible  <bruno@clisp.org>
18409
18410         wcsrtombs: Move AC_LIBOBJ invocations to module description.
18411         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
18412         gl_PREREQ_WCSRTOMBS invocations from here...
18413         * modules/wcsrtombs (configure.ac): ... to here.
18414
18415 2011-05-22  Bruno Haible  <bruno@clisp.org>
18416
18417         wcsrchr: Move AC_LIBOBJ invocations to module description.
18418         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
18419         here...
18420         * modules/wcsrchr (configure.ac): ... to here.
18421
18422 2011-05-22  Bruno Haible  <bruno@clisp.org>
18423
18424         wcspbrk: Move AC_LIBOBJ invocations to module description.
18425         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
18426         here...
18427         * modules/wcspbrk (configure.ac): ... to here.
18428
18429 2011-05-22  Bruno Haible  <bruno@clisp.org>
18430
18431         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
18432         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
18433         gl_PREREQ_WCSNRTOMBS invocations from here...
18434         * modules/wcsnrtombs (configure.ac): ... to here.
18435
18436 2011-05-22  Bruno Haible  <bruno@clisp.org>
18437
18438         wcsnlen: Move AC_LIBOBJ invocations to module description.
18439         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
18440         here...
18441         * modules/wcsnlen (configure.ac): ... to here.
18442
18443 2011-05-22  Bruno Haible  <bruno@clisp.org>
18444
18445         wcsncpy: Move AC_LIBOBJ invocations to module description.
18446         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
18447         here...
18448         * modules/wcsncpy (configure.ac): ... to here.
18449
18450 2011-05-22  Bruno Haible  <bruno@clisp.org>
18451
18452         wcsncmp: Move AC_LIBOBJ invocations to module description.
18453         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
18454         here...
18455         * modules/wcsncmp (configure.ac): ... to here.
18456
18457 2011-05-22  Bruno Haible  <bruno@clisp.org>
18458
18459         wcsncat: Move AC_LIBOBJ invocations to module description.
18460         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
18461         here...
18462         * modules/wcsncat (configure.ac): ... to here.
18463
18464 2011-05-22  Bruno Haible  <bruno@clisp.org>
18465
18466         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
18467         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
18468         from here...
18469         * modules/wcsncasecmp (configure.ac): ... to here.
18470
18471 2011-05-22  Bruno Haible  <bruno@clisp.org>
18472
18473         wcslen: Move AC_LIBOBJ invocations to module description.
18474         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
18475         * modules/wcslen (configure.ac): ... to here.
18476
18477 2011-05-22  Bruno Haible  <bruno@clisp.org>
18478
18479         wcsdup: Move AC_LIBOBJ invocations to module description.
18480         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
18481         * modules/wcsdup (configure.ac): ... to here.
18482
18483 2011-05-22  Bruno Haible  <bruno@clisp.org>
18484
18485         wcscspn: Move AC_LIBOBJ invocations to module description.
18486         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
18487         here...
18488         * modules/wcscspn (configure.ac): ... to here.
18489
18490 2011-05-22  Bruno Haible  <bruno@clisp.org>
18491
18492         wcscpy: Move AC_LIBOBJ invocations to module description.
18493         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
18494         * modules/wcscpy (configure.ac): ... to here.
18495
18496 2011-05-22  Bruno Haible  <bruno@clisp.org>
18497
18498         wcscoll: Move AC_LIBOBJ invocations to module description.
18499         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
18500         here...
18501         * modules/wcscoll (configure.ac): ... to here.
18502
18503 2011-05-22  Bruno Haible  <bruno@clisp.org>
18504
18505         wcscmp: Move AC_LIBOBJ invocations to module description.
18506         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
18507         * modules/wcscmp (configure.ac): ... to here.
18508
18509 2011-05-22  Bruno Haible  <bruno@clisp.org>
18510
18511         wcschr: Move AC_LIBOBJ invocations to module description.
18512         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
18513         * modules/wcschr (configure.ac): ... to here.
18514
18515 2011-05-22  Bruno Haible  <bruno@clisp.org>
18516
18517         wcscat: Move AC_LIBOBJ invocations to module description.
18518         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
18519         * modules/wcscat (configure.ac): ... to here.
18520
18521 2011-05-22  Bruno Haible  <bruno@clisp.org>
18522
18523         wcscasecmp: Move AC_LIBOBJ invocations to module description.
18524         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
18525         here...
18526         * modules/wcscasecmp (configure.ac): ... to here.
18527
18528 2011-05-22  Bruno Haible  <bruno@clisp.org>
18529
18530         wcrtomb: Move AC_LIBOBJ invocations to module description.
18531         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
18532         invocations from here...
18533         * modules/wcrtomb (configure.ac): ... to here.
18534
18535 2011-05-22  Bruno Haible  <bruno@clisp.org>
18536
18537         wcpncpy: Move AC_LIBOBJ invocations to module description.
18538         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
18539         here...
18540         * modules/wcpncpy (configure.ac): ... to here.
18541
18542 2011-05-22  Bruno Haible  <bruno@clisp.org>
18543
18544         wcpcpy: Move AC_LIBOBJ invocations to module description.
18545         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
18546         * modules/wcpcpy (configure.ac): ... to here.
18547
18548 2011-05-22  Bruno Haible  <bruno@clisp.org>
18549
18550         waitpid: Move AC_LIBOBJ invocations to module description.
18551         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
18552         invocation from here...
18553         * modules/waitpid (configure.ac): ... to here.
18554
18555 2011-05-22  Bruno Haible  <bruno@clisp.org>
18556
18557         utimensat: Move AC_LIBOBJ invocations to module description.
18558         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
18559         here...
18560         * modules/utimensat (configure.ac): ... to here.
18561
18562 2011-05-22  Bruno Haible  <bruno@clisp.org>
18563
18564         usleep: Move AC_LIBOBJ invocations to module description.
18565         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
18566         here...
18567         * modules/usleep (configure.ac): ... to here.
18568
18569 2011-05-22  Bruno Haible  <bruno@clisp.org>
18570
18571         unlockpt: Move AC_LIBOBJ invocations to module description.
18572         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
18573         gl_PREREQ_UNLOCKPT invocations from here...
18574         * modules/unlockpt (configure.ac): ... to here.
18575
18576 2011-05-22  Bruno Haible  <bruno@clisp.org>
18577
18578         unlink: Respect rules for use of AC_LIBOBJ.
18579         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
18580         * modules/unlink (configure.ac): ... to here.
18581
18582 2011-05-22  Bruno Haible  <bruno@clisp.org>
18583
18584         uname: Move AC_LIBOBJ invocations to module description.
18585         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
18586         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
18587         here...
18588         * modules/uname (configure.ac): ... to here.
18589
18590 2011-05-22  Bruno Haible  <bruno@clisp.org>
18591
18592         ttyname_r: Move AC_LIBOBJ invocations to module description.
18593         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
18594         gl_PREREQ_TTYNAME_R invocations from here...
18595         * modules/ttyname_r (configure.ac): ... to here.
18596
18597 2011-05-22  Bruno Haible  <bruno@clisp.org>
18598
18599         tsearch: Move AC_LIBOBJ invocations to module description.
18600         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
18601         invocations from here...
18602         * modules/tsearch (configure.ac): ... to here.
18603
18604 2011-05-22  Bruno Haible  <bruno@clisp.org>
18605
18606         towctrans: Move AC_LIBOBJ invocations to module description.
18607         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
18608         AC_LIBOBJ invocation from here...
18609         * modules/towctrans (configure.ac): ... to here.
18610
18611 2011-05-22  Bruno Haible  <bruno@clisp.org>
18612
18613         tmpfile: Move AC_LIBOBJ invocations to module description.
18614         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
18615         invocations from here...
18616         * modules/tmpfile (configure.ac): ... to here.
18617
18618 2011-05-22  Bruno Haible  <bruno@clisp.org>
18619
18620         times: Move AC_LIBOBJ invocations to module description.
18621         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
18622         * modules/times (configure.ac): ... to here.
18623
18624 2011-05-22  Bruno Haible  <bruno@clisp.org>
18625
18626         time_r: Move AC_LIBOBJ invocations to module description.
18627         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
18628         invocations from here...
18629         * modules/time_r (configure.ac): ... to here.
18630
18631 2011-05-22  Bruno Haible  <bruno@clisp.org>
18632
18633         timegm: Move AC_LIBOBJ invocations to module description.
18634         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
18635         invocations from here...
18636         * modules/timegm (configure.ac): ... to here.
18637
18638 2011-05-22  Bruno Haible  <bruno@clisp.org>
18639
18640         tcgetsid: Move AC_LIBOBJ invocations to module description.
18641         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
18642         and gl_PREREQ_TCGETSID invocations from here...
18643         * modules/tcgetsid (configure.ac): ... to here.
18644         (Depends-on): Update conditions.
18645
18646 2011-05-22  Bruno Haible  <bruno@clisp.org>
18647
18648         symlinkat: Move AC_LIBOBJ invocations to module description.
18649         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
18650         here...
18651         * modules/symlinkat (configure.ac): ... to here.
18652
18653 2011-05-22  Bruno Haible  <bruno@clisp.org>
18654
18655         symlink: Move AC_LIBOBJ invocations to module description.
18656         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
18657         here...
18658         * modules/symlink (configure.ac): ... to here.
18659
18660 2011-05-22  Bruno Haible  <bruno@clisp.org>
18661
18662         strverscmp: Move AC_LIBOBJ invocations to module description.
18663         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
18664         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
18665         from here...
18666         * modules/strverscmp (configure.ac): ... to here.
18667
18668 2011-05-22  Bruno Haible  <bruno@clisp.org>
18669
18670         strtok_r: Move AC_LIBOBJ invocations to module description.
18671         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
18672         and gl_PREREQ_STRTOK_R invocations from here...
18673         * modules/strtok_r (configure.ac): ... to here.
18674         (Depends-on): Update conditions.
18675
18676 2011-05-22  Bruno Haible  <bruno@clisp.org>
18677
18678         strtoumax: Move AC_LIBOBJ invocations to module description.
18679         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
18680         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
18681         from here...
18682         * modules/strtoumax (configure.ac): ... to here.
18683
18684 2011-05-22  Bruno Haible  <bruno@clisp.org>
18685
18686         strtoimax: Move AC_LIBOBJ invocations to module description.
18687         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
18688         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
18689         from here...
18690         * modules/strtoimax (configure.ac): ... to here.
18691
18692 2011-05-22  Bruno Haible  <bruno@clisp.org>
18693
18694         strtoull: Move AC_LIBOBJ invocations to module description.
18695         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
18696         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
18697         from here...
18698         * modules/strtoull (configure.ac): ... to here.
18699
18700 2011-05-22  Bruno Haible  <bruno@clisp.org>
18701
18702         strtoll: Move AC_LIBOBJ invocations to module description.
18703         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
18704         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
18705         here...
18706         * modules/strtoll (configure.ac): ... to here.
18707
18708 2011-05-22  Bruno Haible  <bruno@clisp.org>
18709
18710         strtoul: Move AC_LIBOBJ invocations to module description.
18711         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
18712         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
18713         * modules/strtoul (configure.ac): ... to here.
18714
18715 2011-05-22  Bruno Haible  <bruno@clisp.org>
18716
18717         strtol: Move AC_LIBOBJ invocations to module description.
18718         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
18719         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
18720         * modules/strtol (configure.ac): ... to here.
18721
18722 2011-05-22  Bruno Haible  <bruno@clisp.org>
18723
18724         strtod: Move AC_LIBOBJ invocations to module description.
18725         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
18726         invocations from here...
18727         * modules/strtod (configure.ac): ... to here.
18728
18729 2011-05-22  Bruno Haible  <bruno@clisp.org>
18730
18731         strstr*: Move AC_LIBOBJ invocations to module description.
18732         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
18733         invocations from here...
18734         * modules/strstr-simple (configure.ac): ... to here.
18735         * modules/strstr (configure.ac): ... and here.
18736
18737 2011-05-22  Bruno Haible  <bruno@clisp.org>
18738
18739         strsignal: Move AC_LIBOBJ invocations to module description.
18740         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
18741         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
18742         * modules/strsignal (configure.ac): ... to here.
18743         (Depends-on): Update conditions.
18744
18745 2011-05-22  Bruno Haible  <bruno@clisp.org>
18746
18747         strsep: Move AC_LIBOBJ invocations to module description.
18748         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
18749         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
18750         here...
18751         * modules/strsep (configure.ac): ... to here.
18752
18753 2011-05-22  Bruno Haible  <bruno@clisp.org>
18754
18755         strptime: Move AC_LIBOBJ invocations to module description.
18756         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
18757         gl_PREREQ_STRPTIME invocations from here...
18758         * modules/strptime (configure.ac): ... to here.
18759
18760 2011-05-22  Bruno Haible  <bruno@clisp.org>
18761
18762         strpbrk: Move AC_LIBOBJ invocations to module description.
18763         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
18764         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
18765         here...
18766         * modules/strpbrk (configure.ac): ... to here.
18767
18768 2011-05-22  Bruno Haible  <bruno@clisp.org>
18769
18770         strnlen: Move AC_LIBOBJ invocations to module description.
18771         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
18772         invocations from here...
18773         * modules/strnlen (configure.ac): ... to here.
18774
18775 2011-05-22  Bruno Haible  <bruno@clisp.org>
18776
18777         strndup: Move AC_LIBOBJ invocations to module description.
18778         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
18779         invocations from here...
18780         * modules/strndup (configure.ac): ... to here.
18781         (Depends-on): Update conditions.
18782
18783 2011-05-22  Bruno Haible  <bruno@clisp.org>
18784
18785         strncat: Move AC_LIBOBJ invocations to module description.
18786         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
18787         invocations from here...
18788         * modules/strncat (configure.ac): ... to here.
18789
18790 2011-05-22  Bruno Haible  <bruno@clisp.org>
18791
18792         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
18793         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
18794         invocations from here...
18795         * modules/strdup (configure.ac): ... to here.
18796         * modules/strdup-posix (configure.ac): ... and here.
18797
18798 2011-05-22  Bruno Haible  <bruno@clisp.org>
18799
18800         strcspn: Move AC_LIBOBJ invocations to module description.
18801         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
18802         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
18803         here...
18804         * modules/strcspn (configure.ac): ... to here.
18805
18806 2011-05-22  Bruno Haible  <bruno@clisp.org>
18807
18808         strchrnul: Move AC_LIBOBJ invocations to module description.
18809         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
18810         gl_PREREQ_STRCHRNUL invocations from here...
18811         * modules/strchrnul (configure.ac): ... to here.
18812
18813 2011-05-22  Bruno Haible  <bruno@clisp.org>
18814
18815         strcasestr*: Move AC_LIBOBJ invocations to module description.
18816         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
18817         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
18818         * modules/strcasestr-simple (configure.ac): ... to here.
18819         * modules/strcasestr (configure.ac): ... and here.
18820
18821 2011-05-22  Bruno Haible  <bruno@clisp.org>
18822
18823         strcase: Move AC_LIBOBJ invocations to module description.
18824         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
18825         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
18826         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
18827         gl_PREREQ_STRNCASECMP invocations from here...
18828         * modules/strcase (configure.ac): ... to here.
18829
18830 2011-05-22  Bruno Haible  <bruno@clisp.org>
18831
18832         stpncpy: Move AC_LIBOBJ invocations to module description.
18833         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
18834         here...
18835         * modules/stpncpy (configure.ac): ... to here.
18836
18837 2011-05-22  Bruno Haible  <bruno@clisp.org>
18838
18839         stpcpy: Move AC_LIBOBJ invocations to module description.
18840         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
18841         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
18842         here...
18843         * modules/stpcpy (configure.ac): ... to here.
18844
18845 2011-05-21  Bruno Haible  <bruno@clisp.org>
18846
18847         stat: Move AC_LIBOBJ invocations to module description.
18848         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
18849         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
18850         here...
18851         * modules/stat (configure.ac): ... to here.
18852
18853 2011-05-21  Bruno Haible  <bruno@clisp.org>
18854
18855         sleep: Move AC_LIBOBJ invocations to module description.
18856         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
18857         * modules/sleep (configure.ac): ... to here.
18858
18859 2011-05-21  Bruno Haible  <bruno@clisp.org>
18860
18861         signbit: Move AC_LIBOBJ invocations to module description.
18862         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
18863         * modules/signbit (configure.ac): ... to here.
18864
18865 2011-05-21  Bruno Haible  <bruno@clisp.org>
18866
18867         sigprocmask: Move AC_LIBOBJ invocations to module description.
18868         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
18869         gl_PREREQ_SIGPROMASK invocations from here...
18870         * modules/sigprocmask (configure.ac): ... to here.
18871
18872 2011-05-21  Bruno Haible  <bruno@clisp.org>
18873
18874         sigaction: Move AC_LIBOBJ invocations to module description.
18875         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
18876         gl_PREREQ_SIGACTION invocations from here...
18877         * modules/sigaction (configure.ac): ... to here.
18878
18879 2011-05-21  Bruno Haible  <bruno@clisp.org>
18880
18881         sig2str: Move AC_LIBOBJ invocations to module description.
18882         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
18883         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
18884         here...
18885         * modules/sig2str (configure.ac): ... to here.
18886
18887 2011-05-21  Bruno Haible  <bruno@clisp.org>
18888
18889         setlocale: Move AC_LIBOBJ invocations to module description.
18890         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
18891         gl_PREREQ_SETLOCALE invocations from here...
18892         * modules/setlocale (configure.ac): ... to here.
18893
18894 2011-05-21  Bruno Haible  <bruno@clisp.org>
18895
18896         unsetenv: Move AC_LIBOBJ invocations to module description.
18897         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
18898         and gl_PREREQ_UNSETENV invocations from here...
18899         * modules/unsetenv (configure.ac): ... to here.
18900         (Depends-on): Update.
18901
18902 2011-05-21  Bruno Haible  <bruno@clisp.org>
18903
18904         setenv: Move AC_LIBOBJ invocations to module description.
18905         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
18906         here...
18907         * modules/setenv (configure.ac): ... to here.
18908
18909 2011-05-21  Bruno Haible  <bruno@clisp.org>
18910
18911         selinux-h: Move AC_LIBOBJ invocations to module description.
18912         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
18913         AC_LIBOBJ invocation from here...
18914         * modules/selinux-h (configure.ac): ... to here.
18915
18916 2011-05-21  Bruno Haible  <bruno@clisp.org>
18917
18918         select: Respect rules for use of AC_LIBOBJ.
18919         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
18920         here...
18921         * modules/select (configure.ac): ... to here.
18922
18923 2011-05-21  Bruno Haible  <bruno@clisp.org>
18924
18925         scandir: Move AC_LIBOBJ invocations to module description.
18926         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
18927         invocations from here...
18928         * modules/scandir (configure.ac): ... to here.
18929
18930 2011-05-21  Bruno Haible  <bruno@clisp.org>
18931
18932         rpmatch: Move AC_LIBOBJ invocations to module description.
18933         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
18934         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
18935         here...
18936         * modules/rpmatch (configure.ac): ... to here.
18937
18938 2011-05-21  Bruno Haible  <bruno@clisp.org>
18939
18940         rmdir: Respect rules for use of AC_LIBOBJ.
18941         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
18942         * modules/rmdir (configure.ac): ... to here.
18943
18944 2011-05-21  Bruno Haible  <bruno@clisp.org>
18945
18946         renameat: Move AC_LIBOBJ invocations to module description.
18947         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
18948         here...
18949         * modules/renameat (configure.ac): ... to here.
18950
18951 2011-05-21  Bruno Haible  <bruno@clisp.org>
18952
18953         rename: Respect rules for use of AC_LIBOBJ.
18954         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
18955         here...
18956         * modules/rename (configure.ac): ... to here.
18957
18958 2011-05-21  Bruno Haible  <bruno@clisp.org>
18959
18960         remove: Move AC_LIBOBJ invocations to module description.
18961         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
18962         here...
18963         * modules/remove (configure.ac): ... to here.
18964
18965 2011-05-21  Bruno Haible  <bruno@clisp.org>
18966
18967         relocatable-lib: Move AC_LIBOBJ invocations to module description.
18968         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
18969         macro.
18970         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
18971         * modules/relocatable-lib (configure.ac): ... to here.
18972         * modules/relocatable-prog-wrapper (configure.ac): Invoke
18973         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
18974
18975 2011-05-21  Bruno Haible  <bruno@clisp.org>
18976
18977         relocatable-prog: Move AC_LIBOBJ invocations to module description.
18978         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
18979         here...
18980         * modules/relocatable-prog (configure.ac): ... to here.
18981
18982 2011-05-21  Bruno Haible  <bruno@clisp.org>
18983
18984         regex: Move AC_LIBOBJ invocations to module description.
18985         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
18986         invocations from here...
18987         * modules/regex (configure.ac): ... to here.
18988
18989 2011-05-21  Bruno Haible  <bruno@clisp.org>
18990
18991         realloc-*: Move AC_LIBOBJ invocations to module description.
18992         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
18993         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
18994         AC_LIBOBJ invocations from here...
18995         * modules/realloc-gnu (configure.ac): ... to here.
18996         * modules/realloc-posix (configure.ac): ... and here.
18997
18998 2011-05-21  Bruno Haible  <bruno@clisp.org>
18999
19000         readutmp: Move AC_LIBOBJ invocations to module description.
19001         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
19002         * modules/readutmp (configure.ac): ... to here.
19003
19004 2011-05-21  Bruno Haible  <bruno@clisp.org>
19005
19006         readlinkat: Move AC_LIBOBJ invocations to module description.
19007         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
19008         here...
19009         * modules/readlinkat (configure.ac): ... to here.
19010
19011 2011-05-21  Bruno Haible  <bruno@clisp.org>
19012
19013         readlink: Move AC_LIBOBJ invocations to module description.
19014         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
19015         gl_PREREQ_READLINK invocations from here...
19016         * modules/readlink (configure.ac): ... to here.
19017
19018 2011-05-21  Bruno Haible  <bruno@clisp.org>
19019
19020         readline: Move AC_LIBOBJ invocations to module description.
19021         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
19022         gl_PREREQ_READLINE invocations from here...
19023         * modules/readline (configure.ac): ... to here.
19024
19025 2011-05-21  Bruno Haible  <bruno@clisp.org>
19026
19027         read: Move AC_LIBOBJ invocations to module description.
19028         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
19029         * modules/read (configure.ac): ... to here.
19030
19031 2011-05-21  Bruno Haible  <bruno@clisp.org>
19032
19033         rawmemchr: Move AC_LIBOBJ invocations to module description.
19034         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
19035         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
19036         from here...
19037         * modules/rawmemchr (configure.ac): ... to here.
19038
19039 2011-05-21  Bruno Haible  <bruno@clisp.org>
19040
19041         random_r: Move AC_LIBOBJ invocations to module description.
19042         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
19043         gl_PREREQ_RANDOM_R invocations from here...
19044         * modules/random_r (configure.ac): ... to here.
19045
19046 2011-05-21  Bruno Haible  <bruno@clisp.org>
19047
19048         pwrite: Move AC_LIBOBJ invocations to module description.
19049         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
19050         * modules/pwrite (configure.ac): ... to here.
19051
19052 2011-05-21  Bruno Haible  <bruno@clisp.org>
19053
19054         putenv: Move AC_LIBOBJ invocations to module description.
19055         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
19056         * modules/putenv (configure.ac): ... to here.
19057
19058 2011-05-21  Bruno Haible  <bruno@clisp.org>
19059
19060         login_tty: Move AC_LIBOBJ invocations to module description.
19061         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
19062         * modules/login_tty (configure.ac): ... to here.
19063
19064 2011-05-21  Bruno Haible  <bruno@clisp.org>
19065
19066         openpty: Move AC_LIBOBJ invocations to module description.
19067         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
19068         * modules/openpty (configure.ac): ... to here.
19069
19070 2011-05-21  Bruno Haible  <bruno@clisp.org>
19071
19072         forkpty: Move AC_LIBOBJ invocations to module description.
19073         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
19074         * modules/forkpty (configure.ac): ... to here.
19075
19076 2011-05-21  Bruno Haible  <bruno@clisp.org>
19077
19078         ptsname: Move AC_LIBOBJ invocations to module description.
19079         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
19080         invocations from here...
19081         * modules/ptsname (configure.ac): ... to here.
19082
19083 2011-05-21  Bruno Haible  <bruno@clisp.org>
19084
19085         pread: Move AC_LIBOBJ invocations to module description.
19086         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
19087         * modules/pread (configure.ac): ... to here.
19088
19089 2011-05-21  Bruno Haible  <bruno@clisp.org>
19090
19091         posix_spawn*: Move AC_LIBOBJ invocations to module description.
19092         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
19093         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
19094         * modules/posix_spawn (configure.ac): ... to here.
19095         * modules/posix_spawnp (configure.ac): ... and here.
19096
19097 2011-05-21  Bruno Haible  <bruno@clisp.org>
19098
19099         popen: Move AC_LIBOBJ invocations to module description.
19100         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
19101         invocations from here...
19102         * modules/popen (configure.ac): ... to here.
19103
19104 2011-05-21  Bruno Haible  <bruno@clisp.org>
19105
19106         poll: Move AC_LIBOBJ invocations to module description.
19107         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
19108         invocations from here...
19109         * modules/poll (configure.ac): ... to here.
19110
19111 2011-05-21  Bruno Haible  <bruno@clisp.org>
19112
19113         pipe-posix: Move AC_LIBOBJ invocations to module description.
19114         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
19115         * modules/pipe-posix (configure.ac): ... to here.
19116
19117 2011-05-21  Bruno Haible  <bruno@clisp.org>
19118
19119         openat: Respect rules for use of AC_LIBOBJ.
19120         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
19121         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
19122         * modules/openat (configure.ac): ... to here.
19123
19124 2011-05-21  Bruno Haible  <bruno@clisp.org>
19125
19126         obstack-printf*: Move AC_LIBOBJ invocations to module description.
19127         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
19128         invocation from here...
19129         * modules/obstack-printf (configure.ac): ... to here.
19130         * modules/obstack-printf-posix (configure.ac): ... and here.
19131
19132 2011-05-21  Bruno Haible  <bruno@clisp.org>
19133
19134         nl_langinfo: Move AC_LIBOBJ invocations to module description.
19135         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
19136         from here...
19137         * modules/nl_langinfo (configure.ac): ... to here.
19138
19139 2011-05-21  Bruno Haible  <bruno@clisp.org>
19140
19141         nanosleep: Move AC_LIBOBJ invocations to module description.
19142         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
19143         gl_PREREQ_NANOSLEEP invocations from here...
19144         * modules/nanosleep (configure.ac): ... to here.
19145
19146 2011-05-21  Bruno Haible  <bruno@clisp.org>
19147
19148         mountlist: Move AC_LIBOBJ invocations to module description.
19149         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
19150         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
19151         * modules/mountlist (configure.ac): ... to here.
19152
19153 2011-05-21  Bruno Haible  <bruno@clisp.org>
19154
19155         mktime: Respect rules for use of AC_LIBOBJ.
19156         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
19157         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
19158         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
19159         (gl_FUNC_MKTIME_INTERNAL): ... and here...
19160         * modules/mktime (configure.ac): ... to here.
19161         * modules/mktime-internal (configure.ac): ... and here.
19162         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
19163
19164 2011-05-21  Bruno Haible  <bruno@clisp.org>
19165
19166         mkstemps: Move AC_LIBOBJ invocations to module description.
19167         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
19168         here...
19169         * modules/mkstemps (configure.ac): ... to here.
19170
19171 2011-05-21  Bruno Haible  <bruno@clisp.org>
19172
19173         mkstemp: Move AC_LIBOBJ invocations to module description.
19174         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
19175         gl_PREREQ_MKSTEMP invocations from here...
19176         * modules/mkstemp (configure.ac): ... to here.
19177
19178 2011-05-21  Bruno Haible  <bruno@clisp.org>
19179
19180         mkostemps: Move AC_LIBOBJ invocations to module description.
19181         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
19182         here...
19183         * modules/mkostemps (configure.ac): ... to here.
19184
19185 2011-05-21  Bruno Haible  <bruno@clisp.org>
19186
19187         mkostemp: Move AC_LIBOBJ invocations to module description.
19188         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
19189         gl_PREREQ_MKOSTEMP invocations from here...
19190         * modules/mkostemp (configure.ac): ... to here.
19191
19192 2011-05-21  Bruno Haible  <bruno@clisp.org>
19193
19194         mknod: Move AC_LIBOBJ invocations to module description.
19195         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
19196         * modules/mknod (configure.ac): ... to here.
19197
19198 2011-05-21  Bruno Haible  <bruno@clisp.org>
19199
19200         mkfifoat: Move AC_LIBOBJ invocations to module description.
19201         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
19202         here...
19203         * modules/mkfifoat (configure.ac): ... to here.
19204
19205 2011-05-21  Bruno Haible  <bruno@clisp.org>
19206
19207         mkfifo: Respect rules for use of AC_LIBOBJ.
19208         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
19209         here...
19210         * modules/mkfifo (configure.ac): ... to here.
19211
19212 2011-05-21  Bruno Haible  <bruno@clisp.org>
19213
19214         mkdtemp: Move AC_LIBOBJ invocations to module description.
19215         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
19216         invocations from here...
19217         * modules/mkdtemp (configure.ac): ... to here.
19218
19219 2011-05-21  Bruno Haible  <bruno@clisp.org>
19220
19221         mkdir: Move AC_LIBOBJ invocations to module description.
19222         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
19223         * modules/mkdir (configure.ac): ... to here.
19224
19225 2011-05-21  Bruno Haible  <bruno@clisp.org>
19226
19227         memset: Move AC_LIBOBJ invocations to module description.
19228         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
19229         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
19230         here...
19231         * modules/memset (configure.ac): ... to here.
19232
19233 2011-05-21  Bruno Haible  <bruno@clisp.org>
19234
19235         memrchr: Move AC_LIBOBJ invocations to module description.
19236         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
19237         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
19238         here...
19239         * modules/memrchr (configure.ac): ... to here.
19240
19241 2011-05-21  Bruno Haible  <bruno@clisp.org>
19242
19243         mempcpy: Move AC_LIBOBJ invocations to module description.
19244         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
19245         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
19246         here...
19247         * modules/mempcpy (configure.ac): ... to here.
19248
19249 2011-05-21  Bruno Haible  <bruno@clisp.org>
19250
19251         memmove: Move AC_LIBOBJ invocations to module description.
19252         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
19253         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
19254         here...
19255         * modules/memmove (configure.ac): ... to here.
19256
19257 2011-05-21  Bruno Haible  <bruno@clisp.org>
19258
19259         memmem*: Move AC_LIBOBJ invocations to module description.
19260         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
19261         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
19262         here...
19263         (gl_FUNC_MEMMEM): ... and here...
19264         * modules/memmem-simple (configure.ac): ... to here.
19265         * modules/memmem (configure.ac): ... and here.
19266
19267 2011-05-21  Bruno Haible  <bruno@clisp.org>
19268
19269         memcpy: Move AC_LIBOBJ invocations to module description.
19270         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
19271         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
19272         here...
19273         * modules/memcpy (configure.ac): ... to here.
19274
19275 2011-05-21  Bruno Haible  <bruno@clisp.org>
19276
19277         memcmp: Simplify autoconf macro.
19278         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
19279         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
19280         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
19281
19282 2011-05-21  Bruno Haible  <bruno@clisp.org>
19283
19284         memcmp: Move AC_LIBOBJ invocations to module description.
19285         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
19286         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
19287         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
19288         * modules/memcmp (configure.ac): ... to here.
19289         (Depends-on): Update conditions.
19290
19291 2011-05-21  Bruno Haible  <bruno@clisp.org>
19292
19293         memchr: Respect rules for use of AC_LIBOBJ.
19294         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
19295         invocations from here...
19296         * modules/memchr (configure.ac): ... to here.
19297
19298 2011-05-21  Bruno Haible  <bruno@clisp.org>
19299
19300         mbtowc: Move AC_LIBOBJ invocations to module description.
19301         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
19302         invocations from here...
19303         * modules/mbtowc (configure.ac): ... to here.
19304
19305 2011-05-21  Bruno Haible  <bruno@clisp.org>
19306
19307         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
19308         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
19309         gl_PREREQ_MBSRTOWCS invocations from here...
19310         * modules/mbsrtowcs (configure.ac): ... to here.
19311
19312 2011-05-21  Bruno Haible  <bruno@clisp.org>
19313
19314         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
19315         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
19316         gl_PREREQ_MBSNRTOWCS invocations from here...
19317         * modules/mbsnrtowcs (configure.ac): ... to here.
19318
19319 2011-05-21  Bruno Haible  <bruno@clisp.org>
19320
19321         mbsinit: Move AC_LIBOBJ invocations to module description.
19322         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
19323         invocations from here...
19324         * modules/mbsinit (configure.ac): ... to here.
19325
19326 2011-05-21  Bruno Haible  <bruno@clisp.org>
19327
19328         mbrlen: Move AC_LIBOBJ invocations to module description.
19329         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
19330         invocations from here...
19331         * modules/mbrlen (configure.ac): ... to here.
19332
19333 2011-05-21  Bruno Haible  <bruno@clisp.org>
19334
19335         mbrtowc: Respect rules for use of AC_LIBOBJ.
19336         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
19337         invocations from here...
19338         * modules/mbrtowc (configure.ac): ... to here.
19339
19340 2011-05-21  Bruno Haible  <bruno@clisp.org>
19341
19342         malloc-*: Move AC_LIBOBJ invocations to module description.
19343         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
19344         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
19345         AC_LIBOBJ invocations from here...
19346         * modules/malloc-gnu (configure.ac): ... to here.
19347         * modules/malloc-posix (configure.ac): ... and here.
19348
19349 2011-05-21  Bruno Haible  <bruno@clisp.org>
19350
19351         lstat, openat: Respect rules for use of AC_LIBOBJ.
19352         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
19353         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
19354         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
19355         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
19356         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
19357         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
19358         here.
19359         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
19360
19361 2011-05-21  Bruno Haible  <bruno@clisp.org>
19362
19363         lseek: Move AC_LIBOBJ invocations to module description.
19364         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
19365         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19366         * modules/lseek (configure.ac): ... to here.
19367
19368 2011-05-21  Bruno Haible  <bruno@clisp.org>
19369
19370         linkat: Move AC_LIBOBJ invocations to module description.
19371         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
19372         here...
19373         * modules/linkat (configure.ac): ... to here.
19374
19375 2011-05-21  Bruno Haible  <bruno@clisp.org>
19376
19377         link: Respect rules for use of AC_LIBOBJ.
19378         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
19379         * modules/link (configure.ac): ... to here.
19380
19381 2011-05-21  Bruno Haible  <bruno@clisp.org>
19382
19383         lchown: Move AC_LIBOBJ invocations to module description.
19384         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
19385         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
19386         * modules/lchown (configure.ac): ... to here.
19387
19388 2011-05-21  Bruno Haible  <bruno@clisp.org>
19389
19390         iswctype: Move AC_LIBOBJ invocations to module description.
19391         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
19392         here...
19393         * modules/iswctype (configure.ac): ... to here.
19394
19395 2011-05-21  Bruno Haible  <bruno@clisp.org>
19396
19397         iswblank: Move AC_LIBOBJ invocations to module description.
19398         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
19399         here...
19400         * modules/iswblank (configure.ac): ... to here.
19401
19402 2011-05-21  Bruno Haible  <bruno@clisp.org>
19403
19404         atanl: Move AC_LIBOBJ invocations to module description.
19405         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
19406         * modules/atanl (configure.ac): ... to here.
19407
19408 2011-05-21  Bruno Haible  <bruno@clisp.org>
19409
19410         acosl: Move AC_LIBOBJ invocations to module description.
19411         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
19412         * modules/acosl (configure.ac): ... to here.
19413
19414 2011-05-21  Bruno Haible  <bruno@clisp.org>
19415
19416         asinl: Respect rules for use of AC_LIBOBJ.
19417         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
19418         * modules/asinl (configure.ac): ... to here.
19419
19420 2011-05-21  Bruno Haible  <bruno@clisp.org>
19421
19422         tanl: Move AC_LIBOBJ invocations to module description.
19423         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
19424         * modules/tanl (configure.ac): ... to here.
19425
19426 2011-05-21  Bruno Haible  <bruno@clisp.org>
19427
19428         cosl: Move AC_LIBOBJ invocations to module description.
19429         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
19430         * modules/cosl (configure.ac): ... to here.
19431
19432 2011-05-21  Bruno Haible  <bruno@clisp.org>
19433
19434         sinl: Move AC_LIBOBJ invocations to module description.
19435         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
19436         * modules/sinl (configure.ac): ... to here.
19437
19438 2011-05-21  Bruno Haible  <bruno@clisp.org>
19439
19440         logl: Move AC_LIBOBJ invocations to module description.
19441         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
19442         * modules/logl (configure.ac): ... to here.
19443
19444 2011-05-21  Bruno Haible  <bruno@clisp.org>
19445
19446         expl: Move AC_LIBOBJ invocations to module description.
19447         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
19448         * modules/expl (configure.ac): ... to here.
19449
19450 2011-05-21  Bruno Haible  <bruno@clisp.org>
19451
19452         roundl: Move AC_LIBOBJ invocations to module description.
19453         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
19454         * modules/roundl (configure.ac): ... to here.
19455
19456 2011-05-21  Bruno Haible  <bruno@clisp.org>
19457
19458         round: Move AC_LIBOBJ invocations to module description.
19459         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
19460         * modules/round (configure.ac): ... to here.
19461
19462 2011-05-21  Bruno Haible  <bruno@clisp.org>
19463
19464         roundf: Move AC_LIBOBJ invocations to module description.
19465         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
19466         * modules/roundf (configure.ac): ... to here.
19467
19468 2011-05-21  Bruno Haible  <bruno@clisp.org>
19469
19470         truncl: Move AC_LIBOBJ invocations to module description.
19471         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
19472         * modules/truncl (configure.ac): ... to here.
19473
19474 2011-05-21  Bruno Haible  <bruno@clisp.org>
19475
19476         trunc: Move AC_LIBOBJ invocations to module description.
19477         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
19478         * modules/trunc (configure.ac): ... to here.
19479
19480 2011-05-21  Bruno Haible  <bruno@clisp.org>
19481
19482         truncf: Move AC_LIBOBJ invocations to module description.
19483         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
19484         * modules/truncf (configure.ac): ... to here.
19485
19486 2011-05-21  Bruno Haible  <bruno@clisp.org>
19487
19488         ceill: Move AC_LIBOBJ invocations to module description.
19489         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
19490         * modules/ceill (configure.ac): ... to here.
19491
19492 2011-05-21  Bruno Haible  <bruno@clisp.org>
19493
19494         ceil: Move AC_LIBOBJ invocations to module description.
19495         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
19496         * modules/ceil (configure.ac): ... to here.
19497
19498 2011-05-21  Bruno Haible  <bruno@clisp.org>
19499
19500         ceilf: Move AC_LIBOBJ invocations to module description.
19501         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
19502         * modules/ceilf (configure.ac): ... to here.
19503
19504 2011-05-21  Bruno Haible  <bruno@clisp.org>
19505
19506         floorl: Respect rules for use of AC_LIBOBJ.
19507         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
19508         * modules/floorl (configure.ac): ... to here.
19509
19510 2011-05-21  Bruno Haible  <bruno@clisp.org>
19511
19512         floor: Respect rules for use of AC_LIBOBJ.
19513         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
19514         * modules/floor (configure.ac): ... to here.
19515
19516 2011-05-21  Bruno Haible  <bruno@clisp.org>
19517
19518         floorf: Move AC_LIBOBJ invocations to module description.
19519         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
19520         * modules/floorf (configure.ac): ... to here.
19521
19522 2011-05-20  Bruno Haible  <bruno@clisp.org>
19523
19524         sqrtl: Respect rules for use of AC_LIBOBJ.
19525         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
19526         * modules/sqrtl (configure.ac): ... to here.
19527
19528 2011-05-20  Bruno Haible  <bruno@clisp.org>
19529
19530         ldexpl: Respect rules for use of AC_LIBOBJ.
19531         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
19532         * modules/ldexpl (configure.ac): ... to here.
19533
19534 2011-05-20  Bruno Haible  <bruno@clisp.org>
19535
19536         frexpl*: Respect rules for use of AC_LIBOBJ.
19537         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
19538         invocation from here...
19539         * modules/frexpl (configure.ac): ... to here.
19540         * modules/frexpl-nolibm (configure.ac): ... and here.
19541
19542 2011-05-20  Bruno Haible  <bruno@clisp.org>
19543
19544         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
19545         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
19546         invocation from here...
19547         * modules/frexp (configure.ac): ... to here.
19548         * modules/frexp-nolibm (configure.ac): ... and here.
19549
19550 2011-05-20  Bruno Haible  <bruno@clisp.org>
19551
19552         isnan: Respect rules for use of AC_LIBOBJ.
19553         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
19554         invocations here.
19555         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
19556         REPLACE_ISNAN.
19557         * modules/isnand (configure.ac): Likewise.
19558         * modules/isnanl (configure.ac): Likewise.
19559
19560 2011-05-20  Bruno Haible  <bruno@clisp.org>
19561
19562         isnanl*: Respect rules for use of AC_LIBOBJ.
19563         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
19564         invocation from here...
19565         * modules/isnanl (configure.ac): ... to here.
19566         * modules/isnanl-nolibm (configure.ac): ... and here.
19567
19568 2011-05-20  Bruno Haible  <bruno@clisp.org>
19569
19570         isnand*: Move AC_LIBOBJ invocations to module description.
19571         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
19572         invocation from here...
19573         * modules/isnand (configure.ac): ... to here.
19574         * modules/isnand-nolibm (configure.ac): ... and here.
19575
19576 2011-05-20  Bruno Haible  <bruno@clisp.org>
19577
19578         isnanf*: Move AC_LIBOBJ invocations to module description.
19579         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
19580         invocation from here...
19581         * modules/isnanf (configure.ac): ... to here.
19582         * modules/isnanf-nolibm (configure.ac): ... and here.
19583
19584 2011-05-20  Bruno Haible  <bruno@clisp.org>
19585
19586         isnan*: Separate the AC_LIBOBJ invocations.
19587         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
19588         AC_LIBOBJ invocation.
19589         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
19590         here.
19591         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
19592         AC_LIBOBJ invocation.
19593         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
19594         here.
19595         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
19596         AC_LIBOBJ invocation.
19597         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
19598         here.
19599         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
19600
19601 2011-05-08  Bruno Haible  <bruno@clisp.org>
19602
19603         isinf: Move AC_LIBOBJ invocations to module description.
19604         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
19605         * modules/isinf (configure.ac): ... to here.
19606
19607 2011-05-08  Bruno Haible  <bruno@clisp.org>
19608
19609         isfinite: Move AC_LIBOBJ invocations to module description.
19610         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
19611         * modules/isfinite (configure.ac): ... to here.
19612
19613 2011-05-08  Bruno Haible  <bruno@clisp.org>
19614
19615         isblank: Move AC_LIBOBJ invocations to module description.
19616         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
19617         here...
19618         * modules/isblank (configure.ac): ... to here.
19619
19620 2011-05-08  Bruno Haible  <bruno@clisp.org>
19621
19622         isapipe: Move AC_LIBOBJ invocations to module description.
19623         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
19624         gl_PREREQ_ISAPIPE invocations from here...
19625         * modules/isapipe (configure.ac): ... to here.
19626         (Depends-on): Update condition.
19627
19628 2011-05-08  Bruno Haible  <bruno@clisp.org>
19629
19630         ioctl: Move AC_LIBOBJ invocations to module description.
19631         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
19632         invocations from here...
19633         * modules/ioctl (configure.ac): ... to here.
19634         (Depends-on): Update condition.
19635
19636 2011-05-08  Bruno Haible  <bruno@clisp.org>
19637
19638         imaxdiv: Move AC_LIBOBJ invocations to module description.
19639         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
19640         invocations from here...
19641         * modules/imaxdiv (configure.ac): ... to here.
19642
19643 2011-05-08  Bruno Haible  <bruno@clisp.org>
19644
19645         imaxabs: Move AC_LIBOBJ invocations to module description.
19646         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
19647         invocations from here...
19648         * modules/imaxabs (configure.ac): ... to here.
19649
19650 2011-05-08  Bruno Haible  <bruno@clisp.org>
19651
19652         getaddrinfo: Move AC_LIBOBJ invocations to module description.
19653         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
19654         AC_LIBOBJ invocations from here...
19655         * modules/getaddrinfo (configure.ac): ... to here.
19656         (Depends-on): Add conditions.
19657
19658 2011-05-08  Bruno Haible  <bruno@clisp.org>
19659
19660         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
19661         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
19662         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
19663         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
19664         (gl_PREREQ_INET_PTON): ... from here.
19665         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
19666         gl_PREREQ_INET_PTON here.
19667         (Depends-on): Update condition.
19668
19669 2011-05-08  Bruno Haible  <bruno@clisp.org>
19670
19671         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
19672         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
19673         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
19674         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
19675         (gl_PREREQ_INET_NTOP): ... from here.
19676         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
19677         gl_PREREQ_INET_NTOP here.
19678         (Depends-on): Update condition.
19679
19680 2011-05-08  Bruno Haible  <bruno@clisp.org>
19681
19682         iconv_open: Move AC_LIBOBJ invocations to module description.
19683         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
19684         AC_LIBOBJ invocations from here...
19685         * modules/iconv_open (configure.ac): ... to here.
19686
19687 2011-05-08  Bruno Haible  <bruno@clisp.org>
19688
19689         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
19690         If module 'iconv_open' is among the main modules and module
19691         'iconv_open-utf' is among the tests dependencies, then
19692         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
19693         return the special iconv_t values. Therefore iconv() and iconv_close()
19694         must support these special iconv_t values, already in lib, not only in
19695         tests.
19696         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
19697         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
19698         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
19699         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
19700         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
19701         (Depends-on): Add the dependencies of iconv_open-utf.
19702         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
19703         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
19704         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
19705
19706 2011-05-08  Bruno Haible  <bruno@clisp.org>
19707
19708         group-member: Move AC_LIBOBJ invocations to module description.
19709         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
19710         gl_PREREQ_GROUP_MEMBER invocations from here...
19711         * modules/group-member (configure.ac): ... to here.
19712
19713 2011-05-08  Bruno Haible  <bruno@clisp.org>
19714
19715         grantpt: Move AC_LIBOBJ invocations to module description.
19716         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
19717         invocations from here...
19718         * modules/grantpt (configure.ac): ... to here.
19719
19720 2011-05-08  Bruno Haible  <bruno@clisp.org>
19721
19722         glob: Move AC_LIBOBJ invocations to module description.
19723         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
19724         from here...
19725         * modules/glob (configure.ac): ... to here.
19726
19727 2011-05-08  Bruno Haible  <bruno@clisp.org>
19728
19729         getusershell: Move AC_LIBOBJ invocations to module description.
19730         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
19731         Move AC_LIBOBJ invocation from here...
19732         * modules/getusershell (configure.ac): ... to here.
19733         (Depends-on): Update condition.
19734
19735 2011-05-08  Bruno Haible  <bruno@clisp.org>
19736
19737         gettimeofday: Move AC_LIBOBJ invocations to module description.
19738         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
19739         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
19740         gl_PREREQ_GETTIMEOFDAY invocations from here...
19741         * modules/gettimeofday (configure.ac): ... to here.
19742
19743 2011-05-08  Bruno Haible  <bruno@clisp.org>
19744
19745         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
19746         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
19747         just gl_FUNC_TZSET.
19748         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
19749         (gl_FUNC_TZSET_CLOBBER): Remove actions.
19750         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
19751         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
19752
19753 2011-05-08  Bruno Haible  <bruno@clisp.org>
19754
19755         getsubopt: Move AC_LIBOBJ invocations to module description.
19756         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
19757         gl_PREREQ_GETSUBOPT invocations from here...
19758         * modules/getsubopt (configure.ac): ... to here.
19759
19760 2011-05-08  Bruno Haible  <bruno@clisp.org>
19761
19762         getpass-gnu: Move AC_LIBOBJ invocations to module description.
19763         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
19764         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
19765         * modules/getpass-gnu (configure.ac): ... to here.
19766
19767 2011-05-08  Bruno Haible  <bruno@clisp.org>
19768
19769         getpass: Move AC_LIBOBJ invocations to module description.
19770         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
19771         gl_PREREQ_GETPASS invocations from here...
19772         * modules/getpass (configure.ac): ... to here.
19773
19774 2011-05-08  Bruno Haible  <bruno@clisp.org>
19775
19776         getpagesize: Move AC_LIBOBJ invocations to module description.
19777         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
19778         from here...
19779         * modules/getpagesize (configure.ac): ... to here.
19780
19781 2011-05-08  Bruno Haible  <bruno@clisp.org>
19782
19783         getopt: Move AC_LIBOBJ invocations to module description.
19784         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
19785         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
19786         invocations from here...
19787         * modules/getopt-gnu (configure.ac): ... to here.
19788         * modules/getopt-posix (configure.ac): ... and here.
19789         (Depends-on): Update condition.
19790
19791 2011-05-08  Bruno Haible  <bruno@clisp.org>
19792
19793         getopt, argp: Respect rules for use of AC_LIBOBJ.
19794         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
19795         (gl_REPLACE_GETOPT_ALWAYS): New macro.
19796         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
19797         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
19798
19799 2011-05-08  Bruno Haible  <bruno@clisp.org>
19800
19801         getlogin_r: Move AC_LIBOBJ invocations to module description.
19802         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
19803         gl_PREREQ_GETLOGIN_R invocations from here...
19804         * modules/getlogin_r (configure.ac): ... to here.
19805
19806 2011-05-08  Bruno Haible  <bruno@clisp.org>
19807
19808         getlogin: Move AC_LIBOBJ invocations to module description.
19809         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
19810         here...
19811         * modules/getlogin (configure.ac): ... to here.
19812
19813 2011-05-08  Bruno Haible  <bruno@clisp.org>
19814
19815         getloadavg: Move AC_LIBOBJ invocations to module description.
19816         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
19817         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
19818         * modules/getloadavg (configure.ac): ... to here.
19819
19820 2011-05-08  Bruno Haible  <bruno@clisp.org>
19821
19822         gethrxtime: Move AC_LIBOBJ invocations to module description.
19823         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
19824         LIB_GETHRXTIME from here...
19825         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
19826         invocations from here...
19827         * modules/gethrxtime (configure.ac): ... to here.
19828
19829 2011-05-08  Bruno Haible  <bruno@clisp.org>
19830
19831         gethostname: Move AC_LIBOBJ invocations to module description.
19832         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
19833         gl_PREREQ_GETHOSTNAME invocations from here...
19834         * modules/gethostname (configure.ac): ... to here.
19835
19836 2011-05-08  Bruno Haible  <bruno@clisp.org>
19837
19838         getgroups: Move AC_LIBOBJ invocations to module description.
19839         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
19840         here...
19841         * modules/getgroups (configure.ac): ... to here.
19842
19843 2011-05-08  Bruno Haible  <bruno@clisp.org>
19844
19845         getdtablesize: Move AC_LIBOBJ invocations to module description.
19846         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
19847         invocation from here...
19848         * modules/getdtablesize (configure.ac): ... to here.
19849
19850 2011-05-08  Bruno Haible  <bruno@clisp.org>
19851
19852         getdomainname: Move AC_LIBOBJ invocations to module description.
19853         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
19854         gl_PREREQ_GETDOMAINNAME invocations from here...
19855         * modules/getdomainname (configure.ac): ... to here.
19856
19857 2011-05-08  Bruno Haible  <bruno@clisp.org>
19858
19859         getline: Move AC_LIBOBJ invocations to module description.
19860         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
19861         invocations from here...
19862         * modules/getline (configure.ac): ... to here.
19863
19864 2011-05-08  Bruno Haible  <bruno@clisp.org>
19865
19866         getline: Simplify.
19867         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
19868         It's already handled through the module dependency.
19869
19870 2011-05-08  Bruno Haible  <bruno@clisp.org>
19871
19872         getdelim: Move AC_LIBOBJ invocations to module description.
19873         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
19874         and gl_PREREQ_GETDELIM invocations from here...
19875         * modules/getdelim (configure.ac): ... to here.
19876         (Depends-on): Fix condition.
19877
19878 2011-05-08  Bruno Haible  <bruno@clisp.org>
19879
19880         getcwd: Move AC_LIBOBJ invocations to module description.
19881         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
19882         invocations from here...
19883         * modules/getcwd (configure.ac): ... to here.
19884
19885 2011-05-08  Bruno Haible  <bruno@clisp.org>
19886
19887         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
19888         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
19889         here...
19890         * modules/getcwd-lgpl (configure.ac): ... to here.
19891
19892 2011-05-07  Bruno Haible  <bruno@clisp.org>
19893
19894         crypto/gc: Move AC_LIBOBJ invocations to module description.
19895         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
19896         * modules/crypto/gc (configure.ac): ... to here.
19897
19898 2011-05-07  Bruno Haible  <bruno@clisp.org>
19899
19900         fwriting: Move AC_LIBOBJ invocations to module description.
19901         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
19902         here...
19903         * modules/fwriting (configure.ac): ... to here.
19904
19905 2011-05-07  Bruno Haible  <bruno@clisp.org>
19906
19907         fwritable: Move AC_LIBOBJ invocations to module description.
19908         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
19909         here...
19910         * modules/fwritable (configure.ac): ... to here.
19911
19912 2011-05-07  Bruno Haible  <bruno@clisp.org>
19913
19914         futimens: Move AC_LIBOBJ invocations to module description.
19915         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
19916         here...
19917         * modules/futimens (configure.ac): ... to here.
19918
19919 2011-05-07  Bruno Haible  <bruno@clisp.org>
19920
19921         ftruncate: Move AC_LIBOBJ invocations to module description.
19922         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
19923         gl_PREREQ_FTRUNCATE invocations from here...
19924         * modules/ftruncate (configure.ac): ... to here.
19925
19926 2011-05-07  Bruno Haible  <bruno@clisp.org>
19927
19928         fsync: Move AC_LIBOBJ invocations to module description.
19929         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
19930         invocations from here...
19931         * modules/fsync (configure.ac): ... to here.
19932
19933 2011-05-07  Bruno Haible  <bruno@clisp.org>
19934
19935         fsusage: Move AC_LIBOBJ invocations to module description.
19936         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
19937         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
19938         * modules/fsusage (configure.ac): ... to here.
19939
19940 2011-05-07  Bruno Haible  <bruno@clisp.org>
19941
19942         freopen: Move AC_LIBOBJ invocations to module description.
19943         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
19944         invocations from here...
19945         * modules/freopen (configure.ac): ... to here.
19946
19947 2011-05-07  Bruno Haible  <bruno@clisp.org>
19948
19949         free: Move AC_LIBOBJ invocations to module description.
19950         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
19951         invocations from here...
19952         * modules/free (configure.ac): ... to here.
19953
19954 2011-05-07  Bruno Haible  <bruno@clisp.org>
19955
19956         freadable: Move AC_LIBOBJ invocations to module description.
19957         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
19958         here...
19959         * modules/freadable (configure.ac): ... to here.
19960
19961 2011-05-07  Bruno Haible  <bruno@clisp.org>
19962
19963         fpurge: Move AC_LIBOBJ invocations to module description.
19964         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
19965         invocations from here...
19966         * modules/fpurge (configure.ac): ... to here.
19967
19968 2011-05-07  Bruno Haible  <bruno@clisp.org>
19969
19970         fpending: Move AC_LIBOBJ invocations to module description.
19971         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
19972         gl_FUNC_FPENDING.
19973         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
19974         invocations from here...
19975         * modules/fpending (configure.ac): ... to here.
19976
19977 2011-05-07  Bruno Haible  <bruno@clisp.org>
19978
19979         fopen: Move AC_LIBOBJ invocations to module description.
19980         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
19981         invocations from here...
19982         * modules/fopen (configure.ac): ... to here.
19983
19984 2011-05-07  Bruno Haible  <bruno@clisp.org>
19985
19986         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
19987         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
19988         gl_FUNC_FNMATCH_POSIX.
19989         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
19990         invocations from here...
19991         * modules/fnmatch (configure.ac): ... to here.
19992         * modules/fnmatch-gnu (configure.ac): ... and here.
19993
19994 2011-05-07  Bruno Haible  <bruno@clisp.org>
19995
19996         flock: Move AC_LIBOBJ invocations to module description.
19997         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
19998         invocations from here...
19999         * modules/flock (configure.ac): ... to here.
20000
20001 2011-05-07  Bruno Haible  <bruno@clisp.org>
20002
20003         fileblocks: Move AC_LIBOBJ invocations to module description.
20004         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
20005         gl_PREREQ_FILEBLOCKS invocations from here...
20006         * modules/fileblocks (configure.ac): ... to here.
20007
20008 2011-05-06  Bruno Haible  <bruno@clisp.org>
20009
20010         fflush: Move AC_LIBOBJ invocations to module description.
20011         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
20012         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
20013         invocations from here...
20014         * modules/fflush (configure.ac): ... to here.
20015
20016 2011-05-06  Bruno Haible  <bruno@clisp.org>
20017
20018         fdopendir: Move AC_LIBOBJ invocations to module description.
20019         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
20020         here...
20021         * modules/fdopendir (configure.ac): ... to here.
20022         (Depends-on): Improve conditions.
20023
20024 2011-05-06  Bruno Haible  <bruno@clisp.org>
20025
20026         _Exit: Move AC_LIBOBJ invocations to module description.
20027         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
20028         invocations from here...
20029         * modules/_Exit (configure.ac): ... to here.
20030
20031 2011-05-21  Bruno Haible  <bruno@clisp.org>
20032
20033         euidaccess: Respect rules for use of AC_LIBOBJ.
20034         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
20035         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
20036         from here...
20037         * modules/euidaccess (configure.ac): ... to here.
20038
20039 2011-05-06  Bruno Haible  <bruno@clisp.org>
20040
20041         error: Move AC_LIBOBJ invocations to module description.
20042         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
20043         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
20044         invocations from here...
20045         * modules/error (configure.ac): ... to here.
20046
20047 2011-05-06  Bruno Haible  <bruno@clisp.org>
20048
20049         duplocale: Move AC_LIBOBJ invocations to module description.
20050         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
20051         gl_PREREQ_DUPLOCALE invocations from here...
20052         * modules/duplocale (configure.ac): ... to here.
20053
20054 2011-05-05  Bruno Haible  <bruno@clisp.org>
20055
20056         dirfd: Move AC_LIBOBJ invocations to module description.
20057         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
20058         gl_FUNC_DIRFD.
20059         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
20060         here...
20061         * modules/dirfd (configure.ac): ... to here.
20062         (Depends-on): Fix condition.
20063
20064 2011-05-05  Bruno Haible  <bruno@clisp.org>
20065
20066         chown: Respect rules for use of AC_LIBOBJ.
20067         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
20068         * modules/chown (configure.ac): ... to here.
20069
20070 2011-05-05  Bruno Haible  <bruno@clisp.org>
20071
20072         chdir-long: Move AC_LIBOBJ invocations to module description.
20073         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
20074         gl_PREREQ_CHDIR_LONG invocations from here...
20075         * modules/chdir-long (configure.ac): ... to here.
20076
20077 2011-05-05  Bruno Haible  <bruno@clisp.org>
20078
20079         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
20080         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
20081         from here...
20082         * modules/canonicalize-lgpl (configure.ac): ... to here.
20083
20084 2011-05-05  Bruno Haible  <bruno@clisp.org>
20085
20086         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
20087         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
20088         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
20089         REPLACE_CALLOC.
20090         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
20091         * modules/calloc-gnu (configure.ac): Likewise.
20092
20093 2011-05-05  Bruno Haible  <bruno@clisp.org>
20094
20095         btowc: Move AC_LIBOBJ invocations to module description.
20096         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
20097         invocations from here...
20098         * modules/btowc (configure.ac): ... to here.
20099
20100 2011-05-21  Bruno Haible  <bruno@clisp.org>
20101
20102         atexit: Move AC_LIBOBJ invocations to module description.
20103         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
20104         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
20105         here...
20106         * modules/atexit (configure.ac): ... to here.
20107
20108 2011-05-05  Bruno Haible  <bruno@clisp.org>
20109
20110         atoll: Move AC_LIBOBJ invocations to module description.
20111         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
20112         invocations from here...
20113         * modules/atoll (configure.ac): ... to here.
20114
20115 2011-05-05  Bruno Haible  <bruno@clisp.org>
20116
20117         argz: Move AC_LIBOBJ invocations to module description.
20118         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
20119         * modules/argz (configure.ac): ... to here.
20120
20121 2011-05-05  Bruno Haible  <bruno@clisp.org>
20122
20123         alphasort: Move AC_LIBOBJ invocations to module description.
20124         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
20125         gl_PREREQ_ALPHASORT invocations from here...
20126         * modules/alphasort (configure.ac): ... to here.
20127
20128 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
20129
20130         verify: new macro verify_expr; verify_true deprecated
20131         * NEWS: Mention this.
20132         * doc/verify.texi (Compile-time Assertions): Document this.
20133         * lib/verify.h (verify_true): Deprecate.
20134         (verify_expr): New macro.
20135         * tests/test-verify.c (function): Test verify_expr.
20136
20137 2011-06-14  Jim Meyering  <meyering@redhat.com>
20138
20139         init.sh: give more portable redirection-related advice in a comment
20140         * tests/init.sh (stderr_fileno_): Update the advice in comments.
20141         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
20142         for lots of discussion.  Stefano Lattarini suggested the solution
20143         of putting "9>&2" after the command.  Reported by Bruno Haible.
20144
20145 2011-06-13  Bruno Haible  <bruno@clisp.org>
20146
20147         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
20148         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
20149         'none'.
20150
20151 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
20152
20153         ftoastr: use strtof only if HAVE_STRTOF
20154         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
20155         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
20156         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
20157         * modules/ftoastr (configure.ac): Check for strtof.
20158
20159 2011-06-13  Bruno Haible  <bruno@clisp.org>
20160
20161         gnulib-tool: Addendum to 2011-06-08 commit.
20162         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
20163         and --witness-c-macro have been given, augment AM_CPPFLAGS.
20164
20165 2011-06-13  Bruno Haible  <bruno@clisp.org>
20166
20167         fseeko: Provide a non-inline replacement of fseek().
20168         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
20169         * modules/fseeko (Depends-on): Add fseek.
20170         * modules/fseek (License): Change to LGPLv2+.
20171
20172 2011-06-13  Bruno Haible  <bruno@clisp.org>
20173
20174         ftello: Provide a non-inline replacement of ftell().
20175         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
20176         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
20177         not have ftello() (such as on mingw).
20178         * modules/ftello (Depends-on): Add ftell.
20179         * modules/ftell (License): Change to LGPLv2+.
20180
20181 2011-05-07  Bruno Haible  <bruno@clisp.org>
20182
20183         ftell: Move AC_LIBOBJ invocations to module description.
20184         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
20185         * modules/ftell (configure.ac): ... to here.
20186
20187 2011-05-07  Bruno Haible  <bruno@clisp.org>
20188
20189         ftello: Respect rules for use of AC_LIBOBJ.
20190         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
20191         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
20192         here...
20193         * modules/ftello (configure.ac): ... to here.
20194
20195 2011-05-07  Bruno Haible  <bruno@clisp.org>
20196
20197         fseeko: Simplify.
20198         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
20199         (gl_FUNC_FSEEKO): Inline it here.
20200
20201 2011-05-07  Bruno Haible  <bruno@clisp.org>
20202
20203         fseek: Move AC_LIBOBJ invocations to module description.
20204         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
20205         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
20206         * modules/fseek (configure.ac): ... to here.
20207
20208 2011-05-07  Bruno Haible  <bruno@clisp.org>
20209
20210         fseek: Respect rules for use of AC_LIBOBJ.
20211         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
20212         here...
20213         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
20214
20215 2011-05-07  Bruno Haible  <bruno@clisp.org>
20216
20217         fseeko: Respect rules for use of AC_LIBOBJ.
20218         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
20219         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
20220         here...
20221         * modules/fseeko (configure.ac): ... to here.
20222
20223 2011-06-13  Bruno Haible  <bruno@clisp.org>
20224
20225         gnulib-tool: Allow comments in the 'Depends-on' section.
20226         * doc/gnulib.texi (Module description): Mention comment syntax in the
20227         Depends-on section.
20228         * gnulib-tool (func_get_dependencies): Filter out comment lines.
20229
20230 2011-06-13  Bruno Haible  <bruno@clisp.org>
20231
20232         file-set.h: guard __attibute__ use, now that it's not always defined
20233         * lib/file-set.h (record_file): Use __attribute__ only with compiler
20234         versions that support it.  This fixes a coreutils build failure with
20235         the vendor cc on HP-UX 11.31.
20236
20237 2011-06-12  Bruno Haible  <bruno@clisp.org>
20238
20239         acl: Add support for HP-UX >= 11.11 JFS ACLs.
20240         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
20241         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
20242         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
20243         (acl, aclsort): New declarations.
20244         (aclv_nontrivial): New declaration.
20245         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
20246         (file_has_acl): Read also the second kind of HP-UX ACLs.
20247         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
20248         kind of HP-UX ACLs if the first kind fails.
20249         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
20250         second kind of HP-UX ACLs.
20251         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
20252         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
20253         agree.
20254         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
20255         hpuxjfs.
20256         Handle hpuxjfs.
20257         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
20258         hpuxjfs.
20259         Handle hpuxjfs.
20260         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
20261         (func_test_same_acls): Use both lsacl and getacl.
20262         Handle hpuxjfs.
20263         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
20264         (func_test_same_acls): Use both lsacl and getacl.
20265         Handle hpuxjfs.
20266
20267 2011-06-12  Bruno Haible  <bruno@clisp.org>
20268
20269         acl: Complete the 2010-08-10 fix.
20270         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
20271         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
20272         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
20273         explicitly.
20274         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
20275         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
20276
20277 2011-06-12  Bruno Haible  <bruno@clisp.org>
20278
20279         spawn-pipe tests: Comments.
20280         * tests/test-spawn-pipe-child.c (main): Update comment.
20281         Reported by James Youngman <jay@gnu.org>.
20282
20283 2011-06-11  James Youngman  <jay@gnu.org>
20284
20285         New module 'stat-size'.
20286         * modules/stat-size: New module.  Provides macros for accessing
20287         file size information in instances of struct stat.  Depends on the
20288         fileblocks module because it calls st_blocks.
20289         * lib/stat-size.h: New file, adapted from coreutils' system.h.
20290         * doc/gnulib.texi: Include stat-size.texi.
20291         * doc/stat-size.texi: Documentation for this module.
20292         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
20293         * m4/fileblocks.m4: Mention that stat-size depends on the call to
20294         AC_STRUCT_ST_BLOCKS.
20295
20296 2011-06-09  Bruno Haible  <bruno@clisp.org>
20297
20298         thread: Support pthreads-win32.
20299         * lib/glthread/thread.h (gl_thread_self): Define differently on
20300         pthreads-win32.
20301         (gl_null_thread): New declaration.
20302         (gl_thread_self_pointer): New macro.
20303         * lib/glthread/thread.c (gl_null_thread): New constant.
20304         * tests/test-lock.c: Use gl_thread_self_pointer instead of
20305         gl_thread_self.
20306         * tests/test-tls.c: Likewise.
20307         Suggested by Paul Eggert. Reported by Eric Blake.
20308
20309 2011-06-09  Bruno Haible  <bruno@clisp.org>
20310
20311         thread: Fix confusion between NULL and 0.
20312         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
20313         Reported by Paul Eggert.
20314
20315 2011-06-09  Bruno Haible  <bruno@clisp.org>
20316
20317         spawn-pipe tests: Avoid test failure on HP-UX 11.
20318         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
20319         is closed.
20320
20321 2011-06-09  Bruno Haible  <bruno@clisp.org>
20322
20323         acl tests: Fix compilation error on HP-UX 11.
20324         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
20325
20326 2011-06-09  Bruno Haible  <bruno@clisp.org>
20327
20328         rmdir: Avoid test failure on HP-UX 10.20.
20329         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
20330         EEXIST.
20331
20332 2011-06-08  Eric Blake  <eblake@redhat.com>
20333
20334         perror: fix test on mingw
20335         * modules/perror-tests (Depends-on): Add dup2.
20336
20337         strerror_r-posix: fix on MacOS
20338         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
20339         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
20340         logic bug.
20341         * lib/strerror_r.c (strerror_r): Fix the bug.
20342         * lib/strerror.c (strerror): Likewise.
20343         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
20344         problem.
20345         * doc/posix-functions/strerror.texi (strerror): Likewise.
20346         * doc/posix-functions/perror.texi (perror): Likewise.
20347         * tests/test-strerror.c (main): Enhance test.
20348         * tests/test-strerror_r.c (main): Likewise.
20349
20350 2011-06-08  Bruno Haible  <bruno@clisp.org>
20351
20352         gnulib-tool: Better isolation between different gnulib-tool invocations.
20353         * gnulib-tool: New option --witness-c-macro.
20354         (witness_c_macro): New variable.
20355         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
20356         AM_CPPFLAGS define it as a C macro.
20357         (func_emit_tests_Makefile_am): Likewise.
20358         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
20359         read it from there.
20360         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
20361         m4_define, not AC_DEFUN.
20362         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
20363         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
20364         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
20365         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
20366         s|...|...|, to substitute the values of the GNULIB_* module indicator
20367         variables.
20368         * modules/dirent (Makefile.am): Likewise.
20369         * modules/fcntl-h (Makefile.am): Likewise.
20370         * modules/iconv-h (Makefile.am): Likewise.
20371         * modules/langinfo (Makefile.am): Likewise.
20372         * modules/locale (Makefile.am): Likewise.
20373         * modules/math (Makefile.am): Likewise.
20374         * modules/netdb (Makefile.am): Likewise.
20375         * modules/poll-h (Makefile.am): Likewise.
20376         * modules/pty (Makefile.am): Likewise.
20377         * modules/search (Makefile.am): Likewise.
20378         * modules/signal (Makefile.am): Likewise.
20379         * modules/spawn (Makefile.am): Likewise.
20380         * modules/stdio (Makefile.am): Likewise.
20381         * modules/stdlib (Makefile.am): Likewise.
20382         * modules/string (Makefile.am): Likewise.
20383         * modules/sys_ioctl (Makefile.am): Likewise.
20384         * modules/sys_select (Makefile.am): Likewise.
20385         * modules/sys_socket (Makefile.am): Likewise.
20386         * modules/sys_stat (Makefile.am): Likewise.
20387         * modules/sys_times (Makefile.am): Likewise.
20388         * modules/sys_utsname (Makefile.am): Likewise.
20389         * modules/sys_wait (Makefile.am): Likewise.
20390         * modules/termios (Makefile.am): Likewise.
20391         * modules/time (Makefile.am): Likewise.
20392         * modules/unistd (Makefile.am): Likewise.
20393         * modules/wchar (Makefile.am): Likewise.
20394
20395 2011-06-08  Eric Blake  <eblake@redhat.com>
20396
20397         strerror: simplify replacement
20398         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
20399         * modules/strerror (configure.ac): No prereqs needed here...
20400         * modules/strerror-override (configure.ac): ...but this needs it.
20401         (Files): Add file for needed prereq macro.
20402
20403 2011-06-08  Bruno Haible  <bruno@clisp.org>
20404
20405         strerror_r-posix: Tweaks.
20406         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
20407         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
20408         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
20409         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
20410         (gl_FUNC_STRERROR_R): ... to here.
20411         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
20412
20413 2011-06-07  Eric Blake  <eblake@redhat.com>
20414
20415         perror: document fixed bugs
20416         * doc/posix-functions/perror.texi (perror): Document recent
20417         patches.
20418
20419 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
20420
20421         stat-time: get_stat_birthtime failure is better-defined
20422         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
20423         return a timestamp whose tv_sec and tv_nsec values are both -1.
20424         Previously, the spec said only that the tv_nsec value was negative.
20425         This upward-compatible change simplifies GNU tar a bit.
20426
20427 2011-06-07  Eric Blake  <eblake@redhat.com>
20428
20429         strerror_r-posix: work around cygwin 1.7.9
20430         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
20431         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
20432         bug without replacing strerror_r.
20433         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
20434         strerror_r is buggy, but without requiring strerror_r compilation.
20435         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
20436
20437         test-perror: relax test to ignore cygwin bug
20438         * tests/test-perror2.c (main): Relax test on requiring detection
20439         of stream errors, and use unbuffered stream.
20440         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
20441         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
20442         * doc/posix-functions/fputc.texi (fputc): Likewise.
20443         * doc/posix-functions/fputs.texi (fputs): Likewise.
20444         * doc/posix-functions/fputws.texi (fputws): Likewise.
20445         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
20446         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
20447         * doc/posix-functions/getopt.texi (getopt): Likewise.
20448         * doc/posix-functions/perror.texi (perror): Likewise.
20449         * doc/posix-functions/printf.texi (printf): Likewise.
20450         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
20451         * doc/posix-functions/psignal.texi (psignal): Likewise.
20452         * doc/posix-functions/putc.texi (putc): Likewise.
20453         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
20454         Likewise.
20455         * doc/posix-functions/putchar.texi (putchar): Likewise.
20456         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
20457         Likewise.
20458         * doc/posix-functions/puts.texi (puts): Likewise.
20459         * doc/posix-functions/putwc.texi (putwc): Likewise.
20460         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
20461         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
20462         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20463         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
20464         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20465         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
20466         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
20467         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
20468
20469 2011-05-22  Bruno Haible  <bruno@clisp.org>
20470
20471         strerror: Move AC_LIBOBJ invocations to module description.
20472         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
20473         gl_PREREQ_STRERROR invocations from here...
20474         * modules/strerror (configure.ac): ... to here.
20475
20476 2011-05-21  Bruno Haible  <bruno@clisp.org>
20477
20478         perror: Use common idiom.
20479         * modules/perror (configure.ac): Reorder statements.
20480
20481 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
20482
20483         tests: fix usage message in 'mktempd_'
20484         * tests/init.sh (mktempd_): In the usage message, use literal
20485         'mktempd_', not '$ME' (which is even undefined), as the name of
20486         the subroutine.
20487
20488 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
20489
20490         tests init: new function 'fatal_', for hard errors
20491         Before this patch, the only way offered by tests/init.sh to
20492         properly signal a hard error was the `framework_failure_'
20493         function.  But the error message issued by that function,
20494         as its name would suggest, refers to a set-up failure in the
20495         testsuite, while hard errors can obviously also be due to
20496         other reasons.  The best way to fix this inconsistency is to
20497         introduce a new function with a more general error message.
20498         * tests/init.sh (fatal_): New function.
20499
20500 2011-06-06  Eric Blake  <eblake@redhat.com>
20501
20502         canonicalize-lgpl: use common idiom
20503         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
20504         over newer POSIX -Rf.
20505         Reported by Bruno Haible.
20506
20507         canonicalize-lgpl: work around AIX realpath bug
20508         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
20509         * doc/posix-functions/realpath.texi (realpath): Document it.
20510         Reported by Bruno Haible.
20511
20512         strerror: work around FreeBSD bug
20513         * lib/strerror.c (strerror): Special case 0.
20514         Reported by Bruno Haible.
20515
20516         strerror-override: avoid bloating errno module
20517         * modules/errno (Files, configure.ac): Move replacement strings...
20518         * modules/strerror-override: ...to new module.
20519         * modules/strerror (Depends-on): Add strerror-override.
20520         * modules/strerror_r-posix (Depends-on): Likewise.
20521         * MODULES.html.sh: Document new module.
20522         Reported by Bruno Haible.
20523
20524 2011-06-06  Bruno Haible  <bruno@clisp.org>
20525
20526         spawn-pipe tests: Rename program.
20527         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
20528         * tests/test-spawn-pipe-child.c: Update comment.
20529         * tests/test-spawn-pipe.sh: Update.
20530         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
20531
20532         spawn-pipe tests: Link the child program only against libc.
20533         * tests/test-spawn-pipe-child.c: New file, extracted from
20534         tests/test-spawn-pipe.c.
20535         (main): Expect only one argument.
20536         (is_open): New function, copied from tests/test-pipe.c.
20537         * tests/test-spawn-pipe.c: Don't include <errno.h>.
20538         (child_main): Remove function.
20539         (test_pipe): Pass only one argument to the child program.
20540         (main): Remove child process code. Expect the child program's name as
20541         first argument.
20542         * tests/test-spawn-pipe.sh: Pass the child program's name as first
20543         argument.
20544         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
20545         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
20546         test-spawn-pipe-child against no libraries.
20547
20548 2011-06-06  Bruno Haible  <bruno@clisp.org>
20549
20550         careadlinkat: Avoid mismatch between ssize_t and int.
20551         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
20552         * lib/careadlinkat.c (careadlinkatcwd): Define always.
20553
20554 2011-06-06  Jim Meyering  <meyering@redhat.com>
20555
20556         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
20557         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
20558         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
20559
20560 2011-06-05  Bruno Haible  <bruno@clisp.org>
20561
20562         ansi-c++-opt: Interoperability with libtool.
20563         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
20564         set the variable to "no", not to ":".
20565         * NEWS: Mention the change.
20566
20567 2011-06-05  Bruno Haible  <bruno@clisp.org>
20568
20569         acl: Fix test failure on AIX 7.
20570         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
20571         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
20572
20573 2011-06-05  Bruno Haible  <bruno@clisp.org>
20574
20575         pipe-filter-ii: Fix test failure on AIX and IRIX.
20576         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
20577         with EAGAIN, retry with a smaller buffer size.
20578
20579 2011-06-05  Bruno Haible  <bruno@clisp.org>
20580
20581         localename: Fix link dependencies.
20582         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
20583         * modules/localename-tests (Makefile.am): Link test-localename with
20584         $(LIBTHREAD).
20585
20586 2011-06-05  Bruno Haible  <bruno@clisp.org>
20587
20588         error: Avoid gcc warning.
20589         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
20590
20591 2011-06-05  Bruno Haible  <bruno@clisp.org>
20592
20593         unsetenv: Avoid gcc warning.
20594         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
20595
20596 2011-06-05  Bruno Haible  <bruno@clisp.org>
20597
20598         setenv: Avoid gcc warning.
20599         * lib/setenv.c (setenv): Provide declaration if system lacks it.
20600
20601 2011-06-05  Bruno Haible  <bruno@clisp.org>
20602
20603         sys_select: Ensure memset is declared also on AIX 7.
20604         * lib/sys_select.in.h: Include <string.h> also on AIX.
20605         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
20606         self-contained also on AIX 7.1.
20607
20608 2011-06-04  Jim Meyering  <meyering@redhat.com>
20609
20610         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
20611         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
20612         function name, "error".
20613         (_gl_translatable_diag_func_re): New configurable variable.
20614
20615 2011-06-04  Bruno Haible  <bruno@clisp.org>
20616
20617         getopt: Avoid gcc warning.
20618         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
20619
20620 2011-06-04  Bruno Haible  <bruno@clisp.org>
20621
20622         strerror_r: Fix comments.
20623         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
20624         commit.
20625
20626 2011-06-04  Bruno Haible  <bruno@clisp.org>
20627
20628         perror: Fix compilation error.
20629         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
20630         Undefine fprintf, not sprintf.
20631         * modules/perror (Depends-on): Remove intprops, verify.
20632
20633 2011-06-04  Bruno Haible  <bruno@clisp.org>
20634
20635         setlocale: Enable replacement on Cygwin 1.5.
20636         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
20637         Cygwin 1.5.x.
20638         * doc/posix-functions/setlocale.texi: Mention that the problem with the
20639         LC_CTYPE category also exists on Cygwin 1.5.x.
20640
20641 2011-06-04  Bruno Haible  <bruno@clisp.org>
20642
20643         strerror-override: Don't disable symbol renamings.
20644         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
20645         * lib/strerror-override.c: Include config.h.
20646         (strerror_override): Don't undefine.
20647
20648 2011-06-03  Bruno Haible  <bruno@clisp.org>
20649
20650         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
20651         * lib/localename.h: Update copyright header.
20652         * lib/localename.c: Likewise.
20653         * lib/relocatable.h: Likewise.
20654         * lib/relocatable.c: Likewise.
20655
20656 2011-06-02  Bruno Haible  <bruno@clisp.org>
20657
20658         doc: Fix a module name.
20659         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
20660
20661 2011-06-02  Bruno Haible  <bruno@clisp.org>
20662
20663         pipe2: Remove dependency on 'nonblocking' module.
20664         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
20665         O_NONBLOCK is defined by gnulib.
20666         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
20667         is zero.
20668         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
20669         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
20670         defined by gnulib.
20671         (get_nonblocking_flag): New function.
20672         (main): Test O_NONBLOCK flag only if it is nonzero.
20673         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
20674
20675 2011-06-03  Jim Meyering  <meyering@redhat.com>
20676
20677         maint: three new prohibit-header-without-use rules
20678         Prohibit use of cloexec.h, posixver.h, same.h without use.
20679         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
20680         (sc_prohibit_posixver_without_use): Likewise.
20681         (sc_prohibit_same_without_use): Likewise.
20682
20683 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20684
20685         allocator: 'die' routine is now given requested size
20686         * lib/allocator.h (struct allocator.die): New size arg.
20687         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
20688         If the actual problem is an ssize_t limitation, not a size_t or
20689         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
20690
20691 2011-06-01  Eric Blake  <eblake@redhat.com>
20692
20693         strerror: drop strerror_r dependency
20694         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
20695         * lib/strerror-override.c (strerror_override): ...to new file.
20696         * lib/strerror-override.h: Add prototype.
20697         * lib/strerror-impl.h: Delete.
20698         * lib/strerror.c (strerror): New implementation.
20699         * modules/errno (Files): Add new files.
20700         (configure.ac): Compile new file as appropriate.
20701         * modules/strerror (Files): Drop unused file.
20702         (Depends-on): Drop strerror_r-posix.
20703         * MODULES.html.sh: Document strerror_r-posix.
20704         Requested by Sam Steingold.
20705
20706         perror: call strerror_r directly
20707         * modules/perror (Files): Drop strerror-impl.h.
20708         * lib/perror.c (perror): Use our own stack buffer, rather than
20709         calling a wrapper that uses static storage.
20710         * doc/posix-functions/perror.texi (perror): Document a limitation
20711         of our replacement.
20712
20713         strerror_r: fix includes for FreeBSD
20714         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
20715         since we use abort on some platforms.
20716         Reported by Matthias Bolte.
20717
20718 2011-05-31  Bruno Haible  <bruno@clisp.org>
20719
20720         Fix link errors in tests: openat-die uses gettext-h.
20721         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
20722         against $(LIBINTL).
20723         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
20724         against $(LIBINTL).
20725         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
20726         $(LIBINTL).
20727         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
20728         against $(LIBINTL).
20729         * modules/linkat-tests (Makefile.am): Link test-linkat against
20730         $(LIBINTL).
20731         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
20732         $(LIBINTL).
20733         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
20734         against $(LIBINTL).
20735         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
20736         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
20737         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
20738         $(LIBINTL).
20739         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
20740         $(LIBINTL).
20741         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
20742         $(LIBINTL).
20743         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20744
20745 2011-05-31  Bruno Haible  <bruno@clisp.org>
20746
20747         Fix link errors in tests: wait-process uses gettext-h.
20748         * modules/nonblocking-pipe-tests (Makefile.am): Set
20749         test_nonblocking_pipe_main_LDADD.
20750         * modules/nonblocking-socket-tests (Makefile.am): Link
20751         test-nonblocking-socket-main against $(LIBINTL).
20752         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20753
20754 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
20755
20756         assert-h: work around 'verify' incompatibility
20757         * lib/verify.h: Use @...@ directives, not ifdef.
20758         * modules/assert-h (assert.h): Implement the directives.
20759         (assert.h): Substitute the symbol-prefix more consistently.
20760
20761 2011-05-29  Jim Meyering  <meyering@redhat.com>
20762
20763         trim: remove three superfluous assignments
20764         * lib/trim.c (trim2): Remove three superfluous assignments
20765         and correct brace positioning.
20766
20767 2011-05-29  Bruno Haible  <bruno@clisp.org>
20768
20769         wctype-h: Avoid namespace pollution on Solaris 2.6.
20770         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
20771         identifiers.
20772         * doc/posix-headers/wctype.texi: Mention the problem.
20773         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20774
20775 2011-05-28  Jim Meyering  <meyering@redhat.com>
20776
20777         parse-datetime.y: accommodate -Wstrict-overflow
20778         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
20779         placate -Wstrict-overflow.
20780
20781         trim: avoid a warning from -O2 -Wstrict-overflow
20782         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
20783
20784 2011-05-29  Bruno Haible  <bruno@clisp.org>
20785
20786         gnulib-tool: Fix bug in yesterday's commit.
20787         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
20788         twice.
20789
20790 2011-05-29  Bruno Haible  <bruno@clisp.org>
20791
20792         Allow multiple gnulib generated include files to be combined.
20793         * gnulib-tool (func_compute_include_guard_prefix): New function.
20794         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
20795         ${gl_include_guard_prefix} references.
20796         (func_import, func_create_testdir): Invoke
20797         func_compute_include_guard_prefix.
20798         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
20799         * lib/ctype.in.h: Likewise.
20800         * lib/dirent.in.h: Likewise.
20801         * lib/errno.in.h: Likewise.
20802         * lib/fcntl.in.h: Likewise.
20803         * lib/float.in.h: Likewise.
20804         * lib/getopt.in.h: Likewise.
20805         * lib/iconv.in.h: Likewise.
20806         * lib/langinfo.in.h: Likewise.
20807         * lib/locale.in.h: Likewise.
20808         * lib/math.in.h: Likewise.
20809         * lib/netdb.in.h: Likewise.
20810         * lib/netinet_in.in.h: Likewise.
20811         * lib/poll.in.h: Likewise.
20812         * lib/pthread.in.h: Likewise.
20813         * lib/pty.in.h: Likewise.
20814         * lib/sched.in.h: Likewise.
20815         * lib/se-selinux.in.h: Likewise.
20816         * lib/search.in.h: Likewise.
20817         * lib/signal.in.h: Likewise.
20818         * lib/spawn.in.h: Likewise.
20819         * lib/stdarg.in.h: Likewise.
20820         * lib/stddef.in.h: Likewise.
20821         * lib/stdint.in.h: Likewise.
20822         * lib/stdio.in.h: Likewise.
20823         * lib/stdlib.in.h: Likewise.
20824         * lib/string.in.h: Likewise.
20825         * lib/strings.in.h: Likewise.
20826         * lib/sys_file.in.h: Likewise.
20827         * lib/sys_ioctl.in.h: Likewise.
20828         * lib/sys_select.in.h: Likewise.
20829         * lib/sys_socket.in.h: Likewise.
20830         * lib/sys_stat.in.h: Likewise.
20831         * lib/sys_time.in.h: Likewise.
20832         * lib/sys_times.in.h: Likewise.
20833         * lib/sys_uio.in.h: Likewise.
20834         * lib/sys_utsname.in.h: Likewise.
20835         * lib/sys_wait.in.h: Likewise.
20836         * lib/sysexits.in.h: Likewise.
20837         * lib/termios.in.h: Likewise.
20838         * lib/time.in.h: Likewise.
20839         * lib/unistd.in.h: Likewise.
20840         * lib/wchar.in.h: Likewise.
20841         * lib/wctype.in.h: Likewise.
20842         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
20843         * modules/ctype (Makefile.am): Likewise.
20844         * modules/dirent (Makefile.am): Likewise.
20845         * modules/errno (Makefile.am): Likewise.
20846         * modules/fcntl-h (Makefile.am): Likewise.
20847         * modules/float (Makefile.am): Likewise.
20848         * modules/getopt-posix (Makefile.am): Likewise.
20849         * modules/iconv-h (Makefile.am): Likewise.
20850         * modules/langinfo (Makefile.am): Likewise.
20851         * modules/locale (Makefile.am): Likewise.
20852         * modules/math (Makefile.am): Likewise.
20853         * modules/netdb (Makefile.am): Likewise.
20854         * modules/netinet_in (Makefile.am): Likewise.
20855         * modules/poll-h (Makefile.am): Likewise.
20856         * modules/pthread (Makefile.am): Likewise.
20857         * modules/pty (Makefile.am): Likewise.
20858         * modules/sched (Makefile.am): Likewise.
20859         * modules/search (Makefile.am): Likewise.
20860         * modules/selinux-h (Makefile.am): Likewise.
20861         * modules/signal (Makefile.am): Likewise.
20862         * modules/spawn (Makefile.am): Likewise.
20863         * modules/stdarg (Makefile.am): Likewise.
20864         * modules/stddef (Makefile.am): Likewise.
20865         * modules/stdint (Makefile.am): Likewise.
20866         * modules/stdio (Makefile.am): Likewise.
20867         * modules/stdlib (Makefile.am): Likewise.
20868         * modules/string (Makefile.am): Likewise.
20869         * modules/strings (Makefile.am): Likewise.
20870         * modules/sys_file (Makefile.am): Likewise.
20871         * modules/sys_ioctl (Makefile.am): Likewise.
20872         * modules/sys_select (Makefile.am): Likewise.
20873         * modules/sys_socket (Makefile.am): Likewise.
20874         * modules/sys_stat (Makefile.am): Likewise.
20875         * modules/sys_time (Makefile.am): Likewise.
20876         * modules/sys_times (Makefile.am): Likewise.
20877         * modules/sys_uio (Makefile.am): Likewise.
20878         * modules/sys_utsname (Makefile.am): Likewise.
20879         * modules/sys_wait (Makefile.am): Likewise.
20880         * modules/sysexits (Makefile.am): Likewise.
20881         * modules/termios (Makefile.am): Likewise.
20882         * modules/time (Makefile.am): Likewise.
20883         * modules/unistd (Makefile.am): Likewise.
20884         * modules/wchar (Makefile.am): Likewise.
20885         * modules/wctype-h (Makefile.am): Likewise.
20886         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
20887
20888 2011-05-29  Bruno Haible  <bruno@clisp.org>
20889
20890         assert-h: Allow multiple gnulib generated replacements to coexist.
20891         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
20892
20893 2011-05-29  Bruno Haible  <bruno@clisp.org>
20894
20895         argp: Allow coexistence with strerror_r-posix module.
20896         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
20897         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
20898         by gnulib's <string.h> replacement), assume it has the POSIX signature,
20899         not the glibc signature.
20900
20901 2011-05-28  Bruno Haible  <bruno@clisp.org>
20902
20903         gnulib-tool: Alternative structure of testdirs, similar to --import.
20904         * gnulib-tool: New option --single-configure.
20905         (func_usage): Document it.
20906         (single_configure): New variable.
20907         (func_modules_transitive_closure_separately,
20908         func_modules_transitive_closure_separately,
20909         func_determine_use_libtests, func_modules_add_dummy_separately,
20910         func_modules_to_filelist_separately): New functions, extracted from
20911         func_import.
20912         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
20913         (func_import): Use the new functions.
20914         (func_create_testdir): Set final_modules. Handle $single_configure =
20915         true case.
20916
20917 2011-05-28  Bruno Haible  <bruno@clisp.org>
20918
20919         getloadavg: Remove an unreliable safety check.
20920         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
20921         getloadavg.c is in place.
20922         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
20923         Reported by Sam Steingold <sds@gnu.org>.
20924
20925 2011-05-28  Bruno Haible  <bruno@clisp.org>
20926
20927         doc: Cleanup yet another file produced by texinfo.tex.
20928         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
20929
20930 2011-05-28  Bruno Haible  <bruno@clisp.org>
20931
20932         Finish the conditional dependencies mechanism.
20933         * gnulib-tool: New option --no-conditional-dependencies.
20934         (func_usage): Document it. Don't mark --conditional-dependencies as
20935         experimental.
20936         (cond_dependencies): The possible values can now be true, false, empty.
20937         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
20938         (func_import): Store setting in gnulib-cache.m4 and read it from there.
20939         * doc/gnulib-tool.texi (Conditional dependencies): New section.
20940
20941 2011-05-28  Bruno Haible  <bruno@clisp.org>
20942
20943         doc: Use a recent texinfo.tex.
20944         * doc/Makefile (tex_opts): New variable.
20945         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
20946
20947 2011-05-28  Jim Meyering  <meyering@redhat.com>
20948
20949         intprops.h: adjust comment to match code change
20950         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
20951         only once, it *may* have side effects.  Also fix an unrelated typo.
20952         (_GL_INT_SIGNED): Likewise.
20953
20954 2011-05-26  Simon Josefsson  <simon@josefsson.org>
20955
20956         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
20957
20958 2011-05-26  Bruno Haible  <bruno@clisp.org>
20959
20960         mbsrchr: Avoid collision with system function on Interix.
20961         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
20962         Reported by Markus Duft <mduft@gentoo.org>.
20963
20964 2011-05-15  James Youngman  <jay@gnu.org>
20965
20966         getopt: for ambiguous options, enumerate the possibilities.
20967         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
20968         the ambiguous options when an ambiguous prefix is given. This was
20969         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
20970         glibc change was
20971         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
20972
20973 2011-05-25  Eric Blake  <eblake@redhat.com>
20974
20975         getcwd: work around mingw bug
20976         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
20977         * doc/posix-functions/getcwd.texi (getcwd): Document it.
20978         Reported by Matthias Bolte.
20979
20980 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
20981
20982         test-intprops: disable -Wtype-limits diagnostics
20983         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
20984         diagnostics.  Otherwise, the integer overflow macros generate many
20985         diagnostics.  Reported by Jim Meyering in
20986         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20987
20988         intprops: shorten, to pacify gcc -Woverlength-strings
20989         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
20990         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
20991         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
20992         likely to run afoul of C compiler limits for string constant lengths.
20993         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20994
20995 2011-05-24  Eric Blake  <eblake@redhat.com>
20996
20997         docs: document recently fixed glibc printf bug
20998         * doc/posix-functions/fprintf.texi (fprintf): Document it.
20999         * doc/posix-functions/printf.texi (printf): Likewise.
21000         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
21001         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
21002
21003         closein-tests: convert to init.sh
21004         * modules/closein-tests (Files): Add init.sh
21005         * tests/test-closein.sh Use it.
21006
21007         yesno-tests: convert to init.sh
21008         * modules/yesno-tests (Files): Add init.sh.
21009         * tests/test-yesno.sh: Use it.
21010
21011         atexit-tests: ensure reliable exit status
21012         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
21013         Reported by Bruno Haible.
21014
21015 2011-05-24  Bruno Haible  <bruno@clisp.org>
21016
21017         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
21018         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
21019         gl_PREREQ_STRERROR_R invocations from here...
21020         * modules/strerror_r-posix (configure.ac): ... to here.
21021
21022 2011-05-24  Eric Blake  <eblake@redhat.com>
21023
21024         strerror_r: fix missing header
21025         * lib/strerror_r.c: Avoid compiler warning about snprintf.
21026
21027         strerror_r: fix AIX test failures
21028         * lib/strerror_r.c (strerror_r): Convert silent truncation to
21029         ERANGE failure.
21030
21031         strerror_r: fix Solaris test failures
21032         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
21033         failures.
21034         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
21035
21036         strerror_r: enforce POSIX recommendations
21037         * lib/strerror_r.c (safe_copy): New helper method.
21038         (strerror_r): Guarantee a non-empty string.
21039         * tests/test-strerror_r.c (main): Enhance tests to incorporate
21040         recent POSIX rulings and to match our strerror guarantees.
21041         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
21042
21043 2011-05-24  Jim Meyering  <meyering@redhat.com>
21044
21045         test-perror2.c: avoid warning about unused variable
21046         * tests/test-perror2.c (main): Remove declaration of unused "fp".
21047
21048 2011-05-24  Eric Blake  <eblake@redhat.com>
21049
21050         perror: avoid spurious test failure on HP-UX
21051         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
21052
21053         tests: fix logic bug in init.sh
21054         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
21055         shell.
21056
21057 2011-05-24  Jim Meyering  <meyering@redhat.com>
21058
21059         utimensat: do not reference an out-of-scope buffer
21060         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
21061         declared in an inner scope, yet "times" would be dereferenced outside
21062         the scope in which "ts" was valid.
21063         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
21064         of ts[2] "out/up", so that the use of aliased "times" (via
21065         "times = ts;") does not end up referencing an out-of-scope "ts"
21066
21067         opendir-safer.c: don't clobber errno; don't close negative FD
21068         * lib/opendir-safer.c (opendir_safer):
21069         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
21070         file descriptor, and more importantly, don't clobber the
21071         offending errno value with EINVAL.  Before, upon failure
21072         of dup_safer, we would pass the negative file descriptor to
21073         fdopendir, which would clobber errno.
21074
21075 2011-05-23  Bruno Haible  <bruno@clisp.org>
21076
21077         idcache: Fix module description.
21078         * modules/idcache (Include): Set to "idcache.h".
21079
21080 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
21081
21082         gnulib-tool: fix portability problem with MacOS sed
21083         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
21084         before the "}".  Problem reported by Leo in
21085         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
21086         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
21087         sed_extract_condition1, sed_extract_condition2.
21088
21089 2011-05-23  Bruno Haible  <bruno@clisp.org>
21090
21091         hash: Simplify autoconf macro.
21092         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
21093
21094 2011-05-23  Bruno Haible  <bruno@clisp.org>
21095
21096         getugroups: Fix module description.
21097         * modules/getugroups (Include): Set to "getugroups.h".
21098
21099 2011-05-23  Bruno Haible  <bruno@clisp.org>
21100
21101         linkat: Simplify autoconf macro.
21102         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
21103
21104 2011-05-23  Bruno Haible  <bruno@clisp.org>
21105             Eric Blake  <eblake@redhat.com>
21106
21107         linkat, renameat: Update dependencies.
21108         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
21109         * modules/linkat (Depends-on): Likewise. Remove also readlink,
21110         symlinkat.
21111
21112 2011-05-23  Jim Meyering  <meyering@redhat.com>
21113
21114         maint.mk: more tight_scope improvements
21115         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
21116         (_gl_TS_headers): Define only in if-0'd block.
21117         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
21118         sometimes we must *not* use it.  Adjust uses accordingly.
21119         (sc_tight_scope): Use much simpler grep-based test to determine
21120         whether we skip this rule.
21121
21122         maint.mk: generalize/improve the tight-scope rule
21123         * top/maint.mk: Emit a warning when the test is skipped.
21124         (_gl_TS_dir): Add $(srcdir)/ prefix.
21125         (_gl_TS_function_match): Simplify, rather than trying
21126         to enumerate common types.  Otherwise, it would fail to match an
21127         "extern unsigned char const *" declaration in idutils.
21128         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
21129         a way to support use of that type of macro.
21130         (_gl_TS_var_match): Simplify regexp.
21131         (_gl_TS_obj_files): New configurable variable.
21132         (_gl_TS_headers): Likewise.
21133
21134 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
21135
21136         verify: fix bug when gnulib <assert.h> is also included
21137         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
21138         is defined, not if _GL_STATIC_ASSERT_H is not defined.
21139         Perhaps there's a better way, but this fixes the immediate problem.
21140         Problem reported by Bruno Haible in
21141         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
21142
21143 2011-05-22  Bruno Haible  <bruno@clisp.org>
21144
21145         xgetcwd: Simplify autoconf macro.
21146         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
21147
21148 2011-05-22  Bruno Haible  <bruno@clisp.org>
21149
21150         New module 'mktime-internal'.
21151         * modules/mktime-internal: New file.
21152         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
21153         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
21154         mktime_internal as a C macro if libc has __mktime_internal.
21155         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
21156         conditions.
21157         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
21158
21159 2011-05-22  Bruno Haible  <bruno@clisp.org>
21160
21161         timegm: Correct mktime replacement statements.
21162         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
21163         defining mktime as a C macro. This completes a 2009-07-28 commit.
21164
21165 2011-05-22  Bruno Haible  <bruno@clisp.org>
21166
21167         timegm: Simplify autoconf macro.
21168         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
21169
21170 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21171
21172         clock-time: change to LGPLv2+.
21173         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
21174         BSD-like but we have no mark for that; this is good enough for now.
21175
21176 2011-05-21  Bruno Haible  <bruno@clisp.org>
21177
21178         strerror_r: Fix comments.
21179         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
21180
21181 2011-05-21  Bruno Haible  <bruno@clisp.org>
21182
21183         relocatable-prog-wrapper: Fix possible link error.
21184         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
21185         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
21186         (gl_FUNC_SETENV): ... to here.
21187         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
21188         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
21189
21190 2011-05-21  Bruno Haible  <bruno@clisp.org>
21191
21192         relocatable-prog-wrapper: Assume strerror() exists.
21193         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
21194         m4/strerror.m4.
21195         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
21196         * lib/relocwrapper.c: Remove mention of strerror module.
21197         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
21198         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
21199         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
21200         C macro.
21201
21202 2011-05-21  Bruno Haible  <bruno@clisp.org>
21203
21204         select: Simplify replacement idiom.
21205         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
21206         Win32 platforms.
21207         * lib/sys_select.in.h (select): Simplify accordingly.
21208         * modules/select (Depends-on): Likewise.
21209
21210 2011-05-21  Bruno Haible  <bruno@clisp.org>
21211
21212         mkdir-p: Simplify autoconf macro.
21213         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
21214         gl_FUNC_LCHOWN.
21215
21216 2011-05-21  Eric Blake  <eblake@redhat.com>
21217
21218         strerror_r: avoid clobbering strerror on cygwin
21219         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
21220         fall back instead to sys_errlist.
21221         * modules/strerror (configure.ac): Add witness.
21222         * tests/test-strerror_r.c (main): Enhance test.
21223         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
21224         * tests/test-perror2.c (main): Free memory before exit.
21225
21226 2011-05-21  Bruno Haible  <bruno@clisp.org>
21227
21228         mkdtemp: Use gnulib naming conventions.
21229         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
21230         * modules/mkdtemp (configure.ac): Update.
21231
21232 2011-05-20  Eric Blake  <eblake@redhat.com>
21233
21234         strerror_r: avoid corrupting errno on Solaris
21235         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
21236         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
21237
21238         strerror_r: avoid compiler warning
21239         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
21240
21241         strerror_r: simplify AIX code
21242         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
21243
21244         test-perror: avoid spurious failure on FreeBSD
21245         * modules/perror-tests (Depends-on): Add strerror, now that
21246         strerror_r no longer pulls it in.
21247
21248 2011-05-20  Bruno Haible  <bruno@clisp.org>
21249
21250         strerror_r-posix: Remove unused dependencies.
21251         * modules/strerror_r-posix (Depends-on): Remove strerror.
21252         Reported by Eric Blake.
21253
21254 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
21255
21256         intprops: remove assumption about A|B representation
21257         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
21258         is a valid integer if both A and B are.  Although this is true for
21259         all known practical hosts, the C standard doesn't guarantee it,
21260         and the code need not assume it.  Also, this change may work around
21261         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
21262         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
21263
21264 2011-05-20  Eric Blake  <eblake@redhat.com>
21265
21266         perror: work around FreeBSD bug
21267         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
21268         is broken.  Move AC_LIBOBJ...
21269         * modules/perror (configure.ac): Here.
21270         * doc/posix-functions/perror.texi (perror): Document this.
21271         * tests/test-perror2.c (main): Enhance test.
21272
21273         test-perror: check for strerror interactions
21274         * tests/macros.h (STREQ): Add macro.
21275         * modules/perror-tests (Files): Add second test.
21276         * tests/test-perror2.c (main): New file.
21277         * doc/posix-functions/perror.texi (perror): Document glibc bug.
21278
21279         test-perror: rewrite to use init script
21280         * modules/perror-tests (Files): Add init.sh.
21281         * tests/test-perror.sh: Use temporary directory.
21282
21283 2011-05-20  Jim Meyering  <meyering@redhat.com>
21284
21285         maint: replace misused "a" with "an"
21286         * doc/intprops.texi: "a integer"
21287         * doc/regex.texi: "a explanation"
21288         * lib/alignof.h: "a object"
21289         * lib/argmatch.h: "a explanation"
21290         * lib/argp-help.c: "a option" and "a OPTION_DOC"
21291         * lib/stdint.in.h: "a integer"
21292         * lib/userspec.c: "a owner"
21293         * doc/gnulib.texi: Fix "a idea", and reword.
21294
21295 2011-05-19  Jim Meyering  <meyering@redhat.com>
21296
21297         maint: correct misuse of "a" and "an"
21298         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
21299         * lib/argp-help.c: "an docum...": s/an/a/
21300         * lib/argp-parse.c: "An vector": s/An/A/
21301         * lib/execute.c: "an native": s/an/a/
21302         * lib/spawn-pipe.c: Likewise.
21303         * lib/gc.h: "an Gc_rc": s/an/a/
21304         * lib/unigbrk.in.h: "an grapheme": s/an/a/
21305         * lib/fts.c: "an stat.st_dev": s/an/a/
21306
21307 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
21308
21309         intprops-tests: work around HP-UX 11.23 cc bug with constants
21310         * tests/test-intprops.c (VERIFY): New macro.
21311         (main): Use it, instead of verify, to work around the compiler bug; see
21312         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
21313
21314         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
21315         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
21316         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
21317         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
21318         (_GL_REMAINDER_OVERFLOW): Use it.
21319
21320         intprops-tests: revert unsigned part of previous change
21321         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
21322         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
21323         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
21324         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
21325
21326 2011-05-19  Bruno Haible  <bruno@clisp.org>
21327
21328         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
21329         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
21330         strerror_r() returned without filling the buffer.
21331         Reported by Eric Blake.
21332
21333 2011-05-19  Eric Blake  <eblake@redhat.com>
21334
21335         strerror_r: guarantee unchanged errno
21336         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
21337         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
21338         failure.
21339         * tests/test-strerror_r.c (main): Enhance test.
21340
21341 2011-05-19  Bruno Haible  <bruno@clisp.org>
21342
21343         strerror_r: Reorder #if blocks.
21344         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
21345         for consistency with the previous commit.
21346
21347 2011-05-19  Bruno Haible  <bruno@clisp.org>
21348
21349         perror: Avoid clobbering the strerror buffer when possible.
21350         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
21351         * lib/strerror.c: Include it.
21352         * modules/strerror (Files): Add lib/strerror-impl.h.
21353         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
21354         (my_strerror): New function, defined through lib/strerror-impl.h.
21355         (perror): Use it instead of strerror.
21356         * modules/perror (Files): Add lib/strerror-impl.h.
21357         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
21358
21359 2011-05-19  Eric Blake  <eblake@redhat.com>
21360
21361         strerror_r: fix on newer cygwin
21362         * lib/strerror_r.c (strerror_r): Cygwin now has
21363         __xpg_strerror_r, use it.
21364
21365 2011-05-19  Bruno Haible  <bruno@clisp.org>
21366
21367         strerror_r: Avoid clobbering the strerror buffer when possible.
21368         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
21369         (sys_nerr, sys_errlist): New declarations.
21370         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
21371         HP-UX, native Win32, IRIX, and 32-bit Solaris.
21372         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
21373
21374 2011-05-19  Bruno Haible  <bruno@clisp.org>
21375
21376         strerror_r: Fix test failure on mingw.
21377         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
21378         EXTEND_STRERROR_R.
21379         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
21380         macros from errno.in.h instead.
21381
21382 2011-05-19  Eric Blake  <eblake@redhat.com>
21383
21384         strerror: relax test for Solaris
21385         * tests/test-strerror.c (main): Permit Solaris behavior.
21386         * tests/test-strerror_r.c (main): Likewise.
21387
21388         strerror: enforce POSIX ruling on strerror(0)
21389         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
21390         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
21391         * lib/strerror_r.c (rpl_strerror_r): Work around it.
21392         * doc/posix-functions/strerror.texi (strerror): Document it.
21393         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
21394         * tests/test-strerror.c (main): Strengthen test.
21395         * tests/test-strerror_r.c (main): Likewise.
21396
21397 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
21398
21399         intprop-tests: port to older and more-pedantic compilers
21400         * modules/intprops-tests (Files): Add tests/macros.h.
21401         * tests/test-intprops.c: Include macros.h.
21402         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
21403         it's no longer documented to expand to an integer constant expression.
21404         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
21405         argument is floating point, as it's no longer documented to expand
21406         to an integer constant expression in that case.
21407         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
21408         compiler bugs reported by Bruno Haible.  See
21409         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
21410         (U0, U1): New constants, to work around the same bugs.  Also,
21411         in tests, use e.g., "(unsigned int) 39" rather than "39u".
21412
21413         intprops: work around C compiler bugs
21414         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
21415         bug in Sun C 5.11 2010/08/13 and other compilers; see
21416         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
21417
21418         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
21419         * doc/intprops.texi (Integer Type Determination): Fix
21420         documentation for TYPE_IS_INTEGER: it returns an constant
21421         expression, not an integer constant expression.  Fix doc for
21422         TYPE_SIGNED: it returns an integer constant expression only if its
21423         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
21424         hardly worth documented that way....)
21425
21426 2011-05-18  Bruno Haible  <bruno@clisp.org>
21427
21428         strerror_r: Avoid clobbering the strerror buffer when possible.
21429         * lib/strerror_r.c (strerror_r): Merge the three implementations.
21430         Handle gnulib defined errno values here. When strerror() returns NULL
21431         or an empty string, return EINVAL.
21432         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
21433         gnulib defined errno values here.
21434         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
21435
21436 2011-05-18  Eric Blake  <eblake@redhat.com>
21437
21438         fnmatch: avoid compiler warning
21439         * lib/fnmatch_loop.c (FCT): Use correct type.
21440         Reported by Matthias Bolte.
21441
21442 2011-05-13  Jim Meyering  <meyering@redhat.com>
21443
21444         maint.mk: three new prohibit_<HDR>_without_use rules
21445         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
21446         (sc_prohibit_stdio-safer_without_use): Likewise.
21447         (sc_prohibit_xfreopen_without_use): Likewise.
21448
21449 2011-05-17  Jim Meyering  <meyering@redhat.com>
21450
21451         announce-gen: fail if the NEWS delta is empty
21452         If there's nothing noteworthy in NEWS, then either you forgot
21453         or you shouldn't be releasing.
21454         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
21455
21456 2011-05-17  Pádraig Brady <P@draigBrady.com>
21457
21458         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
21459         reserved symbols starting with double underscore from the check.
21460
21461 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
21462
21463         intprops: add doc
21464         * doc/intprops.texi: New file, documenting intprops.
21465         * doc/gnulib.texi (Particular Modules): Include it.
21466
21467         verify: add doc to gnulib manual and fix example
21468         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
21469         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
21470         (Compile-time Assertions): Fix example so it can't overflow.
21471
21472 2011-05-17  Jim Meyering  <meyering@redhat.com>
21473
21474         warnings.m4: don't usurp save_CPPFLAGS variable name
21475         * m4/warnings.m4: Prefix local temporary variable name with gl_.
21476
21477         doc: fix typo
21478         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
21479
21480 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
21481             Bruno Haible  <bruno@clisp.org>
21482
21483         doc: Tweak recent change.
21484         * README (Portability guidelines): Tweak new text.
21485         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
21486         Interix 6.1.
21487
21488 2011-05-16  Eric Blake  <eblake@redhat.com>
21489
21490         inttypes: avoid autoconf warning
21491         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
21492         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21493
21494 2011-05-16  Sam Steingold <sds@gnu.org>
21495         and Eric Blake  <eblake@redhat.com>
21496
21497         vc-list-files: accept multiple directory operands
21498         * build-aux/vc-list-files: Iterate over all remaining operands.
21499
21500 2011-05-16  Bruno Haible  <bruno@clisp.org>
21501
21502         Fix confusion regarding deprecated modules.
21503         * modules/calloc (Status, Notice): Mark module as deprecated, not
21504         obsolete.
21505         * modules/fnmatch-posix (Status, Notice): Likewise.
21506         * modules/getdate (Status, Notice): Likewise.
21507         * modules/getopt (Status, Notice): Likewise.
21508         * modules/malloc (Status, Notice): Likewise.
21509         * modules/pipe (Status, Notice): Likewise.
21510         * modules/realloc (Status, Notice): Likewise.
21511         * modules/rename-dest-slash (Status, Notice): Likewise.
21512         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
21513         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
21514         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
21515         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
21516         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
21517
21518 2011-05-16  Bruno Haible  <bruno@clisp.org>
21519
21520         doc: List the target platforms.
21521         * doc/gnulib-intro.texi (Target Platforms): New section.
21522         * doc/gnulib.texi (Introduction): Update menu.
21523         * README (Portability guidelines): Refer to the new section. Update
21524         statement about oldest supported environment. Remove rationale why
21525         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
21526         unportable C89 function.
21527         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
21528         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
21529
21530 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
21531
21532         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
21533
21534 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
21535
21536         intprops-tests: new module
21537         * modules/intprops-tests, tests/test-intprops.c: New files.
21538
21539         intprops: add safe, portable integer overflow checking
21540         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
21541         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
21542         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
21543         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
21544         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
21545         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
21546         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
21547         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
21548         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
21549         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
21550         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
21551
21552 2011-05-12  James Youngman  <jay@gnu.org>
21553
21554         Add a test for glibc's Bugzilla bug #12378.
21555         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
21556         doesn't allow the literal matching of a lone "[" (which is
21557         required by POSIX).
21558         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
21559
21560 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
21561
21562         Sync glibc change fixing Bugzilla bug #12378.
21563         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
21564         beginning and fall back to matching as normal character if the
21565         string ends before the matching ']' is found.  This is what POSIX
21566         requires.
21567
21568 2011-05-13  Eric Blake  <eblake@redhat.com>
21569
21570         getcwd-lgpl: relax test for FreeBSD
21571         * doc/posix-functions/getcwd.texi (getcwd): Document portability
21572         issue.
21573         * tests/test-getcwd-lgpl.c (main): Relax test.
21574         Reported by Matthias Bolte.
21575
21576 2011-05-11  Eric Blake  <eblake@redhat.com>
21577
21578         test-fflush: silence compiler warning
21579         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
21580
21581 2011-05-11  Bruno Haible  <bruno@clisp.org>
21582
21583         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
21584         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
21585         * modules/canonicalize (Depends-on): Add 'nocrash'.
21586         * modules/canonicalize-lgpl (Depends-on): Likewise.
21587         * doc/posix-functions/realpath.texi: Update platforms list.
21588         Reported by Ryan Schmidt <ryandesign@macports.org>.
21589
21590 2011-05-11  Bruno Haible  <bruno@clisp.org>
21591
21592         group-member: Declare function in <unistd.h>.
21593         * lib/unistd.in.h (group_member): New declaration.
21594         * lib/group-member.h: Remove file.
21595         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
21596         * tests/test-unistd-c++.cc: Check signature of group_member.
21597         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
21598         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
21599         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
21600         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
21601         HAVE_GROUP_MEMBER.
21602         * modules/group-member (Files): Remove lib/group-member.h.
21603         (Depends-on): Add unistd. Specify conditions.
21604         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21605         (Include): Change to <unistd.h>.
21606         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
21607         HAVE_GROUP_MEMBER.
21608         * NEWS: Mention the change.
21609         * lib/euidaccess.c: Don't include group-member.h.
21610
21611 2011-05-11  Bruno Haible  <bruno@clisp.org>
21612
21613         group-member: Document module.
21614         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
21615         module.
21616
21617 2011-05-11  Bruno Haible  <bruno@clisp.org>
21618
21619         fclose: Fix mistake earlier today.
21620         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
21621
21622 2011-05-11  Eric Blake  <eblake@redhat.com>
21623
21624         fclose: preserve fflush errors
21625         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
21626         Reported by Jim Meyering.
21627
21628         bootstrap: support a prereq of 'rpcgen -' on RHEL5
21629         * build-aux/bootstrap (check_versions): When no specific version
21630         is required, merely check that the app produces an exit status
21631         that indicates its existence.
21632
21633         maint.mk: drop redundant check
21634         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
21635         the same but better.
21636
21637 2011-05-11  Bruno Haible  <bruno@clisp.org>
21638
21639         fclose: Fix possible link error.
21640         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
21641         unregister_shadow_fd. Improve comments.
21642         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
21643         Eric Blake.
21644
21645 2011-05-11  Jim Meyering  <meyering@redhat.com>
21646
21647         maint.mk: improve "can not" detection and generalize rule name
21648         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
21649         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
21650         Use the same technique as in sc_prohibit_doubled_word, so that
21651         we recognize "can not" also when the words are separated by a newline.
21652         Suggested by Eric Blake.
21653         (perl_filename_lineno_text_): Define.  Factored out of...
21654         (prohibit_doubled_word_): ...here.  Use the new definition.
21655         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
21656         (prohibit_undesirable_word_seq_RE_): New overridable variable.
21657         (ignore_undesirable_word_sequence_RE_): New overridable variable.
21658
21659 2011-05-10  Eric Blake  <eblake@redhat.com>
21660
21661         fclose: avoid double close race when possible
21662         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
21663         all but WINDOWS_SOCKETS.
21664
21665 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
21666
21667         openat: correct new comment
21668         * lib/openat-proc.c (openat_proc_name): Correct the comment.
21669
21670 2011-05-10  Jim Meyering  <meyering@redhat.com>
21671
21672         openat: add comments
21673         * lib/openat-proc.c (openat_proc_name): Add comments,
21674         mostly from Eric Blake.
21675
21676 2011-05-09  Eric Blake  <eblake@redhat.com>
21677
21678         openat: reduce syscalls in first probe of /proc
21679         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
21680         be a directory.  Simplify the probe for .. bugs.
21681         * modules/openat (Depends-on): Drop same-inode.
21682         Reported by Bastien ROUCARIES.
21683
21684 2011-05-09  Jim Meyering  <meyering@redhat.com>
21685
21686         maint.mk: change semantics/name of tight_scope variables
21687         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
21688         Rename variables to align with semantics that make them more useful.
21689
21690         maint.mk: tweak new rule's name not to impinge
21691         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
21692         (sc_tight_scope): Use new rule name rather than $@-0.
21693
21694         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
21695         * top/maint.mk (sc_tight_scope): New rule.
21696         (sc_tight_scope-0): New rule, ifdef'd out.
21697         (_gl_TS_dir): Default.
21698         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
21699         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
21700
21701 2011-05-09  Simon Josefsson  <simon@josefsson.org>
21702
21703         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
21704         Haible <bruno@clisp.org>.
21705
21706 2011-05-08  Bruno Haible  <bruno@clisp.org>
21707
21708         Comments.
21709         * m4/isnanf.m4: Add comment.
21710         * m4/isnanl.m4: Likewise.
21711
21712 2011-05-08  Bruno Haible  <bruno@clisp.org>
21713
21714         glob: Remove obsolete macro.
21715         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
21716
21717 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
21718
21719         intprops: Sun C 5.11 supports __typeof__
21720         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
21721         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
21722         which is new.
21723         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
21724
21725         intprops: switch to usual gnulib indenting and naming
21726         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
21727         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
21728
21729         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
21730
21731 2011-05-08  Jim Meyering  <meyering@redhat.com>
21732
21733         maint.mk: suppress "Entering/Leaving directory" diag in announcement
21734         * top/maint.mk (release-prep): Use make's --no-print-directory
21735         option when generating the announcement.  This eliminates the
21736         pesky "make[2]: Entering/Leaving directory" diagnostics in the
21737         generated announcement template.
21738
21739 2011-05-08  Bruno Haible  <bruno@clisp.org>
21740
21741         tzset: Fix gettimeofday wrapper on Solaris 2.6.
21742         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
21743         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
21744
21745 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
21746
21747         ignore-value, verify: Omit include files from lib_SOURCES.
21748         * modules/ignore-value, modules/verify (Makefile.am):
21749         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
21750         that leads Automake to duplicate use of am__objects_... variables
21751         in Makefile.in.  See
21752         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
21753
21754 2011-05-07  Bruno Haible  <bruno@clisp.org>
21755
21756         fclose: Simplify autoconf macro.
21757         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
21758         defined.
21759
21760 2011-05-07  Bruno Haible  <bruno@clisp.org>
21761
21762         canonicalize-lgpl: Fix autoconf macro ordering bug.
21763         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
21764         gl_STDLIB_H_DEFAULTS.
21765
21766 2011-05-06  Eric Blake  <eblake@redhat.com>
21767
21768         maintainer-makefile: make sc_po_check easier to tune
21769         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
21770         to probe for strings, such as an alternate location for gnulib.
21771
21772         fclose: guarantee behavior on seekable stdin
21773         * modules/fclose (Depends-on): Add fflush.
21774         * doc/posix-functions/fclose.texi (fclose): Document this.
21775         * tests/test-fclose.c (main): Make test for this unconditional.
21776
21777 2011-05-06  Bruno Haible  <bruno@clisp.org>
21778
21779         fflush, fpurge: Relicense under LGPLv2+.
21780         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
21781         * modules/fpurge (License): Likewise.
21782         With permission from Eric Blake and Jim Meyering.
21783         Suggested by Eric Blake.
21784
21785 2011-05-06  Karl Berry  <karl@gnu.org>
21786
21787         * MODULES.html.sh (func_all_modules): remove exit.
21788
21789 2011-05-06  Jim Meyering  <meyering@redhat.com>
21790
21791         maint.mk: use info-gnu@ as the default only for a stable release
21792         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
21793         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
21794         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
21795         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
21796
21797 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
21798
21799         assert-h: new module, which supports C1X-style static_assert
21800         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
21801         * lib/verify.h: Revamp so that this can be copied into assert.h,
21802         while retaining the ability to use it standalone as before.
21803         Rename private identifiers so as not to encroach on the
21804         standard C namespace, since this is now used by assert.h.
21805         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
21806         the old verify_true.
21807         (_GL_VERIFY_TRUE): New macro, with much of the contents of
21808         the old verify_true.  Use _GL_VERIFY_TYPE.
21809         (_GL_VERIFY): New macro, with much of the contents of the old verify.
21810         (static_assert): New macro, if _GL_STATIC_ASSERT_H
21811         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
21812         defined when this file is copied into the replacement assert.h.
21813         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
21814         and _Static_assert is not built in.
21815         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
21816         defined, and use the new macros mentioned above.
21817         * doc/posix-headers/assert.texi: Document this.
21818
21819 2011-05-05  Bruno Haible  <bruno@clisp.org>
21820
21821         fclose, fflush: Respect rules for use of AC_LIBOBJ.
21822         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
21823         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
21824         gl_REPLACE_FCLOSE here.
21825         * modules/fflush (Depends-on): Remove fclose.
21826         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
21827         combination with module 'fclose'.
21828
21829 2011-05-05  Bruno Haible  <bruno@clisp.org>
21830
21831         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
21832         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
21833         gl_FUNC_FFLUSH.
21834         (gl_FUNC_FFLUSH): Use it.
21835         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
21836         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
21837         gl_REPLACE_FSEEKO here.
21838
21839 2011-05-05  Bruno Haible  <bruno@clisp.org>
21840
21841         tzset: Relicense under LGPL.
21842         * modules/tzset (License): Change to LGPL.
21843         No agreement needed; it's a no-op.
21844
21845         strtoimax, strtoumax: Relicense under LGPL.
21846         * modules/strtoimax (License): Change to LGPL.
21847         * modules/strtoumax (License): Likewise.
21848         With permission from Jim Meyering, Paul Eggert:
21849         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
21850         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
21851
21852         getgroups: Relicense under LGPL.
21853         * modules/getgroups (License): Change to LGPL.
21854         With permission from Jim Meyering, Paul Eggert, Eric Blake:
21855         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21856         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21857         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21858
21859         nanosleep: Relicense under LGPL.
21860         * modules/nanosleep (License): Change to LGPL.
21861         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
21862         Haible:
21863         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21864         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21865         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21866         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21867
21868         futimens: Relicense under LGPL.
21869         * modules/futimens (License): Change to LGPL.
21870         With permission from Eric Blake:
21871         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21872
21873         fflush: Relicense under LGPL.
21874         * modules/fflush (License): Change to LGPL.
21875         With permission from Eric Blake, Bruno Haible, Jim Meyering:
21876         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21877         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21878         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
21879
21880         tmpfile: Relicense under LGPL.
21881         * modules/tmpfile (License): Change to LGPL.
21882         With permission from Ben Pfaff:
21883         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21884
21885         isfinite: Relicense under LGPL.
21886         * modules/isfinite (License): Change to LGPL.
21887         With permission from Ben Pfaff, Bruno Haible:
21888         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21889         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
21890
21891         acosl..tanl: Relicense under LGPL.
21892         * modules/acosl (License): Change to LGPL.
21893         * modules/asinl (License): Likewise.
21894         * modules/atanl (License): Likewise.
21895         * modules/cosl (License): Likewise.
21896         * modules/expl (License): Likewise.
21897         * modules/logl (License): Likewise.
21898         * modules/sinl (License): Likewise.
21899         * modules/sqrtl (License): Likewise.
21900         * modules/tanl (License): Likewise.
21901         Source code originally from glibc and Paolo Bonzini. Agreements:
21902         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
21903         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
21904
21905 2011-05-05  Bruno Haible  <bruno@clisp.org>
21906
21907         signal: Define sighandler_t.
21908         * lib/signal.in.h (sighandler_t): New type.
21909         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
21910         whether sighandler_t is defined.
21911         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
21912         * modules/signal (Depends-on): Add extensions.
21913         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
21914         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
21915         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
21916
21917 2011-05-05  Eric Blake  <eblake@redhat.com>
21918
21919         maint: remove useless REPLACE_*_H macros
21920         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
21921         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
21922         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
21923         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
21924         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
21925         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
21926         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
21927         * m4/btowc.m4: Update callers.
21928         * m4/dirfd.m4: Likewise.
21929         * m4/duplocale.m4: Likewise.
21930         * m4/fchdir.m4: Likewise.
21931         * m4/fdopendir.m4: Likewise.
21932         * m4/inet_ntop.m4: Likewise.
21933         * m4/inet_pton.m4: Likewise.
21934         * m4/ioctl.m4: Likewise.
21935         * m4/mbrlen.m4: Likewise.
21936         * m4/mbrtowc.m4: Likewise.
21937         * m4/mbsinit.m4: Likewise.
21938         * m4/mbsnrtowcs.m4: Likewise.
21939         * m4/mbsrtowcs.m4: Likewise.
21940         * m4/poll.m4: Likewise.
21941         * m4/setlocale.m4: Likewise.
21942         * m4/wcrtomb.m4: Likewise.
21943         * m4/wcsnrtombs.m4: Likewise.
21944         * m4/wcsrtombs.m4: Likewise.
21945         * m4/wctob.m4: Likewise.
21946         * m4/wcwidth.m4: Likewise.
21947         * modules/posix_spawn: Likewise.
21948         * modules/posix_spawn_file_actions_addclose: Likewise.
21949         * modules/posix_spawn_file_actions_adddup2: Likewise.
21950         * modules/posix_spawn_file_actions_addopen: Likewise.
21951         * modules/posix_spawn_file_actions_destroy: Likewise.
21952         * modules/posix_spawn_file_actions_init: Likewise.
21953         * modules/posix_spawnattr_destroy: Likewise.
21954         * modules/posix_spawnattr_getflags: Likewise.
21955         * modules/posix_spawnattr_getpgroup: Likewise.
21956         * modules/posix_spawnattr_getschedparam: Likewise.
21957         * modules/posix_spawnattr_getschedpolicy: Likewise.
21958         * modules/posix_spawnattr_getsigdefault: Likewise.
21959         * modules/posix_spawnattr_getsigmask: Likewise.
21960         * modules/posix_spawnattr_init: Likewise.
21961         * modules/posix_spawnattr_setflags: Likewise.
21962         * modules/posix_spawnattr_setpgroup: Likewise.
21963         * modules/posix_spawnattr_setschedparam: Likewise.
21964         * modules/posix_spawnattr_setschedpolicy: Likewise.
21965         * modules/posix_spawnattr_setsigdefault: Likewise.
21966         * modules/posix_spawnattr_setsigmask: Likewise.
21967         * modules/posix_spawnp: Likewise.
21968
21969 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
21970
21971         Add option to do-release-commit-and-tag to specify branch.
21972         * build-aux/do-release-commit-and-tag: Add --branch.
21973
21974 2011-05-03  Bruno Haible  <bruno@clisp.org>
21975
21976         Avoid unnecessary compilation units, through conditional dependencies.
21977         * modules/accept (Depends-on): Add conditions to the dependencies.
21978         * modules/acosl (Depends-on): Likewise.
21979         * modules/argz (Depends-on): Likewise.
21980         * modules/asinl (Depends-on): Likewise.
21981         * modules/atanl (Depends-on): Likewise.
21982         * modules/atoll (Depends-on): Likewise.
21983         * modules/bind (Depends-on): Likewise.
21984         * modules/btowc (Depends-on): Likewise.
21985         * modules/canonicalize-lgpl (Depends-on): Likewise.
21986         * modules/ceil (Depends-on): Likewise.
21987         * modules/ceilf (Depends-on): Likewise.
21988         * modules/ceill (Depends-on): Likewise.
21989         * modules/chdir-long (Depends-on): Likewise.
21990         * modules/chown (Depends-on): Likewise.
21991         * modules/close (Depends-on): Likewise.
21992         * modules/connect (Depends-on): Likewise.
21993         * modules/cosl (Depends-on): Likewise.
21994         * modules/dirfd (Depends-on): Likewise.
21995         * modules/dprintf (Depends-on): Likewise.
21996         * modules/dprintf-posix (Depends-on): Likewise.
21997         * modules/error (Depends-on): Likewise.
21998         * modules/euidaccess (Depends-on): Likewise.
21999         * modules/expl (Depends-on): Likewise.
22000         * modules/faccessat (Depends-on): Likewise.
22001         * modules/fchdir (Depends-on): Likewise.
22002         * modules/fclose (Depends-on): Likewise.
22003         * modules/fcntl (Depends-on): Likewise.
22004         * modules/fdopendir (Depends-on): Likewise.
22005         * modules/fflush (Depends-on): Likewise.
22006         * modules/floor (Depends-on): Likewise.
22007         * modules/floorf (Depends-on): Likewise.
22008         * modules/floorl (Depends-on): Likewise.
22009         * modules/fnmatch (Depends-on): Likewise.
22010         * modules/fopen (Depends-on): Likewise.
22011         * modules/fprintf-posix (Depends-on): Likewise.
22012         * modules/frexp (Depends-on): Likewise.
22013         * modules/frexp-nolibm (Depends-on): Likewise.
22014         * modules/frexpl (Depends-on): Likewise.
22015         * modules/frexpl-nolibm (Depends-on): Likewise.
22016         * modules/fseek (Depends-on): Likewise.
22017         * modules/fsusage (Depends-on): Likewise.
22018         * modules/ftell (Depends-on): Likewise.
22019         * modules/ftello (Depends-on): Likewise.
22020         * modules/futimens (Depends-on): Likewise.
22021         * modules/getcwd (Depends-on): Likewise.
22022         * modules/getcwd-lgpl (Depends-on): Likewise.
22023         * modules/getdelim (Depends-on): Likewise.
22024         * modules/getdomainname (Depends-on): Likewise.
22025         * modules/getgroups (Depends-on): Likewise.
22026         * modules/gethostname (Depends-on): Likewise.
22027         * modules/getline (Depends-on): Likewise.
22028         * modules/getlogin_r (Depends-on): Likewise.
22029         * modules/getopt-posix (Depends-on): Likewise.
22030         * modules/getpeername (Depends-on): Likewise.
22031         * modules/getsockname (Depends-on): Likewise.
22032         * modules/getsockopt (Depends-on): Likewise.
22033         * modules/getsubopt (Depends-on): Likewise.
22034         * modules/getusershell (Depends-on): Likewise.
22035         * modules/glob (Depends-on): Likewise.
22036         * modules/grantpt (Depends-on): Likewise.
22037         * modules/iconv_open (Depends-on): Likewise.
22038         * modules/iconv_open-utf (Depends-on): Likewise.
22039         * modules/inet_ntop (Depends-on): Likewise.
22040         * modules/inet_pton (Depends-on): Likewise.
22041         * modules/ioctl (Depends-on): Likewise.
22042         * modules/isapipe (Depends-on): Likewise.
22043         * modules/isfinite (Depends-on): Likewise.
22044         * modules/isinf (Depends-on): Likewise.
22045         * modules/lchown (Depends-on): Likewise.
22046         * modules/ldexpl (Depends-on): Likewise.
22047         * modules/link (Depends-on): Likewise.
22048         * modules/linkat (Depends-on): Likewise.
22049         * modules/listen (Depends-on): Likewise.
22050         * modules/logl (Depends-on): Likewise.
22051         * modules/lstat (Depends-on): Likewise.
22052         * modules/mbrlen (Depends-on): Likewise.
22053         * modules/mbrtowc (Depends-on): Likewise.
22054         * modules/mbsinit (Depends-on): Likewise.
22055         * modules/mbsnrtowcs (Depends-on): Likewise.
22056         * modules/mbsrtowcs (Depends-on): Likewise.
22057         * modules/mbtowc (Depends-on): Likewise.
22058         * modules/memcmp (Depends-on): Likewise.
22059         * modules/mkdir (Depends-on): Likewise.
22060         * modules/mkdtemp (Depends-on): Likewise.
22061         * modules/mkfifo (Depends-on): Likewise.
22062         * modules/mkfifoat (Depends-on): Likewise.
22063         * modules/mknod (Depends-on): Likewise.
22064         * modules/mkostemp (Depends-on): Likewise.
22065         * modules/mkostemps (Depends-on): Likewise.
22066         * modules/mkstemp (Depends-on): Likewise.
22067         * modules/mkstemps (Depends-on): Likewise.
22068         * modules/mktime (Depends-on): Likewise.
22069         * modules/nanosleep (Depends-on): Likewise.
22070         * modules/open (Depends-on): Likewise.
22071         * modules/openat (Depends-on): Likewise.
22072         * modules/perror (Depends-on): Likewise.
22073         * modules/poll (Depends-on): Likewise.
22074         * modules/popen (Depends-on): Likewise.
22075         * modules/posix_spawn (Depends-on): Likewise.
22076         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
22077         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
22078         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
22079         * modules/posix_spawnp (Depends-on): Likewise.
22080         * modules/pread (Depends-on): Likewise.
22081         * modules/printf-posix (Depends-on): Likewise.
22082         * modules/ptsname (Depends-on): Likewise.
22083         * modules/putenv (Depends-on): Likewise.
22084         * modules/pwrite (Depends-on): Likewise.
22085         * modules/readline (Depends-on): Likewise.
22086         * modules/readlink (Depends-on): Likewise.
22087         * modules/readlinkat (Depends-on): Likewise.
22088         * modules/recv (Depends-on): Likewise.
22089         * modules/recvfrom (Depends-on): Likewise.
22090         * modules/regex (Depends-on): Likewise.
22091         * modules/remove (Depends-on): Likewise.
22092         * modules/rename (Depends-on): Likewise.
22093         * modules/renameat (Depends-on): Likewise.
22094         * modules/rmdir (Depends-on): Likewise.
22095         * modules/round (Depends-on): Likewise.
22096         * modules/roundf (Depends-on): Likewise.
22097         * modules/roundl (Depends-on): Likewise.
22098         * modules/rpmatch (Depends-on): Likewise.
22099         * modules/select (Depends-on): Likewise.
22100         * modules/send (Depends-on): Likewise.
22101         * modules/sendto (Depends-on): Likewise.
22102         * modules/setenv (Depends-on): Likewise.
22103         * modules/setlocale (Depends-on): Likewise.
22104         * modules/setsockopt (Depends-on): Likewise.
22105         * modules/shutdown (Depends-on): Likewise.
22106         * modules/sigaction (Depends-on): Likewise.
22107         * modules/signbit (Depends-on): Likewise.
22108         * modules/sigprocmask (Depends-on): Likewise.
22109         * modules/sinl (Depends-on): Likewise.
22110         * modules/sleep (Depends-on): Likewise.
22111         * modules/snprintf (Depends-on): Likewise.
22112         * modules/snprintf-posix (Depends-on): Likewise.
22113         * modules/socket (Depends-on): Likewise.
22114         * modules/sprintf-posix (Depends-on): Likewise.
22115         * modules/sqrtl (Depends-on): Likewise.
22116         * modules/stat (Depends-on): Likewise.
22117         * modules/strchrnul (Depends-on): Likewise.
22118         * modules/strdup-posix (Depends-on): Likewise.
22119         * modules/strerror (Depends-on): Likewise.
22120         * modules/strerror_r-posix (Depends-on): Likewise.
22121         * modules/strndup (Depends-on): Likewise.
22122         * modules/strnlen (Depends-on): Likewise.
22123         * modules/strptime (Depends-on): Likewise.
22124         * modules/strsep (Depends-on): Likewise.
22125         * modules/strsignal (Depends-on): Likewise.
22126         * modules/strstr-simple (Depends-on): Likewise.
22127         * modules/strtod (Depends-on): Likewise.
22128         * modules/strtoimax (Depends-on): Likewise.
22129         * modules/strtok_r (Depends-on): Likewise.
22130         * modules/strtoumax (Depends-on): Likewise.
22131         * modules/symlink (Depends-on): Likewise.
22132         * modules/symlinkat (Depends-on): Likewise.
22133         * modules/tanl (Depends-on): Likewise.
22134         * modules/tcgetsid (Depends-on): Likewise.
22135         * modules/tmpfile (Depends-on): Likewise.
22136         * modules/trunc (Depends-on): Likewise.
22137         * modules/truncf (Depends-on): Likewise.
22138         * modules/truncl (Depends-on): Likewise.
22139         * modules/uname (Depends-on): Likewise.
22140         * modules/unlink (Depends-on): Likewise.
22141         * modules/unlockpt (Depends-on): Likewise.
22142         * modules/unsetenv (Depends-on): Likewise.
22143         * modules/usleep (Depends-on): Likewise.
22144         * modules/utimensat (Depends-on): Likewise.
22145         * modules/vasprintf (Depends-on): Likewise.
22146         * modules/vdprintf (Depends-on): Likewise.
22147         * modules/vdprintf-posix (Depends-on): Likewise.
22148         * modules/vfprintf-posix (Depends-on): Likewise.
22149         * modules/vprintf-posix (Depends-on): Likewise.
22150         * modules/vsnprintf (Depends-on): Likewise.
22151         * modules/vsnprintf-posix (Depends-on): Likewise.
22152         * modules/vsprintf-posix (Depends-on): Likewise.
22153         * modules/wcrtomb (Depends-on): Likewise.
22154         * modules/wcscasecmp (Depends-on): Likewise.
22155         * modules/wcscspn (Depends-on): Likewise.
22156         * modules/wcsdup (Depends-on): Likewise.
22157         * modules/wcsncasecmp (Depends-on): Likewise.
22158         * modules/wcsnrtombs (Depends-on): Likewise.
22159         * modules/wcspbrk (Depends-on): Likewise.
22160         * modules/wcsrtombs (Depends-on): Likewise.
22161         * modules/wcsspn (Depends-on): Likewise.
22162         * modules/wcsstr (Depends-on): Likewise.
22163         * modules/wcstok (Depends-on): Likewise.
22164         * modules/wcswidth (Depends-on): Likewise.
22165         * modules/wctob (Depends-on): Likewise.
22166         * modules/wctomb (Depends-on): Likewise.
22167         * modules/wctype (Depends-on): Likewise.
22168         * modules/wcwidth (Depends-on): Likewise.
22169         * modules/write (Depends-on): Likewise.
22170
22171 2011-05-03  Bruno Haible  <bruno@clisp.org>
22172
22173         Support for conditional dependencies.
22174         * doc/gnulib.texi (Module description): Document the syntax of
22175         conditional dependencies.
22176         * gnulib-tool: New option --conditional-dependencies.
22177         (func_usage): Document it.
22178         (cond_dependencies): New variable.
22179         (func_get_automake_snippet_conditional,
22180         func_get_automake_snippet_unconditional): New functions, extracted from
22181         func_get_automake_snippet.
22182         (func_get_automake_snippet): Use them.
22183         (sed_first_32_chars): New variable.
22184         (func_module_shellfunc_name): New function.
22185         (func_module_shellvar_name): New function.
22186         (func_module_conditional_name): New function.
22187         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
22188         func_cond_module_condition): New functions.
22189         (func_modules_transitive_closure): Add support for conditional
22190         dependencies.
22191         (func_emit_lib_Makefile_am): For a conditional module, enclose the
22192         conditional automake snippet in an automake conditional.
22193         (func_emit_autoconf_snippets): Emit shell functions that contain the
22194         code for conditional modules.
22195         (func_import, func_create_testdir): Update specification.
22196
22197 2011-05-03  Eric Blake  <eblake@redhat.com>
22198
22199         test-getaddrinfo: report error information
22200         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
22201
22202 2011-05-03  Jim Meyering  <meyering@redhat.com>
22203
22204         bootstrap: avoid build failure when $GZIP is set
22205         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
22206         program name.  If defined at all, it is supposed to list gzip options.
22207         Reported by Alan Curry in http://debbugs.gnu.org/8609
22208
22209 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
22210
22211         readme-release: new module with release instructions
22212         * modules/readme-release: New module.
22213         * top/README-release: New file, from coreutils, grep, diffutils.
22214         * MODULES.html.sh (Support for maintaining and releasing): Add it.
22215
22216 2011-05-02  Eric Blake  <eblake@redhat.com>
22217
22218         fflush: also replace fclose when fixing fflush
22219         * modules/fflush (Depends-on): Add fclose.
22220         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
22221         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
22222         memstreams with no backing fd.
22223         * doc/posix-functions/fclose.texi (fclose): Document the use of
22224         fflush module to fix the bug.
22225         * tests/test-fclose.c (main): Relax test when fclose is used in
22226         isolation.
22227
22228         fclose: add some tests
22229         * modules/fclose-tests: New test module.
22230         * tests/test-fclose.c: New file.
22231         * doc/posix-functions/fclose.texi (fclose): Document the bug.
22232
22233         fclose: reduced dependencies
22234         * modules/fclose (Depends-on): Switch from fflush/fseeko to
22235         simpler lseek.
22236         * lib/fclose.c (rpl_fclose): Likewise.
22237         Reported by Simon Josefsson.
22238
22239         exit: drop remaining clients
22240         * modules/argmatch (Depends-on): Replace exit with stdlib.
22241         * modules/copy-file (Depends-on): Likewise.
22242         * modules/execute (Depends-on): Likewise.
22243         * modules/exitfail (Depends-on): Likewise.
22244         * modules/obstack (Depends-on): Likewise.
22245         * modules/pagealign_alloc (Depends-on): Likewise.
22246         * modules/pipe-filter-gi (Depends-on): Likewise.
22247         * modules/pipe-filter-ii (Depends-on): Likewise.
22248         * modules/savewd (Depends-on): Likewise.
22249         * modules/spawn-pipe (Depends-on): Likewise.
22250         * modules/wait-process (Depends-on): Likewise.
22251         * modules/xsetenv (Depends-on): Likewise.
22252         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
22253         * modules/git-merge-changelog (Depends-on): Likewise.
22254         * modules/long-options (Depends-on): Likewise.
22255         * modules/pt_chown (Depends-on): Likewise.
22256         * modules/sysexits (Depends-on): Likewise.
22257
22258         freading: relax license from LGPLv3+ to LGPLv2+
22259         * modules/freading (License): Relax LGPL version.
22260
22261 2011-05-02  Bruno Haible  <bruno@clisp.org>
22262
22263         fchdir: Remove unused dependencies.
22264         * modules/fchdir (Depends-on): Remove include_next.
22265
22266 2011-05-02  Bruno Haible  <bruno@clisp.org>
22267
22268         gnulib-tool: Refactor.
22269         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
22270         from func_emit_autoconf_snippets.
22271         (func_emit_autoconf_snippets): Use it.
22272
22273 2011-05-02  Simon Josefsson  <simon@josefsson.org>
22274
22275         * NEWS: Document removal of 'exit'.
22276         * modules/exit: Remove file.
22277
22278 2011-05-01  Bruno Haible  <bruno@clisp.org>
22279
22280         Update DEPENDENCIES.
22281         * DEPENDENCIES (gettext): Recommend the newest release.
22282         Reported by Simon Josefsson.
22283
22284 2011-05-01  Bruno Haible  <bruno@clisp.org>
22285
22286         gnulib-tool: Reduce code duplication.
22287         * gnulib-tool (func_emit_autoconf_snippets): New function.
22288         (func_import, func_create_testdir): Use it.
22289
22290 2011-04-30  Eric Blake  <eblake@redhat.com>
22291
22292         fclose: don't fail on non-seekable input stream
22293         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
22294         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
22295         since fflush is allowed to fail in that case.
22296
22297 2011-04-30  Bruno Haible  <bruno@clisp.org>
22298
22299         dup3: cleanup
22300         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
22301
22302 2011-04-30  Bruno Haible  <bruno@clisp.org>
22303
22304         netdb: Make it work in C++ mode.
22305         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
22306         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
22307         module.
22308         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
22309         gl_MODULE_INDICATOR_FOR_TESTS.
22310         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
22311         * modules/netdb-c++-tests: New file.
22312         * tests/test-netdb-c++.cc: New file.
22313
22314 2011-04-30  Bruno Haible  <bruno@clisp.org>
22315
22316         New modules 'vfscanf', 'vscanf'.
22317         * modules/vfscanf: New file.
22318         * modules/vscanf: New file.
22319         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
22320         here.
22321         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
22322         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
22323
22324 2011-04-30  Bruno Haible  <bruno@clisp.org>
22325
22326         passfd: Add comments.
22327         * lib/passfd.c: Add comments about platforms.
22328
22329 2011-04-30  Bruno Haible  <bruno@clisp.org>
22330
22331         sys_uio: Make <sys/uio.h> self-contained.
22332         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
22333         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
22334
22335 2011-04-30  Bruno Haible  <bruno@clisp.org>
22336
22337         sys_socket: Ensure 'struct iovec' definition.
22338         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
22339         <sys/socket.h>.
22340         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
22341
22342 2011-04-30  Bruno Haible  <bruno@clisp.org>
22343
22344         sys_uio: Protect definition of 'struct iovec'.
22345         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
22346         it as a C struct.
22347
22348 2011-04-30  Bruno Haible  <bruno@clisp.org>
22349
22350         manywarnings: fix indentation
22351         * m4/manywarnings.m4: Indent by 2 spaces consistently.
22352
22353 2011-04-30  Pádraig Brady <P@draigBrady.com>
22354
22355         manywarnings: add -Wno-missing-field-initializers if needed.
22356         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
22357         option if it's needed to allow initialization with { 0, }
22358
22359 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
22360
22361         announce-gen: cosmetic improvement
22362         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
22363
22364 2011-04-29  Jim Meyering  <meyering@redhat.com>
22365
22366         vc-list-files: indent with spaces, not TABs
22367         * build-aux/vc-list-files: Convert leading TABs to spaces,
22368         to match the style of most other files in gnulib.
22369
22370         announce-gen: indent with spaces, not TABs
22371         * build-aux/announce-gen: Convert all TABs to spaces, to match
22372         the style of most other files in gnulib.
22373
22374 2011-04-29  Eric Blake  <eblake@redhat.com>
22375
22376         quotearg: avoid uninitialized variable use
22377         * lib/quotearg.c (quoting_options_from_style): Initialize
22378         remaining fields, and ensure that custom styles are only used via
22379         quoting_options rather than quoting_style.
22380
22381 2011-04-29  Jim Meyering  <meyering@redhat.com>
22382
22383         maint.mk: remove unused VC-tag variable
22384         * top/maint.mk (VC-tag): Remove unused variable.
22385
22386 2011-04-29  Bruno Haible  <bruno@clisp.org>
22387
22388         netdb: fix gai_strerror replacements
22389         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
22390         * modules/netdb: Substitute it.
22391
22392 2011-04-29  Jim Meyering  <meyering@redhat.com>
22393
22394         test-getcwd.c: avoid new set-but-not-used warning
22395         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
22396         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
22397         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
22398         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
22399
22400         test-hash.c: avoid a new shadowing warning
22401         * tests/test-hash.c (main): Don't shadow "dup".
22402
22403 2011-04-28  Eric Blake  <eblake@redhat.com>
22404
22405         getaddrinfo: fix gai_strerror signature
22406         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
22407         and work around mingw with UNICODE defined.
22408         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
22409         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
22410         * modules/netdb (Makefile.am): Substitute it.
22411         * lib/netdb.in.h (gai_strerror): Declare replacement.
22412         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
22413         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
22414         the fix.
22415
22416         getsockopt: avoid compiler warning
22417         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
22418         Reported by Matthias Bolte.
22419
22420         tests: drop unused link dependency
22421         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
22422         * modules/dirent-safer-tests (Makefile.am): Likewise.
22423         * modules/fdopendir-tests (Makefile.am): Likewise.
22424         * modules/mkfifoat-tests (Makefile.am): Likewise.
22425         * modules/openat-safer-tests (Makefile.am): Likewise.
22426         * modules/openat-tests (Makefile.am): Likewise.
22427         * modules/readlinkat-tests (Makefile.am): Likewise.
22428         * modules/symlinkat-tests (Makefile.am): Likewise.
22429         * modules/linkat-tests (Makefile.am): Likewise.
22430         (Depends-on): Switch to filenamecat-lgpl.
22431         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
22432         LIBINTL.
22433         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
22434         * tests/test-linkat.c (main): Don't require xalloc.
22435
22436         hash, mgetgroups: drop xalloc dependency
22437         * lib/hash.c (includes): Adjust includes.
22438         * lib/mgetgroups.c (includes): Likewise.
22439         (xgetgroups): Move...
22440         * lib/xgetgroups.c: ...to new file.
22441         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
22442         * modules/xgetgroups: New file, split from...
22443         * modules/mgetgroups: ...here.
22444         (Depends-on): Add xalloc-oversized.
22445         * modules/hash (Depends-on): Likewise.
22446         * modules/hash-tests (Depends-on): Drop xalloc.
22447         (test_hash_LDADD): Drop unused library.
22448         * tests/test-hash.c (main): Break xalloc dependency.
22449         (includes): Drop unused include.
22450
22451         xalloc-oversized: new module
22452         * modules/xalloc-oversized: New module.
22453         * modules/xalloc (Depends-on): Add it.
22454         * lib/xalloc.h (xalloc_oversized): Move...
22455         * lib/xalloc-oversized.h: ...into new file.
22456
22457         utimecmp: drop dependency on xmalloc
22458         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
22459         due to memory pressure.
22460         * modules/utimecmp (Depends-on): Drop xalloc.
22461
22462 2011-04-27  Eric Blake  <eblake@redhat.com>
22463
22464         getcwd: fix mingw bugs
22465         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
22466         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
22467         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
22468
22469 2011-04-27  Bruno Haible  <bruno@clisp.org>
22470
22471         mkstemps: Ensure declaration on MacOS X 10.5.
22472         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
22473         * doc/glibc-functions/mkstemps.texi: Document header file problem on
22474         MacOS X.
22475
22476 2011-04-27  Bruno Haible  <bruno@clisp.org>
22477
22478         mkstemp: More documentation.
22479         * doc/posix-functions/mkstemp.texi: Document header file problem on
22480         MacOS X.
22481
22482 2011-04-27  Bruno Haible  <bruno@clisp.org>
22483
22484         mkstemp: Tweak configure message when cross-compiling.
22485         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
22486         result as a guess.
22487
22488 2011-04-27  Bruno Haible  <bruno@clisp.org>
22489
22490         clean-temp: Clarify what it does.
22491         * lib/clean-temp.h: Add more comments.
22492         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
22493         module.
22494         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
22495         * doc/glibc-functions/mkstemps.texi: Likewise.
22496         * doc/glibc-functions/mkostemps.texi: Likewise.
22497
22498 2011-04-27  Eric Blake  <eblake@redhat.com>
22499
22500         fchdir: avoid extra chdir and fix test
22501         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
22502         getcwd-lgpl.
22503         * lib/fchdir.c (get_name): Any absolute name will do; it does not
22504         have to be canonical.
22505         (canonicalize_file_name): Drop unused macro.
22506         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
22507
22508         filenamecat-lgpl: fix licence
22509         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
22510         when it was first created.
22511
22512         linkat, renameat: add missing dependency
22513         * modules/linkat (Depends-on): Require getcwd-lgpl.
22514         * modules/renameat (Depends-on): Likewise.
22515
22516         tests: reduce dependencies
22517         * tests/test-linkat.c (main): Use lighter-weight getcwd.
22518         * tests/test-renameat.c (main): Likewise.
22519         * modules/linkat-tests (Depends-on): Relax dependency.
22520         * modules/renameat-tests (Depends-on): Likewise.
22521         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
22522         dependency explicit.
22523
22524         save-cwd: reduce default dependency
22525         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
22526         * lib/save-cwd.c: Update comments.
22527         * NEWS: Document the semantic change.
22528
22529         getcwd: enhance tests
22530         * tests/test-getcwd-lgpl.c: New file, taken from...
22531         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
22532         repeat long path stress tests from m4 probe.
22533         * modules/getcwd-lgpl-tests: New module.
22534         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
22535         * m4/getcwd-abort-bug.m4: Update comment.
22536         * m4/getcwd-path-max.m4: Likewise.
22537
22538         getcwd-lgpl: new module
22539         * modules/getcwd-lgpl: New module.
22540         * lib/getcwd-lgpl.c: New file.
22541         * doc/posix-functions/getcwd.texi (getcwd): Document it.
22542         * MODULES.html.sh (lacking POSIX:2008): Likewise.
22543         * modules/getcwd (configure.ac): Set C witness.
22544         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
22545
22546         getcwd: tweak comments
22547         * m4/getcwd-abort-bug.m4: Fix comments.
22548         * m4/getcwd-path-max.m4: Likewise.
22549         * m4/getcwd.m4: Likewise.
22550
22551 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
22552         and Eric Blake  <eblake@redhat.com>
22553
22554         mkstemp: replace if system version uses wrong permissions
22555         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
22556         read/write mode bits set in file created by mkstemp.
22557         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
22558
22559 2011-04-27  Eric Blake  <eblake@redhat.com>
22560
22561         passfd: avoid compiler warning
22562         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
22563         Reported by Laine Stump.
22564
22565 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
22566
22567         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
22568         required by the NetBSD (and perhaps other 4.4BSD derived) join.
22569
22570 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
22571         and Eric Blake  <eblake@redhat.com>
22572
22573         mkstemp: mention clean-temp module
22574         * lib/mkstemp.c: Add comment.
22575         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
22576
22577 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
22578
22579         inttypes: also provide default values for 32-bit tests
22580         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
22581         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
22582
22583 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
22584
22585         strtoumax: remove dependency on strtoimax
22586         This is like the strtoull change of yesterday.
22587         * modules/strtoumax (Files): Add lib/strtoimax.c.
22588         (Depends-on): Remove strtoimax and add verify.
22589
22590         inttypes-incomplete: new module
22591         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
22592         all but the PRI* and SCN* parts of gl_INTTYPES_H.
22593         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
22594         of gl_INTTYPES_H.
22595         (gl_INTTYPES_H): Rewrite in terms of these new macros.
22596         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
22597         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
22598         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
22599         * modules/strtoumax, modules/xstrtol (Depends-on):
22600         Depend on inttypes-incomplete, not inttypes.
22601         * modules/inttypes-incomplete: New module, containing the contents
22602         of the old modules/inttypes module, except that the Files: section
22603         omits m4/inttypes-pri.m4, and the configure.ac section invokes
22604         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
22605         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
22606         (Depends-on): Depend only on inttypes-incomplete.
22607         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
22608
22609         inttypes: omit now-redundant strtoimax and strtoumax work
22610         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
22611         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
22612
22613         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
22614         This supports apps that need pointers to strtoimax and strtoumax,
22615         and ports to HP-UX 11.00 64.bit, which has macros that expand to
22616         nonexistent functions.  See
22617         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
22618         et seq.
22619         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
22620         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
22621         a macro.
22622         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22623
22624 2011-04-25  Simon Josefsson  <simon@josefsson.org>
22625
22626         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
22627
22628 2011-04-25  Bruno Haible  <bruno@clisp.org>
22629
22630         strtol, strtoul: Mark modules as obsolete.
22631         * modules/strtol (Status, Notice): New sections.
22632         * modules/strtoul (Status, Notice): New sections.
22633
22634 2011-04-25  Bruno Haible  <bruno@clisp.org>
22635
22636         strtod: Remove check for strtod, unless supporting old platforms.
22637         * modules/strtod-obsolete: New file.
22638         * m4/strtod-obsolete.m4: New file.
22639         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
22640         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
22641         * modules/strtod (Depends-on): Add strtod-obsolete.
22642         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
22643
22644 2011-04-25  Bruno Haible  <bruno@clisp.org>
22645
22646         strcase: Make module obsolete.
22647         * modules/strcase (Status, Notice): New sections.
22648
22649 2011-04-25  Bruno Haible  <bruno@clisp.org>
22650
22651         dup2: Remove check for dup2, unless supporting old obsolete platforms.
22652         * modules/dup2-obsolete: New file.
22653         * m4/dup2-obsolete.m4: New file.
22654         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
22655         gl_FUNC_DUP2_OBSOLETE is not also defined.
22656         * modules/dup2 (Depends-on): Add dup2-obsolete.
22657         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
22658
22659 2011-04-25  Bruno Haible  <bruno@clisp.org>
22660
22661         strnlen: Avoid memchr related link error on old obsolete platforms.
22662         * modules/memchr-obsolete: New file.
22663         * m4/memchr-obsolete.m4: New file.
22664         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
22665         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
22666         * modules/memchr (Depends-on): Add memchr-obsolete.
22667         * modules/strnlen (Depends-on): Likewise.
22668         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
22669
22670 2011-04-25  Jim Meyering  <meyering@redhat.com>
22671
22672         maint.mk: makefile_at_at_check extend and clean up
22673         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
22674         in addition to */Makefile.am.
22675         Exempt legitimate uses of @VAR@ notation, e.g.,
22676         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
22677         Remove obsolete coreutils-specific comment.
22678         Prompted by discussion here:
22679         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
22680
22681 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
22682
22683         strtoul: remove dependency on strtol
22684         This is so that 'configure' need not check for strtol merely because
22685         the application needs strtoul.
22686         * modules/strtoul (Files): Add lib/strtol.c.
22687         (Depends-on): Remove strtol.
22688
22689         strtoull: remove dependency on strtoul
22690         This is like the strtoll change.
22691         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
22692         (Depends-on): Remove strtoul.
22693
22694         strtoll: remove dependency on strtol
22695         This is so that 'configure' need not check for strtol merely because
22696         the application needs strtoll.
22697         * modules/strtoll (Files): Add lib/strtol.c.
22698         (Depends-on): Remove strtol.
22699
22700 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22701
22702         inttypes: Move some configure check to module 'imaxdiv'.
22703         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
22704         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
22705         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
22706
22707 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22708
22709         inttypes: Move some configure check to module 'imaxabs'.
22710         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
22711         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
22712         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
22713
22714 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22715
22716         inttypes: Remove configure tests that are not needed since 2009-12-31.
22717         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
22718         gl_cv_header_working_inttypes_h.
22719
22720 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22721
22722         * modules/strnlen (Depends-on): Remove memchr.
22723         The strnlen implementation doesn't need the memchr module's fixes; see
22724         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
22725
22726         strtol: remove dependency on wchar
22727         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
22728         * modules/strtol (Depends-on): Remove wchar.
22729
22730 2011-04-21  Eric Blake  <eblake@redhat.com>
22731
22732         passfd: fix test regression on Linux
22733         * modules/passfd-tests (configure.ac): Correct socketpair check.
22734
22735         passfd: speed up configure and drop unused code
22736         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
22737         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
22738         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
22739         Instead of probing at configure for unix_scm_rights_bsd44_way,
22740         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
22741         check to a struct member probe.
22742         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
22743         (sendfd, recvfd): Update preprocessor checks.
22744         * modules/passfd (Files): Reflect rename, and drop unused file.
22745         (Depends-on): Drop unused dependency.
22746
22747         passfd: allow compilation on mingw
22748         * modules/sys_socket (Depends-on): Add sys_uio.
22749         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
22750         iovec and a minimal struct msghdr.
22751         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
22752         * tests/test-sys_socket.c (main): Enhance test.
22753         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
22754         guaranteed to provide what we need.
22755         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
22756         * modules/passfd-tests (Depends-on): Add sys_wait.
22757         * tests/test-passfd.c (main): Skip test on mingw, for now.
22758         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
22759         partial 'struct msghdr' implementation.
22760
22761         sys_uio: new module
22762         * modules/sys_uio: New module.
22763         * modules/sys_uio-tests: Likewise.
22764         * lib/sys_uio.in.h: New file.
22765         * m4/sys_uio_h.m4: Likewise.
22766         * tests/test-sys_uio.c: Likewise.
22767         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
22768         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
22769
22770 2011-04-20  Jim Meyering  <meyering@redhat.com>
22771
22772         useless-if-before-free: avoid false-positive
22773         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
22774         disjunct so that it too requires a terminating ";".  Without that,
22775         this script would identify as useless one statement from gcc that
22776         was not:
22777           if (aligned_ptr)
22778             free (((void **) aligned_ptr) [-1]);
22779
22780 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
22781
22782         doc: update users.txt.
22783         * users.txt: Add barcode.
22784
22785 2011-04-19  Bruno Haible  <bruno@clisp.org>
22786
22787         ioctl: Remove link dependency on native Windows.
22788         * lib/fd-hook.h: Renamed from lib/close-hook.h.
22789         (gl_close_fn, gl_ioctl_fn): New types.
22790         (struct fd_hook): Renamed from struct close_hook. Change type of
22791         private_close_fn field. Add private_ioctl_fn field.
22792         (close_hook_fn): Add parameter for primary close method.
22793         (execute_close_hooks, execute_all_close_hooks): Likewise.
22794         (ioctl_hook_fn): New type.
22795         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
22796         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22797         argument.
22798         (unregister_fd_hook): Renamed from unregister_close_hook.
22799         * lib/fd-hook.c: Renamed from lib/close-hook.c.
22800         Don't include <unistd.h>.
22801         (close): Remove undef.
22802         (anchor): Update.
22803         (execute_close_hooks): Add argument for primary close method.
22804         (execute_all_close_hooks): Likewise.
22805         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
22806         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22807         argument. Allow each argument to be NULL.
22808         (unregister_fd_hook): Renamed from unregister_close_hook.
22809         * lib/close.c (rpl_close): Pass 'close' function pointer to
22810         execute_all_close_hooks.
22811         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
22812         (primary_ioctl): New function.
22813         (ioctl): Don't call ioctlsocket here. Instead, call
22814         execute_all_ioctl_hooks.
22815         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
22816         close method.
22817         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
22818         (fd_sockets_hook): Renamed from close_sockets_hook.
22819         (gl_sockets_startup, gl_sockets_cleanup): Update.
22820         * modules/fd-hook: Renamed from modules/close-hook. Update.
22821         * modules/close (Depends-on): Add fd-hook, remove close-hook.
22822         * modules/sockets (Depends-on): Likewise.
22823         * modules/ioctl (Depends-on): Add fd-hook.
22824         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
22825         GNULIB_SOCKET.
22826
22827 2011-04-19  Bruno Haible  <bruno@clisp.org>
22828
22829         Move the support of O_NONBLOCK in open() to the 'open' module.
22830         * modules/nonblocking (Depends-on): Remove 'open'.
22831         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
22832         gl_cv_have_open_O_NONBLOCK.
22833         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
22834         O_NONBLOCK support.
22835         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
22836
22837 2011-04-17  Bruno Haible  <bruno@clisp.org>
22838
22839         pipe2: Simplify code.
22840         * lib/pipe2.c (pipe2): Reduce code duplication.
22841
22842 2011-04-17  Bruno Haible  <bruno@clisp.org>
22843
22844         nonblocking: Add comment.
22845         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
22846
22847 2011-04-17  Bruno Haible  <bruno@clisp.org>
22848
22849         nonblocking: Add tests for sockets.
22850         * tests/test-nonblocking-socket.sh: New file.
22851         * tests/test-nonblocking-socket-main.c: New file.
22852         * tests/test-nonblocking-socket-child.c: New file.
22853         * tests/test-nonblocking-socket.h: New file.
22854         * tests/socket-server.h: New file.
22855         * tests/socket-client.h: New file.
22856         * modules/nonblocking-socket-tests: New file.
22857         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
22858
22859 2011-04-17  Bruno Haible  <bruno@clisp.org>
22860
22861         nonblocking: Add tests for pipes.
22862         * tests/test-nonblocking-pipe.sh: New file.
22863         * tests/test-nonblocking-pipe-main.c: New file.
22864         * tests/test-nonblocking-pipe-child.c: New file.
22865         * tests/test-nonblocking-pipe.h: New file.
22866         * tests/test-nonblocking-writer.h: New file.
22867         * tests/test-nonblocking-reader.h: New file.
22868         * tests/test-nonblocking-misc.h: New file.
22869         * modules/nonblocking-pipe-tests: New file.
22870         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
22871
22872 2011-04-16  Bruno Haible  <bruno@clisp.org>
22873
22874         gettext: Clarify the needed programmer actions.
22875         * modules/gettext (Notice): New field.
22876         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
22877
22878 2011-04-16  Bruno Haible  <bruno@clisp.org>
22879
22880         strchrnul: Tweak last commit.
22881         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
22882         bug.
22883         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
22884         as in _GL_FUNCDECL_SYS.
22885         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
22886         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
22887
22888 2011-04-15  Eric Blake  <eblake@redhat.com>
22889
22890         strchrnul: work around cygwin bug
22891         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
22892         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
22893         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
22894         * modules/string (Makefile.am): Substitute it.
22895         * lib/string.in.h (strchrnul): Use it.
22896
22897 2011-04-15  Bruno Haible  <bruno@clisp.org>
22898
22899         Don't require lib/stdio-write.c when only module 'stdio' is used.
22900         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
22901         invocation.
22902         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
22903
22904 2011-04-14  Bruno Haible  <bruno@clisp.org>
22905
22906         Support non-blocking pipe I/O in read() on native Windows.
22907         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
22908         (read): New declaration.
22909         * lib/read.c: New file.
22910         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
22911         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
22912         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
22913         vscanf): New declarations.
22914         * lib/stdio-read.c: New file.
22915         * m4/read.m4: New file.
22916         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
22917         REPLACE_READ.
22918         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
22919         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22920         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
22921         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
22922         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
22923         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22924         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22925         * modules/read: New file.
22926         * modules/nonblocking (Files): Add lib/stdio-read.c.
22927         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
22928         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
22929         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22930         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22931         * modules/pread (Depends-on): Add read.
22932         * modules/safe-read (Depends-on): Likewise.
22933         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
22934         gets, scanf, vfscanf, vscanf): Verify signatures.
22935         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
22936         problem with non-blocking pipes.
22937         * doc/posix-functions/fgetc.texi: Likewise.
22938         * doc/posix-functions/fgets.texi: Likewise.
22939         * doc/posix-functions/fread.texi: Likewise.
22940         * doc/posix-functions/fscanf.texi: Likewise.
22941         * doc/posix-functions/getc.texi: Likewise.
22942         * doc/posix-functions/getchar.texi: Likewise.
22943         * doc/posix-functions/gets.texi: Likewise.
22944         * doc/posix-functions/scanf.texi: Likewise.
22945         * doc/posix-functions/vfscanf.texi: Likewise.
22946         * doc/posix-functions/vscanf.texi: Likewise.
22947
22948 2011-04-14  Bruno Haible  <bruno@clisp.org>
22949
22950         Support non-blocking pipe I/O in write() on native Windows.
22951         * lib/write.c (rpl_write): Split a write request that failed merely
22952         because the byte count was larger than the pipe buffer's size.
22953         * doc/posix-functions/write.texi: Mention the problem with large byte
22954         counts.
22955
22956 2011-04-14  Bruno Haible  <bruno@clisp.org>
22957
22958         wchar: Ensure that wchar_t gets defined on uClibc.
22959         * lib/wchar.in.h: On uClibc, include <stddef.h>.
22960         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
22961
22962 2011-04-13  Bruno Haible  <bruno@clisp.org>
22963
22964         safe-write, full-read: Avoid unnecessary compilation units.
22965         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
22966         (Depends-on): Remove safe-read. Add ssize_t.
22967         * modules/full-read (Files): Add lib/full-write.c.
22968         (Depends-on): Add full-write.
22969
22970 2011-04-13  Bruno Haible  <bruno@clisp.org>
22971
22972         Support non-blocking pipe I/O and SIGPIPE in pwrite().
22973         * modules/pwrite (Depends-on): Add 'write'.
22974
22975 2011-04-13  Bruno Haible  <bruno@clisp.org>
22976
22977         Support non-blocking pipe I/O in write() on native Windows.
22978         * lib/unistd.in.h (write): Enable replacement also if
22979         GNULIB_UNISTD_H_NONBLOCKING is 1.
22980         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
22981         (rpl_write): When failing to write on a non-blocking pipe, change
22982         errno from ENOSPC to EAGAIN.
22983         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
22984         putchar, puts, vfprintf, vprintf): Enable replacement also if
22985         GNULIB_STDIO_H_NONBLOCKING is 1.
22986         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
22987         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
22988         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
22989         CALL_WITH_SIGPIPE_EMULATION.
22990         (CALL_WITH_SIGPIPE_EMULATION): Use them.
22991         * m4/nonblocking.m4: New file.
22992         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
22993         for non-blocking I/O support.
22994         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22995         GNULIB_UNISTD_H_NONBLOCKING.
22996         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
22997         required for non-blocking I/O support.
22998         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
22999         * modules/nonblocking (Files): Add m4/nonblocking.m4,
23000         lib/stdio-write.c, m4/asm-underscore.m4.
23001         (Depends-on): Add stdio, unistd.
23002         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
23003         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
23004         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
23005         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
23006         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
23007         problem with non-blocking pipes.
23008         * doc/posix-functions/fputc.texi: Likewise.
23009         * doc/posix-functions/fputs.texi: Likewise.
23010         * doc/posix-functions/fwrite.texi: Likewise.
23011         * doc/posix-functions/printf.texi: Likewise.
23012         * doc/posix-functions/putc.texi: Likewise.
23013         * doc/posix-functions/putchar.texi: Likewise.
23014         * doc/posix-functions/puts.texi: Likewise.
23015         * doc/posix-functions/vfprintf.texi: Likewise.
23016         * doc/posix-functions/vprintf.texi: Likewise.
23017         * doc/posix-functions/write.texi: Likewise.
23018
23019 2011-04-10  Jim Meyering  <meyering@redhat.com>
23020
23021         maint.mk: prohibit doubled words
23022         Detect them also when they're separated by a newline.
23023         There are 3 ways to customize it:
23024           - disable the test on a per file basis, as usual with rules using
23025             $(VC_LIST_EXCEPT)
23026           - replace the default doubled-word-selecting regexp (affects all files)
23027           - ignore a particular file-vs-doubled-word match
23028         I nearly used that last one to ignore the "is is" match in
23029         coreutils' NEWS file, since the text was "ls -is is ..."
23030         To do that, I would have added this line to cfg.mk:
23031           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
23032         but it would have ignored any "is is" match in NEWS.
23033         Low probability, but still...
23034         Instead, I changed the text, slightly:
23035           -  ls -is is now consistent with ls -lis in ignoring values returned
23036           +  "ls -is" is now consistent with ls -lis in ignoring values returned
23037         * top/maint.mk (prohibit_double_word_RE_): Provide default.
23038         (prohibit_doubled_word_): Define.
23039         (sc_prohibit_doubled_word): New rule.
23040         (sc_prohibit_the_the): Remove.  Subsumed by the above.
23041
23042 2011-04-10  Jim Meyering  <meyering@redhat.com>
23043
23044         maint: fix doubled-word typo in comment
23045         * m4/gethostname.m4: s/is is/it is/
23046         * m4/getdomainname.m4: Likewise.
23047
23048 2011-04-10  Jim Meyering  <meyering@redhat.com>
23049
23050         maint: remove doubled word: s/it it/it/
23051         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
23052
23053 2011-04-10  Jim Meyering  <meyering@redhat.com>
23054
23055         maint.mk: remove useless semicolon and backslash
23056         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
23057         semicolon and backslash.
23058
23059 2011-04-10  Bruno Haible  <bruno@clisp.org>
23060
23061         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
23062         * modules/stdint-tests (Depends-on): Add wchar.
23063
23064 2011-04-10  Jim Meyering  <meyering@redhat.com>
23065
23066         maint: remove doubled words in comments, e.g., s/a a/a/
23067         * lib/strptime.c (day_of_the_week): s/the the/the/
23068         * tests/test-chown.h (test_chown): s/a a/a/
23069
23070         test-chown.h: correct a cast
23071         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
23072         when the destination is a stat.st_gid.
23073
23074 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
23075
23076         getaddrinfo: Fix test for sa_len member.
23077         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
23078         include <sys/types.h> before <sys/socket.h>.
23079
23080 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
23081
23082         maint: change "can not" to "cannot"
23083         * doc/posix-functions/iconv.texi (iconv): This one crossed line
23084         boundaries.
23085
23086 2011-04-09  Jim Meyering  <meyering@redhat.com>
23087
23088         maint: change "a a" to "a"
23089         * tests/test-lchown.h (test_lchown): s/a a/a/
23090
23091         maint.mk: prohibit \<the the\>
23092         * top/maint.mk (sc_prohibit_the_the): New rule.
23093
23094         maint: fix "the the" in comment
23095         * lib/count-one-bits.h: s/the the/the/
23096
23097         maint: change "can not" to "cannot"
23098         But do not change the occurrences in maintain.texi or in
23099         build-aux/po/Makefile.in.in, which I presume comes from gettext.
23100         * doc/gnulib-tool.texi: s/can not/cannot/
23101         * doc/posix-functions/accept.texi (accept): Likewise.
23102         * doc/posix-functions/socket.texi (socket): Likewise.
23103         * lib/mbrtowc.c: Likewise.
23104
23105         maint.mk: prohibit use of "can not"
23106         * top/maint.mk (sc_prohibit_can_not): New rule.
23107         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
23108
23109 2011-04-09  Bruno Haible  <bruno@clisp.org>
23110
23111         careadlinkat: Guard against misuse of careadlinkatcwd.
23112         * lib/careadlinkat.c: Include <stdlib.h>.
23113         (careadlinkatcwd): Check that the fd argument is as expected.
23114
23115 2011-04-09  Bruno Haible  <bruno@clisp.org>
23116
23117         careadlinkat: Use common coding style.
23118         * lib/careadlinkat.c: Move gnulib includes after system includes.
23119
23120 2011-04-09  Bruno Haible  <bruno@clisp.org>
23121
23122         careadlinkat: Clarify specification.
23123         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
23124         (careadlinkatcwd): Add comment.
23125         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
23126
23127 2011-04-09  Bruno Haible  <bruno@clisp.org>
23128
23129         areadlinkat: Avoid link error on many platforms.
23130         * modules/areadlinkat (Depends-on): Add areadlink.
23131
23132 2011-04-09  Bruno Haible  <bruno@clisp.org>
23133
23134         allocator, careadlinkat: Fix double-inclusion guard.
23135         * lib/allocator.h: Fix double-inclusion guard.
23136         * lib/careadlinkat.h: Likewise.
23137
23138 2011-04-09  Bruno Haible  <bruno@clisp.org>
23139
23140         relocatable-prog-wrapper: Update after module 'areadlink' changed.
23141         * lib/relocwrapper.c: Update dependencies hierarchy.
23142         * build-aux/install-reloc: Update list of files to be compiled.
23143         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
23144         lib/allocator.[hc].
23145
23146 2011-04-08  Eric Blake  <eblake@redhat.com>
23147
23148         strftime: silence gnulib-tool warning
23149         * modules/strftime-tests (Depends-on): Drop automatic dependency.
23150
23151 2011-04-08  Bruno Haible  <bruno@clisp.org>
23152
23153         verify: Fix syntax error with GCC 4.6 in C++ mode.
23154         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
23155         (HAVE_STATIC_ASSERT): New macro.
23156         (verify_true, verify): Use 'static_assert' if it is supported and
23157         '_Static_assert' is not supported.
23158
23159 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
23160
23161         allocator: New module.
23162         * modules/allocator, lib/allocator.c: New files.
23163         * lib/allocator.h (stdlib_allocator): New decl.
23164         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
23165         Remove.  Do not include <stdlib.h>.
23166         (careadlinkat): Use stdlib_allocator instead of rolling our own.
23167         * modules/careadlinkat (Files): Remove lib/allocator.h.
23168         (Depends-on): Add allocator.
23169
23170         stdlib: let modules use system malloc, realloc
23171         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
23172         if !_GL_USE_STDLIB_ALLOC.
23173         (malloc, realloc): Limit this change to a smaller scope.
23174
23175         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
23176         (malloc, realloc): Don't #undef; no longer needed.
23177         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
23178         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
23179         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
23180         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
23181         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
23182         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
23183         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
23184         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
23185
23186         careadlinkat: rename members to avoid problem
23187         * lib/allocator.h (struct allocator): Rename members from
23188         malloc/realloc to allocate/reallocate, to avoid problems if malloc
23189         and realloc are #define'd.  Reported by Eric Blake in
23190         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
23191         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
23192
23193 2011-04-08  Eric Blake  <eblake@redhat.com>
23194
23195         nonblocking: reduce dependency
23196         * tests/test-nonblocking.c: Only test sockets when in use.
23197         * modules/nonblocking-tests (Depends-on): Drop socket.
23198         (Makefile.am): Link even if sockets are not present.
23199         * modules/pipe2-tests (Makefile.am): Likewise.
23200         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
23201
23202         pipe2: fix O_NONBLOCK support on mingw
23203         * modules/pipe2 (Depends-on): Add nonblocking.
23204         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
23205         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
23206         * tests/test-nonblocking.c (main): Likewise.
23207         * modules/pipe2-tests (Makefile.am): Avoid link failure.
23208
23209         fcntl-h: fix O_ACCMODE on cygwin
23210         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
23211         * lib/fcntl.in.h (O_ACCMODE): Fix it.
23212
23213         pipe-filter: drop O_NONBLOCK workarounds
23214         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
23215         * modules/pipe-filter-ii (Depends-on): Likewise.
23216         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
23217
23218         nonblocking: provide O_NONBLOCK for mingw
23219         * modules/nonblocking (Depends-on): Add open.
23220         (configure.ac): Set new witness macro.
23221         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
23222         * modules/fcntl-h (Makefile.am): Substitute it.
23223         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
23224         nonblocking module is in use.
23225         * lib/nonblocking.c: Adjust portability test.
23226         * lib/open.c (open): Don't let native open see gnulib flag.
23227         * tests/test-fcntl-h.c (main): Enhance test.
23228         * tests/test-open.h (test_open): Likewise.
23229         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
23230
23231         careadlinkat: fix compilation error on mingw
23232         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
23233         within struct allocator.
23234
23235 2011-04-06  Eric Blake  <eblake@redhat.com>
23236
23237         binary-io: relicense under LGPLv2+
23238         * modules/binary-io (License): Relax to LGPLv2+.
23239         Requested for libvirt, and required by pipe2.
23240
23241 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
23242
23243         verify: use _Static_assert if available
23244         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
23245         (verify_true, verify): Use it if available.  This generates better
23246         diagnostics with GCC 4.6.0 and later.
23247
23248 2011-04-05  Bruno Haible  <bruno@clisp.org>
23249
23250         Remove leftover generated .h files after config.status changed.
23251
23252         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
23253         GL_GENERATE_ALLOCA_H.
23254         * modules/alloca-opt (Makefile.am): Remove alloca.h if
23255         GL_GENERATE_ALLOCA_H evaluates to false.
23256
23257         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
23258         GL_GENERATE_ARGZ_H.
23259         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
23260         evaluates to false.
23261
23262         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
23263         GL_GENERATE_BYTESWAP_H.
23264         * modules/byteswap (Makefile.am): Remove byteswap.h if
23265         GL_GENERATE_BYTESWAP_H evaluates to false.
23266
23267         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
23268         GL_GENERATE_ERRNO_H.
23269         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
23270         evaluates to false.
23271
23272         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
23273         GL_GENERATE_FLOAT_H.
23274         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
23275         evaluates to false.
23276
23277         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
23278         GL_GENERATE_FNMATCH_H.
23279         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
23280         GL_GENERATE_FNMATCH_H evaluates to false.
23281
23282         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
23283         GL_GENERATE_GLOB_H.
23284         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
23285         evaluates to false.
23286
23287         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
23288         automake conditional GL_GENERATE_ICONV_H.
23289         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
23290         evaluates to false.
23291
23292         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
23293         GL_GENERATE_NETINET_IN_H.
23294         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
23295         GL_GENERATE_NETINET_IN_H evaluates to false.
23296
23297         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
23298         conditional GL_GENERATE_PTHREAD_H.
23299         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
23300         * modules/pthread (Makefile.am): Remove pthread.h if
23301         GL_GENERATE_PTHREAD_H evaluates to false.
23302
23303         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
23304         GL_GENERATE_SCHED_H.
23305         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
23306         evaluates to false.
23307
23308         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
23309         conditional GL_GENERATE_SELINUX_CONTEXT_H.
23310         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
23311         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
23312
23313         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
23314         GL_GENERATE_STDARG_H.
23315         * modules/stdarg (Makefile.am): Remove stdarg.h if
23316         GL_GENERATE_STDARG_H evaluates to false.
23317
23318         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
23319         GL_GENERATE_STDBOOL_H.
23320         * modules/stdbool (Makefile.am): Remove stdbool.h if
23321         GL_GENERATE_STDBOOL_H evaluates to false.
23322
23323         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
23324         conditional GL_GENERATE_STDDEF_H.
23325         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
23326         * modules/stddef (Makefile.am): Remove stddef.h if
23327         GL_GENERATE_STDDEF_H evaluates to false.
23328
23329         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
23330         GL_GENERATE_STDINT_H.
23331         * modules/stdint (Makefile.am): Remove stdint.h if
23332         GL_GENERATE_STDINT_H evaluates to false.
23333
23334         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
23335         GL_GENERATE_SYSEXITS_H.
23336         * modules/sysexits (Makefile.am): Remove sysexits.h if
23337         GL_GENERATE_SYSEXITS_H evaluates to false.
23338
23339         Reported by Karl Berry and Ralf Wildenhues.
23340
23341 2011-04-05  Bruno Haible  <bruno@clisp.org>
23342
23343         Ensure to rebuild generated .h files when config.status has changed.
23344         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
23345         config.status.
23346         * modules/ctype (Makefile.am): Likewise.
23347         * modules/dirent (Makefile.am): Likewise.
23348         * modules/errno (Makefile.am): Likewise.
23349         * modules/fcntl-h (Makefile.am): Likewise.
23350         * modules/float (Makefile.am): Likewise.
23351         * modules/getopt-posix (Makefile.am): Likewise.
23352         * modules/glob (Makefile.am): Likewise.
23353         * modules/iconv-h (Makefile.am): Likewise.
23354         * modules/inttypes (Makefile.am): Likewise.
23355         * modules/langinfo (Makefile.am): Likewise.
23356         * modules/locale (Makefile.am): Likewise.
23357         * modules/math (Makefile.am): Likewise.
23358         * modules/netdb (Makefile.am): Likewise.
23359         * modules/netinet_in (Makefile.am): Likewise.
23360         * modules/poll-h (Makefile.am): Likewise.
23361         * modules/pthread (Makefile.am): Likewise.
23362         * modules/pty (Makefile.am): Likewise.
23363         * modules/sched (Makefile.am): Likewise.
23364         * modules/search (Makefile.am): Likewise.
23365         * modules/selinux-h (Makefile.am): Likewise.
23366         * modules/signal (Makefile.am): Likewise.
23367         * modules/spawn (Makefile.am): Likewise.
23368         * modules/stdarg (Makefile.am): Likewise.
23369         * modules/stdbool (Makefile.am): Likewise.
23370         * modules/stddef (Makefile.am): Likewise.
23371         * modules/stdint (Makefile.am): Likewise.
23372         * modules/stdio (Makefile.am): Likewise.
23373         * modules/stdlib (Makefile.am): Likewise.
23374         * modules/string (Makefile.am): Likewise.
23375         * modules/strings (Makefile.am): Likewise.
23376         * modules/sys_file (Makefile.am): Likewise.
23377         * modules/sys_ioctl (Makefile.am): Likewise.
23378         * modules/sys_select (Makefile.am): Likewise.
23379         * modules/sys_socket (Makefile.am): Likewise.
23380         * modules/sys_stat (Makefile.am): Likewise.
23381         * modules/sys_time (Makefile.am): Likewise.
23382         * modules/sys_times (Makefile.am): Likewise.
23383         * modules/sys_utsname (Makefile.am): Likewise.
23384         * modules/sys_wait (Makefile.am): Likewise.
23385         * modules/sysexits (Makefile.am): Likewise.
23386         * modules/termios (Makefile.am): Likewise.
23387         * modules/time (Makefile.am): Likewise.
23388         * modules/unistd (Makefile.am): Likewise.
23389         * modules/wchar (Makefile.am): Likewise.
23390         * modules/wctype-h (Makefile.am): Likewise.
23391         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
23392
23393 2011-04-05  Bruno Haible  <bruno@clisp.org>
23394
23395         pipe2: Relicense under LGPLv2+.
23396         * modules/pipe2 (License): Change to LGPLv2+.
23397         Requested by Eric Blake, for libvirt.
23398
23399 2011-04-05  Bruce Korb  <bkorb@gnu.org>
23400
23401         bootstrap: compute gnulib_extra_files after updating build_aux
23402         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
23403         change build_aux or also supply gnulib_extra_files.  Handle correctly.
23404
23405 2011-04-05  Eric Blake  <eblake@redhat.com>
23406
23407         bootstrap: preserve git whitelist item sorting
23408         * build-aux/bootstrap (sort_patterns): New function.
23409         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
23410
23411 2011-04-05  Simon Josefsson  <simon@josefsson.org>
23412
23413         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
23414         sc_space_tab check.
23415
23416 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
23417
23418         areadlink, areadlinkat: rewrite in terms of careadlinkat
23419         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
23420         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
23421         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
23422         (malloc, realloc): Remove #undefs.
23423         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
23424         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
23425         readlink, ssize_t, stdint, unistd.
23426         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
23427         areadlink, stdint.
23428
23429         careadlinkat: new module
23430         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
23431         * modules/careadlinkat: New files, written by me with
23432         a review and feedback from Ben Pfaff in
23433         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
23434
23435 2011-04-01  Bruno Haible  <bruno@clisp.org>
23436
23437         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
23438         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
23439         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
23440         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
23441         Reported by Bruce Korb <bruce.korb@gmail.com>.
23442
23443 2011-04-01  Bruno Haible  <bruno@clisp.org>
23444
23445         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
23446         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
23447         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
23448         * modules/wcpcpy (Depends-on): Add extensions.
23449         * modules/wcpncpy (Depends-on): Likewise.
23450         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
23451         systems.
23452         * doc/posix-functions/wcpncpy.texi: Likewise.
23453         * doc/posix-functions/wcwidth.texi: Likewise.
23454
23455 2011-03-31  Eric Blake  <eblake@redhat.com>
23456
23457         nonblocking: fix mingw test failures
23458         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
23459         non-blocking flag on regular file.
23460         (get_nonblocking_flag): Set errno on invalid fd.
23461         * tests/test-nonblocking.c (main): Avoid test failure on
23462         directories if fchdir is not active.
23463         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
23464
23465 2011-03-31  Bruno Haible  <bruno@clisp.org>
23466
23467         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
23468         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
23469         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
23470         Reported by Simon Josefsson <simon@josefsson.org>.
23471
23472 2011-03-31  Bruno Haible  <bruno@clisp.org>
23473         and Eric Blake  <eblake@redhat.com>
23474
23475         nonblocking: new module
23476         * modules/nonblocking: New module.
23477         * modules/nonblocking-tests: Likewise.
23478         * lib/nonblocking.h: New file.
23479         * lib/nonblocking.c: Likewise.
23480         * tests/test-nonblocking.c: New test.
23481         * lib/ioctl.c (ioctl) [mingw]: Update comment.
23482
23483 2011-03-30  Bruno Haible  <bruno@clisp.org>
23484
23485         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
23486         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
23487         instead of 'printf' format for GCC >= 4.4.
23488         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
23489         (fprintf, printf, vfprintf, vprintf): Declare with
23490         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
23491         the system's vfprintf() function.
23492         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
23493
23494 2011-03-30  Eric Blake  <eblake@redhat.com>
23495
23496         passfd: fix scoping bug
23497         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
23498         before sendmsg/recvmsg.
23499
23500         passfd: standardize coding conventions
23501         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
23502         can be learned at compile time.
23503         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
23504         ifdefs.
23505         (sendfd, recvfd): Follow gnulib code conventions.
23506
23507         passfd: fix incorrect sendmsg arguments
23508         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
23509         incorrect msg_controllen value.
23510         * modules/passfd-tests (Depends-on): Check for alarm.
23511         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
23512         Reported by Bastien ROUCARIES.
23513
23514 2011-03-30  Bruno Haible  <bruno@clisp.org>
23515
23516         c-strcasestr: Relicense under LGPLv2+.
23517         * modules/c-strcasestr (License): Change to LGPLv2+.
23518         Requested by Eric Blake, for libvirt.
23519
23520 2011-03-30  Simon Josefsson  <simon@josefsson.org>
23521
23522         * users.txt: Add libidn2.  Fix libtasn1 link.
23523
23524 2011-03-30  Jim Meyering  <meyering@redhat.com>
23525
23526         tests: readlink* ("",... fails with EINVAL on newer kernels
23527         readlink and readlinkat have typically failed with ENOENT for
23528         the invalid, empty file name,  "".  However, with the advent
23529         of linux-2.6.39, they fail with EINVAL.
23530         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
23531         when operating on the empty file name.
23532         * tests/test-readlink.h (test_readlink): Likewise.
23533
23534 2011-03-29  Bruno Haible  <bruno@clisp.org>
23535
23536         Relicense some modules under LGPLv2+, for libidn2.
23537         * modules/array-mergesort (License): Change to LGPLv2+.
23538         * modules/c-strcaseeq (License): Likewise.
23539         * modules/striconveh (License): Likewise.
23540         * modules/striconveha (License): Likewise.
23541         * modules/uniconv/base (License): Likewise.
23542         * modules/uniconv/u8-conv-from-enc (License): Likewise.
23543         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
23544         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
23545         * modules/unictype/base (License): Likewise.
23546         * modules/unictype/bidiclass-of (License): Likewise.
23547         * modules/unictype/category-M (License): Likewise.
23548         * modules/unictype/category-none (License): Likewise.
23549         * modules/unictype/category-of (License): Likewise.
23550         * modules/unictype/category-test (License): Likewise.
23551         * modules/unictype/category-test-withtable (License): Likewise.
23552         * modules/unictype/combining-class (License): Likewise.
23553         * modules/unictype/joiningtype-of (License): Likewise.
23554         * modules/unictype/scripts (License): Likewise.
23555         * modules/uninorm/base (License): Likewise.
23556         * modules/uninorm/canonical-decomposition (License): Likewise.
23557         * modules/uninorm/composition (License): Likewise.
23558         * modules/uninorm/decompose-internal (License): Likewise.
23559         * modules/uninorm/decomposition-table (License): Likewise.
23560         * modules/uninorm/nfc (License): Likewise.
23561         * modules/uninorm/nfd (License): Likewise.
23562         * modules/uninorm/u32-normalize (License): Likewise.
23563         * modules/unistr/base (License): Likewise.
23564         * modules/unistr/u32-cpy (License): Likewise.
23565         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
23566         * modules/unistr/u32-to-u8 (License): Likewise.
23567         * modules/unistr/u32-uctomb (License): Likewise.
23568         * modules/unistr/u8-check (License): Likewise.
23569         * modules/unistr/u8-mblen (License): Likewise.
23570         * modules/unistr/u8-mbtouc (License): Likewise.
23571         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
23572         * modules/unistr/u8-mbtoucr (License): Likewise.
23573         * modules/unistr/u8-prev (License): Likewise.
23574         * modules/unistr/u8-strlen (License): Likewise.
23575         * modules/unistr/u8-to-u32 (License): Likewise.
23576         * modules/unistr/u8-uctomb (License): Likewise.
23577         * modules/unitypes (License): Likewise.
23578         Requested by Simon Josefsson.
23579
23580 2011-03-29  Simon Josefsson  <simon@josefsson.org>
23581
23582         lib-symbol-visibility: Add a notice.
23583         * modules/lib-symbol-visibility (Notice): New field.
23584
23585 2011-03-29  Bruno Haible  <bruno@clisp.org>
23586
23587         getaddrinfo: Doc fix.
23588         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
23589         section "fixed in Gnulib".
23590
23591 2011-03-28  Simon Josefsson  <simon@josefsson.org>
23592
23593         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
23594         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
23595
23596 2011-03-26  Bruno Haible  <bruno@clisp.org>
23597
23598         unictype/property-byname: Reduce the number of load-time relocations.
23599         * lib/unictype/pr_byname.c: Include <stdlib.h>.
23600         (UC_PROPERTY_INDEX_*): New enumeration values.
23601         (uc_property_byname): Convert an index from the lookup table to an
23602         uc_property_t.
23603         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
23604         values.
23605
23606 2011-03-26  Bruno Haible  <bruno@clisp.org>
23607
23608         unictype/property-byname: Allow omitted word separators and aliases.
23609         * lib/unictype/pr_byname.gperf: Add property names without word
23610         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
23611         for 'space'.
23612
23613 2011-03-26  Bruno Haible  <bruno@clisp.org>
23614
23615         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
23616         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
23617         also hyphens to space.
23618         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
23619         without spaces.
23620         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
23621
23622 2011-03-26  Bruno Haible  <bruno@clisp.org>
23623
23624         unictype/joiningtype-byname: Recognize long names as well.
23625         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
23626         a long name.
23627         * lib/unictype/joiningtype_byname.c: Include <string.h>,
23628         unictype/joiningtype_byname.h.
23629         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
23630         * lib/unictype/joiningtype_byname.gperf: New file.
23631         * modules/unictype/joiningtype-byname (Files): Add
23632         lib/unictype/joiningtype_byname.gperf.
23633         (Depends-on): Add gperf.
23634         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
23635         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
23636         long names.
23637
23638         Tests for module 'unictype/joiningtype-longname'.
23639         * modules/unictype/joiningtype-longname-tests: New file.
23640         * tests/unictype/test-joiningtype_longname.c: New file.
23641
23642         New module 'unictype/joiningtype-longname'.
23643         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
23644         * lib/unictype/joiningtype_longname.c: New file.
23645         * modules/unictype/joiningtype-longname: New file.
23646         * modules/unictype/joiningtype-all (Depends-on): Add
23647         unictype/joiningtype-longname.
23648
23649 2011-03-26  Bruno Haible  <bruno@clisp.org>
23650
23651         unictype/bidiclass-byname: Recognize long names as well.
23652         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
23653         name.
23654         * lib/unictype/bidi_byname.c: Include <string.h>,
23655         unictype/bidi_byname.h.
23656         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
23657         * lib/unictype/bidi_byname.gperf: New file.
23658         * modules/unictype/bidiclass-byname (Files): Add
23659         lib/unictype/bidi_byname.gperf.
23660         (Depends-on): Add gperf.
23661         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
23662         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
23663         long names.
23664
23665         Tests for module 'unictype/bidiclass-longname'.
23666         * modules/unictype/bidiclass-longname-tests: New file.
23667         * tests/unictype/test-bidi_longname.c: New file.
23668
23669         New module 'unictype/bidiclass-longname'.
23670         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
23671         * lib/unictype/bidi_longname.c: New file.
23672         * modules/unictype/bidiclass-longname: New file.
23673         * modules/unictype/bidiclass-all (Depends-on): Add
23674         unictype/bidiclass-longname.
23675
23676 2011-03-26  Bruno Haible  <bruno@clisp.org>
23677
23678         unictype/bidi*: Rename modules.
23679         * modules/unictype/bidiclass-all: Renamed from
23680         modules/unictype/bidicategory-all.
23681         * modules/unictype/bidiclass-name: Renamed from
23682         modules/unictype/bidiclass-name.
23683         (Description): Update.
23684         * modules/unictype/bidiclass-name-tests: Renamed from
23685         modules/unictype/bidicategory-name-tests.
23686         * modules/unictype/bidiclass-byname: Renamed from
23687         modules/unictype/bidicategory-byname.
23688         (Description): Update.
23689         * modules/unictype/bidiclass-byname-tests: Renamed from
23690         modules/unictype/bidicategory-byname-tests.
23691         * modules/unictype/bidiclass-of: Renamed from
23692         modules/unictype/bidicategory-of.
23693         (Description): Update.
23694         * modules/unictype/bidiclass-of-tests: Renamed from
23695         modules/unictype/bidicategory-of-tests.
23696         * modules/unictype/bidiclass-test: Renamed from
23697         modules/unictype/bidicategory-test.
23698         (Description): Update.
23699         * modules/unictype/bidiclass-test-tests: Renamed from
23700         modules/unictype/bidicategory-test-tests.
23701         * modules/unictype/bidicategory-all: New file, a simple redirection.
23702         * modules/unictype/bidicategory-name: Likewise.
23703         * modules/unictype/bidicategory-byname: Likewise.
23704         * modules/unictype/bidicategory-of: Likewise.
23705         * modules/unictype/bidicategory-test: Likewise.
23706         * modules/unictype/property-bidi-* (Dependencies): Update.
23707         * lib/unictype/bidi_*.c: Update comment.
23708
23709 2011-03-26  Bruno Haible  <bruno@clisp.org>
23710
23711         unictype/bidi*: Rename functions, part 2.
23712         * modules/unictype/bidicategory-name (configure.ac): Update required
23713         libunistring version.
23714         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
23715
23716 2011-03-25  Bruno Haible  <bruno@clisp.org>
23717
23718         New module 'unictype/combining-class-all'.
23719         * modules/unictype/combining-class-all: New file.
23720
23721         Tests for module 'unictype/combining-class-byname'.
23722         * modules/unictype/combining-class-byname-tests: New file.
23723         * tests/unictype/test-combiningclass_byname.c: New file.
23724
23725         New module 'unictype/combining-class-byname'.
23726         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
23727         * lib/unictype/combiningclass_byname.c: New file.
23728         * lib/unictype/combiningclass_byname.gperf: New file.
23729         * modules/unictype/combining-class-byname: New file.
23730
23731         Tests for module 'unictype/combining-class-longname'.
23732         * modules/unictype/combining-class-longname-tests: New file.
23733         * tests/unictype/test-combiningclass_longname.c: New file.
23734
23735         New module 'unictype/combining-class-longname'.
23736         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
23737         * lib/unictype/combiningclass_longname.c: New file.
23738         * modules/unictype/combining-class-longname: New file.
23739
23740         Tests for module 'unictype/combining-class-name'.
23741         * modules/unictype/combining-class-name-tests: New file.
23742         * tests/unictype/test-combiningclass_name.c: New file.
23743
23744         New module 'unictype/combining-class-name'.
23745         * lib/unictype.in.h (uc_combining_class_name): New declaration.
23746         * lib/unictype/combiningclass_name.c: New file.
23747         * modules/unictype/combining-class-name: New file.
23748
23749 2011-03-25  Bruno Haible  <bruno@clisp.org>
23750
23751         unictype/combining-class: Rename source files.
23752         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
23753         of unictype/combining.h.
23754         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
23755         Update.
23756         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
23757         * modules/unictype/combining-class (Description): Fix.
23758         (Files, Makefile.am): Update.
23759         * tests/unictype/test-combiningclass.c: Renamed from
23760         tests/unictype/test-combining.c.
23761         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
23762
23763 2011-03-25  Bruno Haible  <bruno@clisp.org>
23764
23765         unictype: Update list of canonical combining classes.
23766         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
23767
23768 2011-03-25  Bruno Haible  <bruno@clisp.org>
23769
23770         unictype/category-byname: Recognize long names as well.
23771         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
23772         a long name.
23773         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
23774         unictype/categ_byname.h.
23775         (UC_CATEGORY_INDEX_*): New enumeration values.
23776         (uc_general_category_byname): Use uc_general_category_lookup and
23777         convert from index to value.
23778         * lib/unictype/categ_byname.gperf: New file.
23779         * modules/unictype/category-byname (Files): Add
23780         lib/unictype/categ_byname.gperf.
23781         (Depends-on): Add gperf.
23782         (Makefile.am): Add rule for generating unictype/categ_byname.h.
23783         * tests/unictype/test-categ_byname.c (main): Test the recognition of
23784         long names.
23785
23786         Tests for module 'unictype/category-longname'.
23787         * modules/unictype/category-longname-tests: New file.
23788         * tests/unictype/test-categ_longname.c: New file.
23789
23790         New module 'unictype/category-longname'.
23791         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
23792         * lib/unictype/categ_longname.c: New file.
23793         * modules/unictype/category-longname: New file.
23794         * modules/unictype/category-all (Depends-on): Add it.
23795
23796 2011-03-25  Bruno Haible  <bruno@clisp.org>
23797
23798         Tests for module 'unictype/category-LC'.
23799         * modules/unictype/category-LC-tests: New file.
23800         * tests/unictype/test-categ_LC.c: New file, automatically generated.
23801
23802         New module 'unictype/category-LC'.
23803         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
23804         (UC_CATEGORY_LC): New declaration.
23805         (UC_CASED_LETTER): New macro.
23806         * lib/gen-uni-tables.c (is_category_LC): New function.
23807         (output_categories): Also handle category LC.
23808         (UC_CATEGORY_MASK_LC): New enumeration value.
23809         (general_category_byname): Also handle category LC.
23810         * lib/unictype/categ_LC.c: New file.
23811         * lib/unictype/categ_LC.h: New file, automatically generated.
23812         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
23813         category LC.
23814         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
23815         * modules/unictype/category-LC: New file.
23816         * modules/unictype/category-byname (Depends-on): Add
23817         unictype/category-LC.
23818         * modules/unictype/category-all (Depends-on): Likewise.
23819
23820 2011-03-25  Eric Blake  <eblake@redhat.com>
23821
23822         xmalloc: revert yesterday's regression
23823         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
23824         realloc's underlying behavior (allowing allocation of zero-size
23825         objects, especially if malloc-gnu is also in use).
23826
23827 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
23828
23829         maint.mk: add missing version to VC-tag
23830         * top/maint.mk: git tag was missing actual tag name; add it.
23831
23832         valgrind: do leak checking, and exit with code 1 on error (not 0)
23833         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
23834         to VALGRIND.
23835
23836 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
23837
23838         posix-modules: say what it does.
23839         * posix-modules: Add a line to the --help output saying what it does.
23840
23841 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
23842
23843         xmalloc: Do not leak if underlying realloc is C99 compatible.
23844         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
23845         This avoids a leak on C99-based systems.  See
23846         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
23847
23848 2011-03-24  Eric Blake  <eblake@redhat.com>
23849
23850         realloc: document portability problem
23851         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
23852         passing 0 size to realloc.
23853
23854 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
23855
23856         doc: update users.txt
23857         * users.txt: Add cvsps, tmpwatch
23858
23859 2011-03-23  Matt Rice  <ratmice@gmail.com>
23860
23861         doc: update users.txt
23862         * users.txt: Add gdb.
23863
23864 2011-03-23  Jim Meyering  <meyering@redhat.com>
23865
23866         doc: update users.txt
23867         Looking through matches up to the following URL (there are still
23868         several more pages), I found several projects that use gnulib:
23869         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
23870         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
23871         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
23872
23873 2011-03-22  Bruno Haible  <bruno@clisp.org>
23874
23875         unictype/bidi*: Rename functions.
23876         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
23877         uc_bidi_class, uc_is_bidi_class): New declarations.
23878         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
23879         uc_bidi_category_byname.
23880         (uc_bidi_category_byname): New function.
23881         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
23882         u_bidi_category_name.
23883         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
23884         (uc_bidi_category_name): New function.
23885         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
23886         uc_bidi_category.
23887         (uc_bidi_category): New function.
23888         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
23889         uc_is_bidi_category. Invoke uc_bidi_class.
23890         (uc_is_bidi_category): New function.
23891         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
23892         instead of uc_bidi_category_byname.
23893         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
23894         instead of uc_bidi_category_name.
23895         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
23896         uc_bidi_category.
23897         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
23898         instead of uc_is_bidi_category.
23899
23900 2011-03-21  Bruno Haible  <bruno@clisp.org>
23901
23902         New module 'unictype/joininggroup-all'.
23903         * modules/unictype/joininggroup-all: New file.
23904
23905         Tests for module 'unictype/joininggroup-of'.
23906         * modules/unictype/joininggroup-of-tests: New file.
23907         * tests/unictype/test-joininggroup_of.c: New file.
23908         * tests/unictype/test-joininggroup_of.h: New file, automatically
23909         generated by gen-uni-tables.
23910
23911         New module 'unictype/joininggroup-of'.
23912         * modules/unictype/joininggroup-of: New file.
23913         * lib/unictype/joininggroup_of.c: New file.
23914         * lib/unictype/joininggroup_of.h: New file, automatically generated by
23915         gen-uni-tables.
23916
23917         Tests for module 'unictype/joininggroup-byname'.
23918         * modules/unictype/joininggroup-byname-tests: New file.
23919         * tests/unictype/test-joininggroup_byname.c: New file.
23920
23921         New module 'unictype/joininggroup-byname'.
23922         * modules/unictype/joininggroup-byname: New file.
23923         * lib/unictype/joininggroup_byname.c: New file.
23924         * lib/unictype/joininggroup_byname.gperf: New file.
23925
23926         Tests for module 'unictype/joininggroup-name'.
23927         * modules/unictype/joininggroup-name-tests: New file.
23928         * tests/unictype/test-joininggroup_name.c: New file.
23929
23930         New module 'unictype/joininggroup-name'.
23931         * modules/unictype/joininggroup-name: New file.
23932         * lib/unictype/joininggroup_name.c: New file.
23933         * lib/unictype/joininggroup_name.h: New file.
23934
23935         New module 'unictype/joiningtype-all'.
23936         * modules/unictype/joiningtype-all: New file.
23937
23938         Tests for module 'unictype/joiningtype-of'.
23939         * modules/unictype/joiningtype-of-tests: New file.
23940         * tests/unictype/test-joiningtype_of.c: New file.
23941         * tests/unictype/test-joiningtype_of.h: New file, automatically
23942         generated by gen-uni-tables.
23943
23944         New module 'unictype/joiningtype-of'.
23945         * modules/unictype/joiningtype-of: New file.
23946         * lib/unictype/joiningtype_of.c: New file.
23947         * lib/unictype/joiningtype_of.h: New file, automatically generated by
23948         gen-uni-tables.
23949
23950         Tests for module 'unictype/joiningtype-byname'.
23951         * modules/unictype/joiningtype-byname-tests: New file.
23952         * tests/unictype/test-joiningtype_byname.c: New file.
23953
23954         New module 'unictype/joiningtype-byname'.
23955         * modules/unictype/joiningtype-byname: New file.
23956         * lib/unictype/joiningtype_byname.c: New file.
23957
23958         Tests for module 'unictype/joiningtype-name'.
23959         * modules/unictype/joiningtype-name-tests: New file.
23960         * tests/unictype/test-joiningtype_name.c: New file.
23961
23962         New module 'unictype/joiningtype-name'.
23963         * modules/unictype/joiningtype-name: New file.
23964         * lib/unictype/joiningtype_name.c: New file.
23965
23966         unictype: Add support for Arabic shaping properties.
23967         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
23968         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
23969         declarations.
23970         (UC_JOINING_GROUP_*): New enumeration values.
23971         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
23972         declarations.
23973         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
23974         (unicode_joining_type): New variable.
23975         (UC_JOINING_GROUP_*): New enumeration values.
23976         (unicode_joining_group): New variable.
23977         (fill_arabicshaping, joining_type_as_c_identifier,
23978         output_joining_type_test, output_joining_type,
23979         joining_group_as_c_identifier, output_joining_group_test,
23980         output_joining_group): New functions.
23981         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
23982         fill_arabicshaping and output_joining_type_test, output_joining_type,
23983         output_joining_group_test, output_joining_group.
23984         Reported by Simon Josefsson.
23985
23986 2011-03-21  Jim Meyering  <meyering@redhat.com>
23987
23988         strftime: fix a bug in yesterday's change
23989         * lib/strftime.c (add): Accommodate width's initial value of -1.
23990         Otherwise, nstrftime would copy uninitialized data into
23991         the result buffer.
23992
23993 2011-03-21  Jim Meyering  <meyering@redhat.com>
23994
23995         tests: add strftime-tests module
23996         * tests/test-strftime.c: New file.
23997         * modules/strftime-tests: New module.
23998
23999 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
24000
24001         strftime: don't assume a byte count fits in 'int'
24002         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
24003         found this problem by static analysis, using gcc -Wstrict-overflow
24004         (GCC 4.5.2, x86-64).  This reported an optimization that depended
24005         on an integer overflow having undefined behavior, but it turns out
24006         that the argument is a size, which might not fit in 'int' anyway,
24007
24008 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
24009
24010         stdio: don't require ignore_value around fwrite
24011
24012         This patch works around libc bug 11959
24013         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
24014         Without this patch, applications must often write
24015         ignore_value (fwrite (...)) even though the ignore_value is
24016         not helpful here.  It's common to write many objects, using
24017         fwrite/printf/etc., and then use ferror to detect output error.
24018
24019         I considered making this patch optional, but decided against it,
24020         because libc is obviously being inconsistent here: there is no
24021         reason libc should insist that user code must inspect fwrite
24022         return's value without also insisting that it inspect printf's,
24023         putchar's, etc.  If user code wants to have a strict style where
24024         all these functions' values are checked (so that ferror need not
24025         be checked), we could add support for that style in a new gnulib
24026         module, but in the meantime it's better to be consistent and to
24027         support common usage.
24028
24029         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
24030         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
24031         that we are compiling in checking mode, and if not C++, and
24032         if not already wrapping fwrite for some other reason.
24033         (fwrite): #define to rpl_fwrite if the latter is defined.
24034
24035 2011-03-20  Bruno Haible  <bruno@clisp.org>
24036
24037         verror: Fix compilation error introduced on 2011-02-13.
24038         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
24039         instead of __attribute__.
24040         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24041
24042 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
24043             Bruno Haible  <bruno@clisp.org>
24044
24045         socklen: do not depend on sys_socket
24046         While trying to modify Emacs to use gnulib's socklen module,
24047         I discovered a circular dependency: socklen depends on sys_socket
24048         and vice versa.  Emacs can use socklen, but it does not need
24049         sys_socket because it has its own substitute for sys/socket.h.
24050         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
24051         gl_TYPE_SOCKLEN_T.
24052         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
24053         gl_PREREQ_SYS_H_SOCKET.
24054         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
24055         gl_PREREQ_SYS_H_SOCKET.
24056         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
24057         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
24058         * modules/socklen (Depends-on): Do not depend on sys_socket.
24059         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
24060
24061 2011-03-20  Jim Meyering  <meyering@redhat.com>
24062
24063         maint.mk: sort file names *after* new transformation
24064         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
24065         prefix would have led to an unwarranted failure in GNU parted.
24066         Sort after that transformation.
24067
24068 2011-03-19  Jim Meyering  <meyering@redhat.com>
24069
24070         maint.mk: fix po-file syntax-check rule
24071         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
24072         Patch by Bruno Haible.
24073
24074 2011-03-19  Bruno Haible  <bruno@clisp.org>
24075
24076         socklen: Update comment.
24077         * m4/socklen.m4: Update comment about platforms.
24078
24079 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24080             Bruno Haible  <bruno@clisp.org>
24081
24082         inet_ntop, inet_pton: Simplify.
24083         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
24084         documented to provide socklen_t and we already depend on sys_socket.
24085         * modules/inet_pton (Depends-on): Likewise.
24086         * lib/arpa_inet.in.h: Adjust comment.
24087
24088 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24089             Bruno Haible  <bruno@clisp.org>
24090
24091         netdb: Simplify.
24092         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
24093         documented to provide socklen_t and we already depend on sys_socket.
24094         * lib/netdb.in.h: Adjust comment.
24095
24096 2011-03-19  Bruno Haible  <bruno@clisp.org>
24097
24098         sys_socket, netdb: Document problem with socklen_t.
24099         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
24100         platforms.
24101         * doc/posix-headers/netdb.texi: Likewise.
24102
24103 2011-03-18  Eric Blake  <eblake@redhat.com>
24104
24105         maint.mk: let po check work in VPATH build
24106         * top/maint.mk (po_file): Allow cfg.mk override.
24107         (sc_po_check): Allow VPATH use.
24108         Reported by Jiri Denemark.
24109
24110 2011-03-16  Jim Meyering  <meyering@redhat.com>
24111
24112         maint.mk: allow fine-grained syntax-check exclusion via Make variables
24113         Before, you would have had to create one .x-sc_ file per rule in order
24114         to exempt offending files.  Now, you may instead use a Make variable --
24115         usually defined in cfg.mk -- whose name identifies the affected rule.
24116         * top/maint.mk (_sc_excl): Define.
24117         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
24118         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
24119
24120 2011-03-13  Bruno Haible  <bruno@clisp.org>
24121
24122         ignore-value tests: Avoid warnings.
24123         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
24124         empty for gcc < 3.4.
24125
24126 2011-03-13  Bruno Haible  <bruno@clisp.org>
24127
24128         passfd: Fix link error on Solaris.
24129         * modules/passfd (Description): Correct.
24130         (Depends-on): Add socketlib.
24131         (Link): New section.
24132         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
24133
24134 2011-03-13  Bruno Haible  <bruno@clisp.org>
24135
24136         passfd: Fix link error on AIX 5.2.
24137         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
24138
24139 2011-03-13  Bruno Haible  <bruno@clisp.org>
24140
24141         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
24142         * lib/sys_socket.in.h: Include <stddef.h>.
24143         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
24144         CMSG_FIRSTHDR. Remove unused variable.
24145
24146 2011-03-13  Bruno Haible  <bruno@clisp.org>
24147
24148         passfd: Fix compilation error on OpenBSD.
24149         * lib/passfd.c: Include <sys/uio.h>.
24150
24151 2011-03-13  Bruno Haible  <bruno@clisp.org>
24152
24153         passfd test: Fix warnings.
24154         * tests/test-passfd.c: Include <sys/wait.h>.
24155         (main): Fix typo.
24156
24157 2011-03-13  Bruno Haible  <bruno@clisp.org>
24158
24159         passfd module, part 4, tweaks.
24160         * tests/test-passfd.c: Reorder includes.
24161         (main): Fix perror and printf calls.
24162
24163 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
24164
24165         passfd module, part 4.
24166         * modules/passfd-tests: New file.
24167         * tests/test-passfd.c: New file.
24168
24169 2011-03-13  Jim Meyering  <meyering@redhat.com>
24170
24171         Makefile: rely on GNU make; derive syntax-check rule names
24172         Rather than requiring that each sc_ rule be listed as a dependent
24173         of "check", use features of GNU make to derive the list.
24174         * Makefile (syntax-check-rules): Define.
24175         (check): Depend on the new variable, not the hard-coded list.
24176
24177 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
24178             Bruno Haible  <bruno@clisp.org>
24179
24180         passfd module, part 3.
24181         * lib/passfd.h (recvfd): Add a flags argument.
24182         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
24183         (recvfd): Add a flags argument.
24184         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
24185         exists.
24186         * modules/passfd (Depends-on): Add cloexec.
24187         Suggested by Eric Blake.
24188
24189 2011-03-13  Bruno Haible  <bruno@clisp.org>
24190
24191         passfd module, part 2, tweaks.
24192         * modules/passfd (Files): Reorder.
24193         (Depends-on): Remove errno.
24194         (Include): Remove <sys/socket.h>, <sys/un.h>.
24195         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
24196         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
24197         specification header. Include <sys/socket.h> always. Don't include
24198         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
24199         (sendfd): Clarify that it sets errno when it fails.
24200         (recvfd): Fix specification.
24201
24202 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
24203
24204         passfd module, part 2.
24205         * modules/passfd: New file.
24206         * lib/passfd.h: New file.
24207         * lib/passfd.c: New file.
24208
24209 2011-03-12  Bruno Haible  <bruno@clisp.org>
24210
24211         wcswidth, mbswidth: Avoid integer overflow.
24212         * lib/wcswidth.c: Include <limits.h>.
24213         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
24214         * lib/mbswidth.c: Include <limits.h>.
24215         (mbsnwidth): Avoid 'int' overflow.
24216         Reported by Jim Meyering.
24217
24218 2011-03-12  Bruno Haible  <bruno@clisp.org>
24219
24220         futimens, utimensat: Avoid endless recursion on Solaris 10.
24221         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
24222         Solaris.
24223         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
24224         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
24225
24226 2011-03-11  Jim Meyering  <meyering@redhat.com>
24227
24228         maint.mk: relax a regexp to accommodate other formatting styles
24229         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
24230         between "ngettext" and the following "(".
24231
24232 2011-03-11  Pádraig Brady <P@draigBrady.com>
24233
24234         maint.mk: suppress a false positive warning
24235         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
24236         diagnostics are marked with ngettext.
24237
24238 2011-03-10  Eric Blake  <eblake@redhat.com>
24239
24240         wchar: add explicit dependencies, for Tru64
24241         * modules/mbmemcasecoll (Depends-on): Add wchar.
24242         * modules/mbtowc (Depends-on): Likewise.
24243         * modules/vasnprintf (Depends-on): Likewise.
24244         * modules/unistdio/u-printf-args (Depends-on): Likewise.
24245         * modules/wctomb (Depends-on): Likewise.
24246         Reported by Peter O'Gorman.
24247
24248 2011-03-08  Bruno Haible  <bruno@clisp.org>
24249
24250         passfd module, part 1, tweaks.
24251         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
24252         Improve indentation. Improve AC_MSG_CHECKING messages.
24253         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
24254         gl_SOCKET_FAMILIES.
24255
24256 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
24257
24258         passfd module, part 1.
24259         * m4/afunix.m4: New file.
24260         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
24261         sockets.
24262
24263 2011-03-08  Bruno Haible  <bruno@clisp.org>
24264
24265         regex-quote: New API.
24266         * lib/regex-quote.h: Include <stdbool.h>.
24267         (struct regex_quote_spec): New type.
24268         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
24269         New declarations.
24270         (regex_quote_length, regex_quote_copy, regex_quote): Take a
24271         'const struct regex_quote_spec *' argument.
24272         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
24273         (pcre_special): New constant.
24274         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
24275         New functions.
24276         (regex_quote_length, regex_quote_copy, regex_quote): Take a
24277         'const struct regex_quote_spec *' argument.
24278         * modules/regex-quote (Depends-on): Add stdbool.
24279         * tests/test-regex-quote.c (check): Update for new API. Add test for
24280         anchored results.
24281         * NEWS: Mention the API change.
24282         Reported by Reuben Thomas and Eric Blake.
24283
24284 2011-03-06  Bruno Haible  <bruno@clisp.org>
24285
24286         regex-quote: Fix creation of POSIX extended regular expressions.
24287         * lib/regex-quote.c (ere_special): Add grouping and alternation
24288         operators.
24289
24290 2011-03-05  Bruno Haible  <bruno@clisp.org>
24291
24292         doc: Improve doc regarding autopoint vs. gnulib.
24293         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
24294         disable autopoint while running autoreconf.
24295         Suggested by Ralf Wildenhues.
24296
24297 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24298
24299         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
24300         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
24301
24302 2011-03-03  Bruce Korb  <bkorb@gnu.org>
24303
24304         parse-duration: remove xalloc.h dependency
24305         * lib/parse-duration.c (parse_period): handle NULL return from
24306         strdup instead of calling xstrdup().
24307         * modules/parse-duration: remove "xalloc" dependency
24308
24309 2011-03-03  Matthew Booth  <mbooth@redhat.com>
24310
24311         bootstrap: honor m4_base when running aclocal
24312         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
24313
24314 2011-03-02  Jim Meyering  <meyering@redhat.com>
24315
24316         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
24317         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
24318         on request from Matt Booth.
24319
24320 2011-03-01  Eric Blake  <eblake@redhat.com>
24321
24322         test-link: work on Hurd
24323         * tests/test-link.h (test_link): Hurd rejects linking directories
24324         with EISDIR instead of the POSIX-mandated EPERM.
24325
24326 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
24327
24328         stdio: simplify by moving files to printf-posix, sigpipe
24329         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
24330         since this symbol is needed only if printf is replaced.
24331         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
24332         Require gl_ASM_SYMBOL_PREFIX.
24333         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
24334         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
24335         (Depends-on): Add 'raise'.
24336         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
24337         * modules/stdio (Files): Remove lib/stdio-write.c,
24338         m4/asm-underscore.m4.
24339         (Depends-on): Remove 'raise'.
24340
24341         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
24342         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
24343         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
24344         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
24345
24346 2011-02-28  Bruno Haible  <bruno@clisp.org>
24347
24348         localcharset: Assume ANSI C behaviour of free().
24349         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
24350         calling free().
24351         Suggested by Simon Josefsson <simon@josefsson.org>.
24352
24353 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
24354             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
24355             Bruno Haible  <bruno@clisp.org>  (tiny change)
24356
24357         On Cygwin, use /proc file system instead of win32 API.
24358         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
24359         Win32 file names.
24360         (DllMain): Simplify by removing Cygwin specific code.
24361         (find_shared_library_fullname): Use Linux specific implementation also
24362         for Cygwin.
24363         (get_shared_library_fullname): Update accordingly.
24364         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
24365         Win32 file names.
24366         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
24367         Cygwin specific code.
24368
24369 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
24370             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
24371
24372         Fix OpenMP flag detection for various Fortran compilers.
24373         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
24374         OpenMP-conditional compilation construct, to force compile
24375         failure with missing OpenMP flag.
24376         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
24377
24378 2011-02-25  Eric Blake  <eblake@redhat.com>
24379
24380         strstr: expand test coverage
24381         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
24382         compilation.
24383         * tests/test-memmem.c (main): Duplicate tests.
24384         * tests/test-strcasestr.c (main): Likewise.
24385         * tests/test-c-strcasestr.c (main): Likewise.
24386
24387 2011-02-25  Jim Meyering  <meyering@redhat.com>
24388
24389         maint.mk: detect missing-NL-at-EOF, too
24390         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
24391         it also detects when a file lacks a newline at EOF.
24392         (require_exactly_one_NL_at_EOF_): Renamed from
24393         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
24394         since people may well have .x-sc_... file names tied to the
24395         existing name.  Suggested by Eric Blake.
24396
24397 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
24398
24399         dirname: move m4/dos.m4 functionality into lib/dosname.h
24400
24401         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
24402         extracts symbols from it, puts them into config.h; but it's much
24403         easier to use the symbols directly.  filename.h already does this,
24404         but it disagrees with dos.m4 in some respects.  This patch
24405         introduces a different include file dosname.h that packages up
24406         dos.m4, and then later we can work on merging filename.h and
24407         dosname.h.  Applications that need only the easy-to-configure
24408         symbols should consider including dosname.h rather than dirname.h.
24409         * NEWS: Mention incompatible changes.
24410         * m4/dos.m4: Remove.
24411         * lib/dosname.h, modules/dosname: New files.
24412         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
24413         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
24414         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
24415         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
24416         Include dosname.h, not dirname.h.
24417         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
24418         Include dosname.h, for definitions of symbols like ISSLASH
24419         that used to be in config.h.
24420         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
24421         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
24422         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24423         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
24424         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
24425         * modules/rmdir (Files): Likewise.
24426         * modules/stat (Files): Likewise.
24427         * modules/unlink (Files): Likewise.
24428         * modules/dirname-lgpl (Depends-on): Add dosname.
24429         * modules/lstat (Depends-on): Likewise.
24430         * modules/openat (Depends-on): Likewise.
24431         * modules/rmdir (Depends-on): Likewise.
24432         * modules/savewd (Depends-on): Likewise.
24433         * modules/stat (Depends-on): Likewise.
24434         * modules/unlink (Depends-on): Likewise.
24435         * modules/openat (Depends-on): Remove dirname-lgpl.
24436         * modules/savewd (Depends-on): Likewise.
24437         * tests/test-dirname.c: Do not use removed symbols like
24438         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
24439         the remaining symbols, e.g., ISSLASH ('\\').
24440
24441 2011-02-25  Eric Blake  <eblake@redhat.com>
24442
24443         strstr: revert patches that introduced bug and pessimization
24444         * lib/str-two-way.h: Add another reference.
24445         (two_way_short_needle, two_way_long_needle): Revert changes from
24446         2011-02-24; they pessimize search speed.
24447         (critical_factorization): Partially revert changes from
24448         2010-06-22; they violate the requirement that the left half of the
24449         needle be smaller than the period of the needle.
24450
24451 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
24452
24453         filenamecat: remove unnecessary dependency on dirname-lgpl
24454         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
24455         is no direct dependency, just an indirect one via filenamecat-lgpl.
24456
24457         remove: remove unnecessary use of m4/dos.m4
24458         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
24459         * modules/remove (FILES): Remove m4/dos.m4.
24460
24461         * lib/openat-proc.c: Don't include dirname.h; not needed.
24462
24463         backupfile: remove unnecessary use of m4/dos.m4
24464         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
24465         of its symbols are used by the backupfile code.  backupfile.c does
24466         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
24467         for the rare case of programs that want all their backup file
24468         names to live within 8+3 limits, and dos.m4 doesn't address that.
24469         * modules/backupfile (Files): Remove m4/dos.m4.
24470
24471 2011-02-24  Jim Meyering  <meyering@redhat.com>
24472
24473         strstr: fix a bug whereby strstr would mistakenly return NULL
24474         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
24475         in period calculation.
24476         (two_way_long_needle): Likewise.
24477         The original problem was reported by Mike Stump in
24478         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
24479         Ralf Wildenhues provided the short needle and haystack.
24480         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
24481         Add a more involved test to trigger the bug in two_way_long_needle.
24482
24483 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24484
24485         gnulib-tool: remove use of bold display in help screen
24486         * gnulib-tool (func_usage): Do not use bold display anymore in the
24487         help screen.  That was just meant to be a temporary emphasis for a
24488         backward-incompatible change.
24489
24490 2011-02-23  Bruno Haible  <bruno@clisp.org>
24491
24492         Fix misindentation of preprocessor directives.
24493         * lib/argp-namefrob.h: Reindent preprocessor directives.
24494         * lib/getopt_int.h (struct _getopt_data): Likewise.
24495         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
24496         * lib/vasnprintf.c (decode_long_double): Likewise.
24497         * tests/test-argmatch.c: Insert blank lines, for clarity.
24498         * tests/test-exclude.c: Likewise.
24499
24500 2011-02-22  Bruno Haible  <bruno@clisp.org>
24501
24502         ioctl: Fix for MacOS X in 64-bit mode.
24503         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
24504         value.
24505         Suggested by Eric Blake.
24506         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
24507
24508 2011-02-22  Jim Meyering  <meyering@redhat.com>
24509
24510         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
24511         * Makefile (sc_cpp_indent_check): Don't limit the check to files
24512         in lib/.
24513
24514 2011-02-22  Eric Blake  <eblake@redhat.com>
24515
24516         maint: avoid any CDPATH issue
24517         * Makefile (sc_cpp_indent_check): Anchor cd argument.
24518
24519         maint: adjust cpp indentation for my modules, as well
24520         * Makefile (sc_cpp_indent_check): Add my name.
24521         * lib/fbufmode.c: Filter through cppi.
24522         * lib/fpurge.c: Likewise.
24523         * lib/freadable.c: Likewise.
24524         * lib/freading.c: Likewise.
24525         * lib/fwritable.c: Likewise.
24526         * lib/fwriting.c: Likewise.
24527         * lib/sigaction.c: Likewise.
24528
24529 2011-02-22  Jim Meyering  <meyering@redhat.com>
24530
24531         maint: adjust cpp indentation to reflect nesting depth
24532         I.e., in a block of code that begins with an unnested "#if",
24533         put one space between the "#" in column 1 and following token.
24534         For example,
24535         -#include <sys/vfs.h>
24536         +# include <sys/vfs.h>
24537         Do this only in .c files that are part of a module I maintain.
24538         * lib/linkat.c: Filter through cppi.
24539         * lib/nanosleep.c: Likewise.
24540         * lib/openat.c: Likewise.
24541         * lib/openat-die.c: Likewise.
24542         * lib/dup3.c: Likewise.
24543         * lib/fchownat.c: Likewise.
24544         * lib/flock.c: Likewise.
24545         * lib/fsync.c: Likewise.
24546         * lib/fts.c: Likewise.
24547         * lib/getpass.c: Likewise.
24548         * lib/gettimeofday.c: Likewise.
24549         * lib/userspec.c: Likewise.
24550         * Makefile (sc_cpp_indent_check): New rule, to check this.
24551
24552 2011-02-22  Bruno Haible  <bruno@clisp.org>
24553
24554         New module 'wctomb'.
24555         * lib/stdlib.in.h (wctomb): New declaration.
24556         * lib/wctomb.c: New file.
24557         * lib/wctomb-impl.h: New file.
24558         * m4/wctomb.m4: New file.
24559         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
24560         REPLACE_WCTOMB.
24561         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
24562         REPLACE_WCTOMB.
24563         * modules/wctomb: New file.
24564         * tests/test-stdlib-c++.cc: Test signature of wctomb.
24565         * doc/posix-functions/wctomb.texi: Mention the new module.
24566         * modules/wctob (Depends-on): Add wctomb.
24567
24568 2011-02-22  Bruno Haible  <bruno@clisp.org>
24569
24570         New module 'mbtowc'.
24571         * lib/stdlib.in.h (mbtowc): New declaration.
24572         * lib/mbtowc.c: New file.
24573         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
24574         * m4/mbtowc.m4: New file.
24575         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
24576         REPLACE_MBTOWC.
24577         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
24578         REPLACE_MBTOWC.
24579         * modules/mbtowc: New file.
24580         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
24581         * doc/posix-functions/mbtowc.texi: Mention the new module.
24582         * modules/btowc (Depends-on): Add mbtowc.
24583
24584 2011-02-22  Bruno Haible  <bruno@clisp.org>
24585
24586         wcrtomb: Add more tests for native Windows platforms.
24587         * tests/test-wcrtomb-w32-1.sh: New file.
24588         * tests/test-wcrtomb-w32-2.sh: New file.
24589         * tests/test-wcrtomb-w32-3.sh: New file.
24590         * tests/test-wcrtomb-w32-4.sh: New file.
24591         * tests/test-wcrtomb-w32-5.sh: New file.
24592         * tests/test-wcrtomb-w32.c: New file.
24593         * modules/wcrtomb-tests (Files): Add them.
24594         (Makefile.am): Arrange to run these tests.
24595         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
24596         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
24597
24598 2011-02-20  Bruno Haible  <bruno@clisp.org>
24599
24600         wcrtomb: Enhance test.
24601         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
24602
24603 2011-02-20  Bruno Haible  <bruno@clisp.org>
24604
24605         mbrtowc: Tiny optimization.
24606         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
24607
24608 2011-02-20  Jim Meyering  <meyering@redhat.com>
24609
24610         test-exclude.c: remove unmatched #endif
24611         * tests/test-exclude.c: Remove stray #endif, left over from
24612         the change of a week ago.
24613
24614 2011-02-19  Jim Meyering  <meyering@redhat.com>
24615
24616         git-version-gen: skip "-dirty" check when appropriate
24617         * build-aux/git-version-gen: Don't run any git commands when the
24618         version string comes from .tarball-version.  Prior to this, we
24619         would run git update-index --refresh even from a just-unpacked
24620         tarball directory, and that could affect a .git/ directory in a
24621         parent of the build directory.  Reported by Mike Frysinger.
24622
24623 2011-02-19  Bruno Haible  <bruno@clisp.org>
24624
24625         unictype/property-byname: Reduce the size of the 'data' segment.
24626         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
24627
24628 2011-02-19  Bruno Haible  <bruno@clisp.org>
24629
24630         unictype/scripts: Reduce the size of the 'data' segment.
24631         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
24632         '%pic'.
24633         * lib/unictype/scripts_byname.gperf: Regenerated.
24634
24635 2011-02-19  Bruno Haible  <bruno@clisp.org>
24636
24637         stdint: Update documentation.
24638         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
24639
24640 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
24641
24642         stdint: omit redundant check for wchar.h
24643         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
24644         always tests whether wchar.h exists, so remove the now-redundant test.
24645
24646 2011-02-18  Bruno Haible  <bruno@clisp.org>
24647
24648         stdint: Cut dependency to module 'wchar'.
24649         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
24650         include the necessary prerequisites.
24651         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
24652         * modules/stdint (Depends-on): Remove wchar.
24653         (Makefile.am): Substitute HAVE_WCHAR_H.
24654         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
24655
24656 2011-02-18  Eric Blake  <eblake@redhat.com>
24657
24658         longlong: skip, rather than fail, on cross-compilation
24659         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
24660         when cross-compiling; regression from 2011-02-16.
24661
24662 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
24663
24664         * NEWS: Mention 2011-02-08 change to stdlib.
24665
24666 2011-02-17  Bruno Haible  <bruno@clisp.org>
24667
24668         getloadavg: Add comments about platforms.
24669         * m4/getloadavg.m4: Add comment.
24670         * lib/getloadavg.c: Likewise.
24671
24672 2011-02-17  Bruno Haible  <bruno@clisp.org>
24673
24674         getloadavg: Fix link error on Solaris 2.6.
24675         * modules/getloadavg (Link): New section.
24676         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
24677         linking test-getloadavg.
24678         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
24679         getloadavg.
24680
24681 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
24682
24683         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
24684         It was 'int', but this doesn't match the IRIX 6.5 manual.
24685         Suggested by Bruno Haible in
24686         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
24687
24688 2011-02-17  Bruno Haible  <bruno@clisp.org>
24689
24690         havelib: Fix comments.
24691         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
24692         change.
24693
24694 2011-02-17  Bruno Haible  <bruno@clisp.org>
24695
24696         havelib: Update config.rpath.
24697         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
24698
24699 2011-02-17  Bruno Haible  <bruno@clisp.org>
24700
24701         getloadavg test: Add some plausibility checks.
24702         * tests/test-getloadavg.c (check_avg): Print a warning when the value
24703         is improbable.
24704
24705 2011-02-16  Eric Blake  <eblake@redhat.com>
24706
24707         maintainer-makefile: make syntax-check a no-op from tarballs
24708         * top/maint.mk (no-vc-detected): New rule.
24709         (local-checks-available): Use it to avoid hanging if someone tries
24710         'make syntax-check' from a tarball.  Also append to any non-syntax
24711         checks already defined in cfg.mk.
24712
24713 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
24714
24715         longlong: tune, particularly for common case of c99
24716
24717         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
24718         or running anything if c99, or if unsigned long long int does not
24719         work.  In either case, we know the answer without further tests.
24720         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
24721         it at most once, and use its results for both long long int and
24722         unsigned long long int.  This is more likely to be efficient in
24723         the common case where the program wants to check for both long
24724         long int and unsigned long long int.
24725         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
24726         since the answer is already known.
24727
24728 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
24729
24730         getloadavg: set errno
24731         * lib/getloadavg.c: Set errno when returning -1.  If no other
24732         error number looks appropriate, set it to ENOSYS if the getloadavg
24733         looks like it can't possibly ever work, ENOTSUP otherwise.
24734         Suggested by Bruno Haible in
24735         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
24736
24737         getloadavg: trim unused parts and speed up 'configure'
24738         * NEWS: Document this.
24739         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
24740         always compiled if getloadavg is absent.
24741         Move test code to ...
24742         * tests/test-getloadavg.c: New file, containing previous
24743         contents of test from lib/getloadavg.c.  It also contains
24744         suggestions by Bruno Haible in
24745         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
24746         * modules/getloadavg-tests: New file.
24747         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
24748         Do tests in the same order as they're needed for getloadavg.c.
24749         Omit setgid-related tests that generate symbols KMEM_GROUP,
24750         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
24751         Do only the tests that are needed to see whether the system has
24752         getloadavg, moving the other tests into ...
24753         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
24754         NLIST_NAME_UNION; nobody should be using it.  Do not define
24755         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
24756         relevant, as the user of this module shouldn't care how getloadavg
24757         is implemented.
24758
24759         getloadavg: omit unused var
24760         * lib/getloadavg.c (getloadavg): Omit unused local variable.
24761
24762 2011-02-15  Jim Meyering  <meyering@redhat.com>
24763
24764         doc: update users.txt
24765         * users.txt: Update iwhd's URL.
24766
24767 2011-02-13  Bruno Haible  <bruno@clisp.org>
24768
24769         Consistent macro naming for macros that use GCC __attribute__.
24770         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
24771         _ATTRIBUTE_NONNULL_.
24772         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
24773         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
24774         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
24775         ATTRIBUTE_DEPRECATED.
24776         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
24777         ATTRIBUTE_NORETURN.
24778         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24779         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24780         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24781         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24782         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
24783         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
24784         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
24785         ATTRIBUTE_SENTINEL.
24786         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
24787         ATTRIBUTE_RETURN_CHECK.
24788         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
24789         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
24790         ATTRIBUTE_NORETURN.
24791         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
24792         Reported by Paul Eggert.
24793
24794 2011-02-13  Bruno Haible  <bruno@clisp.org>
24795
24796         Don't interfere with a program's definition of __attribute__.
24797         * lib/argp.h (__attribute__): Remove definition.
24798         (_GL_ATTRIBUTE_FORMAT): New macro.
24799         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
24800         * lib/argp-fmtstream.h (__attribute__): Remove definition.
24801         (_GL_ATTRIBUTE_FORMAT): New macro.
24802         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
24803         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
24804         GCC 3 or newer.
24805         * lib/error.h (__attribute__): Remove definition.
24806         (_GL_ATTRIBUTE_FORMAT): New macro.
24807         (error, error_at_line): Use it.
24808         * lib/hash.h (__attribute__): Remove definition.
24809         (ATTRIBUTE_WUR): Update definition. Define always.
24810         * lib/openat.h (__attribute__): Remove definition.
24811         (ATTRIBUTE_NORETURN): Update definition. Define always.
24812         * lib/sigpipe-die.h (__attribute__): Remove definition.
24813         (ATTRIBUTE_NORETURN): Update definition. Define always.
24814         * lib/vasnprintf.h (__attribute__): Remove definition.
24815         (_GL_ATTRIBUTE_FORMAT): New macro.
24816         (asnprintf, vasnprintf): Use it.
24817         * lib/xalloc.h (__attribute__): Remove definition.
24818         (ATTRIBUTE_NORETURN): Update definition. Define always.
24819         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
24820         * lib/xmemdup0.h (__attribute__): Remove definition.
24821         (ATTRIBUTE_NORETURN): Update definition. Define always.
24822         * lib/xprintf.h (__attribute__): Remove definition.
24823         (_GL_ATTRIBUTE_FORMAT): New macro.
24824         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
24825         * lib/xstrtol.h (__attribute__): Remove definition.
24826         (ATTRIBUTE_NORETURN): Update definition. Define always.
24827         * lib/xvasprintf.h (__attribute__): Remove definition.
24828         (_GL_ATTRIBUTE_FORMAT): New macro.
24829         (xasprintf, xvasprintf): Use it.
24830         * tests/test-argmatch.c (__attribute__): Remove definition.
24831         (ATTRIBUTE_NORETURN): Update definition. Define always.
24832         * tests/test-exclude.c (__attribute__): Remove definition.
24833         (ATTRIBUTE_NORETURN): Update definition. Define always.
24834         Reported by Paul Eggert.
24835
24836 2011-02-13  Bruno Haible  <bruno@clisp.org>
24837
24838         mbrtowc: Add more tests for native Windows platforms.
24839         * tests/test-mbrtowc-w32-1.sh: New file.
24840         * tests/test-mbrtowc-w32-2.sh: New file.
24841         * tests/test-mbrtowc-w32-3.sh: New file.
24842         * tests/test-mbrtowc-w32-4.sh: New file.
24843         * tests/test-mbrtowc-w32-5.sh: New file.
24844         * tests/test-mbrtowc-w32.c: New file.
24845         * modules/mbrtowc-tests (Files): Add them.
24846         (Makefile.am): Arrange to run these tests.
24847         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
24848         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
24849
24850 2011-02-13  Bruno Haible  <bruno@clisp.org>
24851
24852         mbrtowc: Work around native Windows bug.
24853         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
24854         guess when no suitable locale for testing was found.
24855         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
24856
24857 2011-02-13  Bruno Haible  <bruno@clisp.org>
24858
24859         mbsinit: Work around mingw bug.
24860         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
24861         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
24862         Windows.
24863         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
24864
24865 2011-02-13  Bruno Haible  <bruno@clisp.org>
24866
24867         mbsinit: Don't crash for a NULL argument.
24868         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
24869         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
24870
24871 2011-02-13  Bruno Haible  <bruno@clisp.org>
24872
24873         Don't interfere with a program's definition of __attribute__.
24874         * lib/stdio.in.h (__attribute__): Remove definition.
24875         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
24876         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
24877         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
24878         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
24879         * lib/string.in.h (__attribute__): Remove definition.
24880         Reported by Paul Eggert.
24881
24882 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24883
24884         stdlib: don't get in the way of non-GCC __attribute__
24885         See thread starting at
24886         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
24887         Revert previous stdlib change, installing the following instead:
24888         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
24889         to get in the way of a non-GCC compiler that supports __attribute__.
24890         (_GL_ATTRIBUTE_RETURN): New macro.
24891         (_Exit): Use it instead of __attribute__.
24892
24893 2011-02-12  Bruno Haible  <bruno@clisp.org>
24894
24895         quotearg test: Avoid test failure on mingw.
24896         * tests/test-quotearg.sh: Convert the locale identifier from native
24897         Windows syntax to Unix syntax.
24898
24899 2011-02-12  Bruno Haible  <bruno@clisp.org>
24900
24901         setlocale: Prefer gnulib's override over libintl's override.
24902         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
24903         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
24904         GNULIB_defined_setlocale is set.
24905
24906 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24907
24908         stdlib: support non-GCC __attribute__
24909
24910         Fix a serious and tricky problem encountered when attempting to
24911         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
24912         5.5, but it crashed due to memory corruption on Solaris 10 with
24913         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
24914         bits that are otherwise zero.  This tagging is optional inside
24915         Emacs but is preferred and is used when __attribute__ ((__aligned
24916         (8))) works, as it does with both recent-enough GCC and with Sun C
24917         5.11.  However, Sun C 5.11 is not GCC and does not #define
24918         __GNUC__ and __GNUC_MINOR__.
24919
24920         When I added the getloadavg module to Emacs, it brought in
24921         stdlib.in.h, which contained this fragment:
24922
24923            #ifndef __attribute__
24924            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
24925            #  define __attribute__(Spec)   /* empty */
24926            # endif
24927            #endif
24928
24929         When files that include <stdlib.h> were compiled with Sun C 5.11,
24930         the above code disabled __attribute__ ((__aligned (8))), which
24931         caused variables to not be properly aligned, which eventually led
24932         to the pointer corruption mentioned above.  (This was a bit hard
24933         to diagnose, unfortunately.)
24934
24935         Several "#define __attribute__(X) /* empty */" code snippets need
24936         to be eradicated from Gnulib to work with non-GCC compilers that
24937         support __attribute__.  The Autoconf way to do this is to test for
24938         each kind of attribute that we want support for, and selectively
24939         enable that in source code.
24940
24941         Fix this problem just for stdlib.h, by adding a test for the
24942         __noreturn__ attribute, and change stdlib.in.h to use that test
24943         when needed.  This technique can be easily generalized to the
24944         other *.in.h files and attributes, and a similar technique can be
24945         used for *.h and *.c files.  This patch is enough to solve the
24946         problem for Emacs + getloadavg, and I thought I'd publish it for
24947         feedback before undertaking further, similar fixes in other
24948         modules.
24949
24950         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
24951         because it's not needed for stdlib.h.  It merely substitutes the
24952         value directly into stdlib.h.  We may well need to #define it, or
24953         similar symbols, for other modules, but it's nice to also have an
24954         option to not #define it for applications like Emacs that do not
24955         need it.
24956
24957         * lib/stdlib.in.h (__attribute__): Do not #define.
24958         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
24959         be defined only if the _Exit module is also used.
24960         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
24961         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
24962         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
24963         platforms.
24964         * modules/_Exit (Files): Add m4/attribute.m4.
24965         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
24966         * m4/attribute.m4: New file.
24967
24968 2011-02-12  Bruno Haible  <bruno@clisp.org>
24969
24970         wcsrtombs: Work around bug on native Windows.
24971         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
24972         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
24973         instead of len.
24974         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
24975
24976 2011-02-12  Bruno Haible  <bruno@clisp.org>
24977
24978         mbsrtowcs: Work around bug on native Windows.
24979         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
24980         against mingw bug.
24981         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
24982
24983 2011-02-12  Bruno Haible  <bruno@clisp.org>
24984
24985         Avoid setlocale bugs in tests.
24986         * modules/btowc (Dependencies): Add setlocale.
24987         * modules/c-strcase (Dependencies): Likewise.
24988         * modules/mbmemcasecmp (Dependencies): Likewise.
24989         * modules/mbmemcasecoll (Dependencies): Likewise.
24990         * modules/mbrtowc (Dependencies): Likewise.
24991         * modules/mbscasecmp (Dependencies): Likewise.
24992         * modules/mbscasestr (Dependencies): Likewise.
24993         * modules/mbschr (Dependencies): Likewise.
24994         * modules/mbscspn (Dependencies): Likewise.
24995         * modules/mbsinit (Dependencies): Likewise.
24996         * modules/mbsncasecmp (Dependencies): Likewise.
24997         * modules/mbsnrtowcs (Dependencies): Likewise.
24998         * modules/mbspbrk (Dependencies): Likewise.
24999         * modules/mbspcasecmp (Dependencies): Likewise.
25000         * modules/mbsrchr (Dependencies): Likewise.
25001         * modules/mbsrtowcs (Dependencies): Likewise.
25002         * modules/mbsspn (Dependencies): Likewise.
25003         * modules/mbsstr (Dependencies): Likewise.
25004         * modules/nl_langinfo (Dependencies): Likewise.
25005         * modules/quotearg (Dependencies): Likewise.
25006         * modules/unicase/locale-language (Dependencies): Likewise.
25007         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
25008         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
25009         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
25010         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
25011         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
25012         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
25013         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
25014         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
25015         * modules/vasnprintf-posix (Dependencies): Likewise.
25016         * modules/wcrtomb (Dependencies): Likewise.
25017         * modules/wcsnrtombs (Dependencies): Likewise.
25018         * modules/wcsrtombs (Dependencies): Likewise.
25019
25020 2011-02-12  Bruno Haible  <bruno@clisp.org>
25021
25022         setlocale: Workaround native Windows bug.
25023         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
25024         succeeds but sets LC_CTYPE to "C", report a failure.
25025         * tests/test-setlocale2.sh: New file.
25026         * tests/test-setlocale2.c: New file.
25027         * modules/setlocale-tests (Files): Add the new files.
25028         (Makefile.am): Enable test-setlocale2.sh test.
25029         * doc/posix-functions/setlocale.texi: Mention workaround.
25030
25031 2011-02-11  Bruno Haible  <bruno@clisp.org>
25032
25033         Tests for module 'setlocale'.
25034         * modules/setlocale-tests: New file.
25035         * tests/test-setlocale1.sh: New file.
25036         * tests/test-setlocale1.c: New file.
25037
25038         New module 'setlocale'.
25039         * lib/locale.in.h (setlocale): New declaration.
25040         * lib/setlocale.c: New file, based on
25041         gettext/gettext-runtime/intl/setlocale.c.
25042         * m4/setlocale.m4: New file.
25043         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
25044         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
25045         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
25046         REPLACE_SETLOCALE.
25047         * modules/setlocale: New file.
25048         * tests/test-locale-c++.cc: Test the declaration of setlocale.
25049         * doc/posix-functions/setlocale.texi: Mention the new module.
25050
25051 2011-02-11  Bruno Haible  <bruno@clisp.org>
25052
25053         Prepare for locale dependent tests on mingw.
25054         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
25055         because it has the wrong locale encoding.
25056         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
25057         French_France.1252 instead of "fr".
25058         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
25059         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
25060         because it has the wrong locale encoding.
25061         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
25062         native Windows, try Turkish_Turkey.65001.
25063         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
25064         Chinese_China.54936.
25065
25066         Prepare for locale dependent tests on mingw.
25067         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
25068         differently.
25069         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
25070         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
25071         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
25072         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25073
25074 2011-02-11  Eric Blake  <eblake@redhat.com>
25075
25076         strptime: avoid compiler warnings
25077         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
25078         compiler warnings about dead code.
25079         Reported by Daniel P. Berrange.
25080
25081 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
25082
25083         doc: update users.txt
25084         * users.txt: Add rcs.
25085
25086 2011-02-10  John W. Eaton  <jwe@gnu.org>
25087
25088         doc: update users.txt
25089         * users.txt: Add octave.
25090
25091 2011-02-10  Jim Meyering  <meyering@redhat.com>
25092
25093         doc: update users.txt
25094         * users.txt: Add iwhd.
25095
25096 2011-02-09  Bruno Haible  <bruno@clisp.org>
25097
25098         gnulib-tool: Make copyright notice adjustment more robust.
25099         * gnulib-tool (func_import): In sed_transform_main_lib_file,
25100         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
25101         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
25102         License".
25103         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
25104
25105 2011-02-06  Bruno Haible  <bruno@clisp.org>
25106
25107         New module 'towctrans'.
25108         * modules/towctrans: New file.
25109         * lib/wctype.in.h (towctrans): New declaration.
25110         * lib/towctrans.c: New file.
25111         * lib/towctrans-impl.h: New file.
25112         * m4/towctrans.m4: New file.
25113         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
25114         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
25115         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
25116         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
25117         * doc/posix-functions/towctrans.texi: Mention the new module.
25118
25119 2011-02-06  Bruno Haible  <bruno@clisp.org>
25120
25121         New module 'wctrans'.
25122         * modules/wctrans: New file.
25123         * lib/wctype.in.h (wctrans): New declaration.
25124         * lib/wctrans.c: New file.
25125         * lib/wctrans-impl.h: New file.
25126         * m4/wctrans.m4: New file.
25127         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
25128         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
25129         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
25130         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
25131         * doc/posix-functions/wctrans.texi: Mention the new module.
25132
25133 2011-02-06  Bruno Haible  <bruno@clisp.org>
25134
25135         New module 'iswctype'.
25136         * modules/iswctype: New file.
25137         * lib/wctype.in.h (iswctype): New declaration.
25138         * lib/iswctype.c: New file.
25139         * lib/iswctype-impl.h: New file.
25140         * m4/iswctype.m4: New file.
25141         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
25142         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
25143         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
25144         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
25145         * doc/posix-functions/iswctype.texi: Mention the new module and the
25146         HP-UX 11.00 problem.
25147
25148 2011-02-06  Bruno Haible  <bruno@clisp.org>
25149
25150         New module 'wctype'.
25151         * modules/wctype: Change to represent the wctype() substitute.
25152         * lib/wctype.in.h (wctype): New declaration.
25153         * lib/wctype.c: New file.
25154         * lib/wctype-impl.h: New file.
25155         * m4/wctype.m4: New file.
25156         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
25157         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
25158         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
25159         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
25160         * doc/posix-functions/wctype.texi: Mention the new module and the
25161         HP-UX 11.00 problem.
25162
25163 2011-02-06  Bruno Haible  <bruno@clisp.org>
25164
25165         wctype-h: Ensure wctype_t and wctrans_t are defined.
25166         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
25167         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
25168         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
25169         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
25170         HAVE_WCTRANS_T.
25171         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
25172
25173 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
25174
25175         flock: fix license typo
25176
25177         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
25178         omitted.
25179
25180 2011-02-08  Bruno Haible  <bruno@clisp.org>
25181
25182         Split large sed scripts, for HP-UX sed.
25183         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
25184         to avoid HP-UX limit of 99 commands, in the near future.
25185         * modules/stdlib (Makefile.am): Likewise.
25186         * modules/unistd (Makefile.am): Likewise.
25187         * modules/wchar (Makefile.am): Likewise.
25188         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25189         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
25190         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
25191
25192 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
25193             Bruno Haible  <bruno@clisp.org>
25194
25195         stdlib: improve random_r modularization
25196         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
25197         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
25198         you also need the random_r module to get this material right.
25199         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
25200         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
25201         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
25202
25203 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
25204
25205         stdlib: don't depend on stdint
25206         * lib/stdlib.in.h: Don't include <stdint.h> merely because
25207         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
25208         be independent of whether stdint.h is needed.
25209         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
25210         here, instead of ...
25211         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
25212         struct random_data should be using the random_r module, not just
25213         the stdlib module (which wouldn't make sense: what package needs
25214         just struct random_data without also needing random_r?).
25215         * modules/stdlib (Depends-on): Remove stdint.
25216
25217         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
25218         See the thread rooted at
25219         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
25220         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
25221         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
25222         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
25223         __VMS)); previously it was always included (via fcntl--.h).
25224         (getloadavg): Do not use c_strtod.  Instead, approximate it by
25225         hand; this is good enough for load averages.  Also, do not use
25226         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
25227         flags directly if available and don't bother otherwise.  (Packages
25228         that need the extra reliability should use the modules that define
25229         these flags on older platforms that lack them.)
25230         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
25231         fcntl-safer.
25232
25233 2011-02-08  Jim Meyering  <meyering@redhat.com>
25234
25235         di-set.h, ino-map.h: add multiple-inclusion guard
25236         Technically, the guard is required only for ino-map.h, due to its
25237         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
25238         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
25239         * lib/ino-map.h: Likewise.
25240
25241 2011-02-06  Bruno Haible  <bruno@clisp.org>
25242
25243         iswblank: Ensure declaration on glibc systems.
25244         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
25245         * modules/iswblank (Dependencies): Add 'extensions'.
25246         * doc/posix-functions/iswblank.texi: Document the glibc problem.
25247
25248 2011-02-06  Bruno Haible  <bruno@clisp.org>
25249
25250         New module 'iswblank'.
25251         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
25252         * modules/iswblank: New file.
25253         * modules/wctype-h (Files): Remove lib/iswblank.c.
25254         (Makefile.am): Substitute GNULIB_ISWBLANK.
25255         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
25256         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
25257         (gl_WCTYPE_H_DEFAULTS): New macro.
25258         (gl_WCTYPE_H): Require it. Remove iswblank related code.
25259         * modules/iswblank-tests: New file.
25260         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
25261         * tests/test-wctype-h.c (main): Remove iswblank tests.
25262         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
25263         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
25264         of 'wctype-h'.
25265         * NEWS: Mention the change.
25266         * modules/mbchar (Depends-on): Add iswblank.
25267
25268 2011-02-08  Bruno Haible  <bruno@clisp.org>
25269
25270         di-set tests: Refactor.
25271         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
25272         unnecessary includes.
25273         (ASSERT): Remove macro.
25274         (main): Make C90 compliant by avoiding variable declaration after
25275         statement.
25276         * modules/di-set-tests (Files): Add tests/macros.h.
25277
25278 2011-02-08  Bruno Haible  <bruno@clisp.org>
25279
25280         ino-map tests: Refactor.
25281         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
25282         unnecessary includes.
25283         (ASSERT): Remove macro.
25284         (main): Make C90 compliant by avoiding variable declaration after
25285         statement.
25286         * modules/ino-map-tests (Files): Add tests/macros.h.
25287
25288 2011-02-08  Jim Meyering  <meyering@redhat.com>
25289
25290         di-set: add "const" to a cast
25291         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
25292         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
25293
25294 2011-02-06  Bruno Haible  <bruno@clisp.org>
25295
25296         Rename module 'wctype' to 'wctype-h'.
25297         * modules/wctype-h: Renamed from modules/wctype.
25298         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
25299         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
25300         (Files, Depends-on, Makefile.am): Update.
25301         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
25302         (Files, Makefile.am): Update.
25303         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
25304         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
25305         * doc/posix-headers/wctype.texi: Update.
25306         * doc/posix-functions/iswalnum.texi: Update.
25307         * doc/posix-functions/iswalpha.texi: Update.
25308         * doc/posix-functions/iswblank.texi: Update.
25309         * doc/posix-functions/iswcntrl.texi: Update.
25310         * doc/posix-functions/iswdigit.texi: Update.
25311         * doc/posix-functions/iswgraph.texi: Update.
25312         * doc/posix-functions/iswlower.texi: Update.
25313         * doc/posix-functions/iswprint.texi: Update.
25314         * doc/posix-functions/iswpunct.texi: Update.
25315         * doc/posix-functions/iswspace.texi: Update.
25316         * doc/posix-functions/iswupper.texi: Update.
25317         * doc/posix-functions/iswxdigit.texi: Update.
25318         * doc/posix-functions/towlower.texi: Update.
25319         * doc/posix-functions/towupper.texi: Update.
25320         * NEWS: Mention the change.
25321         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
25322         * modules/mbchar (Dependencies): Likewise.
25323         * modules/mbswidth (Dependencies): Likewise.
25324         * modules/quotearg (Dependencies): Likewise.
25325         * modules/regex (Dependencies): Likewise.
25326         * modules/wcscasecmp (Dependencies): Likewise.
25327         * modules/wcsncasecmp (Dependencies): Likewise.
25328         * modules/wcwidth (Dependencies): Likewise.
25329
25330 2011-02-06  Bruno Haible  <bruno@clisp.org>
25331
25332         New module 'wcswidth'.
25333         * modules/wcswidth: New file.
25334         * lib/wchar.in.h (wcswidth): New declaration.
25335         * lib/wcswidth.c: New file.
25336         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
25337         * m4/wcswidth.m4: New file.
25338         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
25339         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
25340         REPLACE_WCSWIDTH.
25341         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
25342         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
25343         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
25344         * doc/posix-functions/wcswidth.texi: Mention the new module.
25345
25346 2011-02-06  Bruno Haible  <bruno@clisp.org>
25347
25348         New module 'wcstok'.
25349         * modules/wcstok: New file.
25350         * lib/wchar.in.h (wcstok): New declaration.
25351         * lib/wcstok.c: New file.
25352         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
25353         * m4/wcstok.m4: New file.
25354         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
25355         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
25356         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
25357         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
25358         * doc/posix-functions/wcstok.texi: Mention the new module.
25359
25360 2011-02-06  Bruno Haible  <bruno@clisp.org>
25361
25362         New module 'wcsstr'.
25363         * modules/wcsstr: New file.
25364         * lib/wchar.in.h (wcsstr): New declaration.
25365         * lib/wcsstr.c: New file.
25366         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
25367         * m4/wcsstr.m4: New file.
25368         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
25369         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
25370         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
25371         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
25372         * doc/posix-functions/wcsstr.texi: Mention the new module.
25373
25374 2011-02-06  Bruno Haible  <bruno@clisp.org>
25375
25376         New module 'wcspbrk'.
25377         * modules/wcspbrk: New file.
25378         * lib/wchar.in.h (wcspbrk): New declaration.
25379         * lib/wcspbrk.c: New file.
25380         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
25381         * m4/wcspbrk.m4: New file.
25382         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
25383         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
25384         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
25385         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
25386         * doc/posix-functions/wcspbrk.texi: Mention the new module.
25387
25388 2011-02-06  Bruno Haible  <bruno@clisp.org>
25389
25390         New module 'wcsspn'.
25391         * modules/wcsspn: New file.
25392         * lib/wchar.in.h (wcsspn): New declaration.
25393         * lib/wcsspn.c: New file.
25394         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
25395         * m4/wcsspn.m4: New file.
25396         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
25397         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
25398         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
25399         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
25400         * doc/posix-functions/wcsspn.texi: Mention the new module.
25401
25402 2011-02-06  Bruno Haible  <bruno@clisp.org>
25403
25404         New module 'wcscspn'.
25405         * modules/wcscspn: New file.
25406         * lib/wchar.in.h (wcscspn): New declaration.
25407         * lib/wcscspn.c: New file.
25408         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
25409         * m4/wcscspn.m4: New file.
25410         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
25411         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
25412         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
25413         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
25414         * doc/posix-functions/wcscspn.texi: Mention the new module.
25415
25416 2011-02-06  Bruno Haible  <bruno@clisp.org>
25417
25418         New module 'wcsrchr'.
25419         * modules/wcsrchr: New file.
25420         * lib/wchar.in.h (wcsrchr): New declaration.
25421         * lib/wcsrchr.c: New file.
25422         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
25423         * m4/wcsrchr.m4: New file.
25424         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
25425         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
25426         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
25427         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
25428         * doc/posix-functions/wcsrchr.texi: Mention the new module.
25429
25430 2011-02-06  Bruno Haible  <bruno@clisp.org>
25431
25432         New module 'wcschr'.
25433         * modules/wcschr: New file.
25434         * lib/wchar.in.h (wcschr): New declaration.
25435         * lib/wcschr.c: New file.
25436         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
25437         * m4/wcschr.m4: New file.
25438         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
25439         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
25440         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
25441         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
25442         * doc/posix-functions/wcschr.texi: Mention the new module.
25443
25444 2011-02-06  Bruno Haible  <bruno@clisp.org>
25445
25446         New module 'wcsdup'.
25447         * modules/wcsdup: New file.
25448         * lib/wchar.in.h (wcsdup): New declaration.
25449         * lib/wcsdup.c: New file.
25450         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
25451         * m4/wcsdup.m4: New file.
25452         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
25453         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
25454         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
25455         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
25456         * doc/posix-functions/wcsdup.texi: Mention the new module.
25457
25458 2011-02-06  Bruno Haible  <bruno@clisp.org>
25459
25460         New module 'wcsxfrm'.
25461         * modules/wcsxfrm: New file.
25462         * lib/wchar.in.h (wcsxfrm): New declaration.
25463         * lib/wcsxfrm.c: New file.
25464         * lib/wcsxfrm-impl.h: New file.
25465         * m4/wcsxfrm.m4: New file.
25466         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
25467         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
25468         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
25469         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
25470         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
25471
25472 2011-02-06  Bruno Haible  <bruno@clisp.org>
25473
25474         New module 'wcscoll'.
25475         * modules/wcscoll: New file.
25476         * lib/wchar.in.h (wcscoll): New declaration.
25477         * lib/wcscoll.c: New file.
25478         * lib/wcscoll-impl.h: New file.
25479         * m4/wcscoll.m4: New file.
25480         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
25481         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
25482         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
25483         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
25484         * doc/posix-functions/wcscoll.texi: Mention the new module.
25485
25486 2011-02-06  Bruno Haible  <bruno@clisp.org>
25487
25488         New module 'wcsncasecmp'.
25489         * modules/wcsncasecmp: New file.
25490         * lib/wchar.in.h (wcsncasecmp): New declaration.
25491         * lib/wcsncasecmp.c: New file.
25492         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
25493         * m4/wcsncasecmp.m4: New file.
25494         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
25495         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
25496         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
25497         HAVE_WCSNCASECMP.
25498         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
25499         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
25500
25501 2011-02-06  Bruno Haible  <bruno@clisp.org>
25502
25503         New module 'wcscasecmp'.
25504         * modules/wcscasecmp: New file.
25505         * lib/wchar.in.h (wcscasecmp): New declaration.
25506         * lib/wcscasecmp.c: New file.
25507         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
25508         * m4/wcscasecmp.m4: New file.
25509         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
25510         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
25511         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
25512         HAVE_WCSCASECMP.
25513         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
25514         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
25515
25516 2011-02-05  Bruno Haible  <bruno@clisp.org>
25517
25518         New module 'wcsncmp'.
25519         * modules/wcsncmp: New file.
25520         * lib/wchar.in.h (wcsncmp): New declaration.
25521         * lib/wcsncmp.c: New file.
25522         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
25523         * m4/wcsncmp.m4: New file.
25524         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
25525         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
25526         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
25527         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
25528         * doc/posix-functions/wcsncmp.texi: Mention the new module.
25529
25530 2011-02-05  Bruno Haible  <bruno@clisp.org>
25531
25532         New module 'wcscmp'.
25533         * modules/wcscmp: New file.
25534         * lib/wchar.in.h (wcscmp): New declaration.
25535         * lib/wcscmp.c: New file.
25536         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
25537         * m4/wcscmp.m4: New file.
25538         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
25539         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
25540         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
25541         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
25542         * doc/posix-functions/wcscmp.texi: Mention the new module.
25543
25544 2011-02-05  Bruno Haible  <bruno@clisp.org>
25545
25546         New module 'wcsncat'.
25547         * modules/wcsncat: New file.
25548         * lib/wchar.in.h (wcsncat): New declaration.
25549         * lib/wcsncat.c: New file.
25550         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
25551         * m4/wcsncat.m4: New file.
25552         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
25553         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
25554         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
25555         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
25556         * doc/posix-functions/wcsncat.texi: Mention the new module.
25557
25558 2011-02-05  Bruno Haible  <bruno@clisp.org>
25559
25560         New module 'wcscat'.
25561         * modules/wcscat: New file.
25562         * lib/wchar.in.h (wcscat): New declaration.
25563         * lib/wcscat.c: New file.
25564         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
25565         * m4/wcscat.m4: New file.
25566         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
25567         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
25568         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
25569         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
25570         * doc/posix-functions/wcscat.texi: Mention the new module.
25571
25572 2011-02-05  Bruno Haible  <bruno@clisp.org>
25573
25574         New module 'wcpncpy'.
25575         * modules/wcpncpy: New file.
25576         * lib/wchar.in.h (wcpncpy): New declaration.
25577         * lib/wcpncpy.c: New file.
25578         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
25579         * m4/wcpncpy.m4: New file.
25580         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
25581         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
25582         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
25583         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
25584         * doc/posix-functions/wcpncpy.texi: Mention the new module.
25585
25586 2011-02-05  Bruno Haible  <bruno@clisp.org>
25587
25588         New module 'wcsncpy'.
25589         * modules/wcsncpy: New file.
25590         * lib/wchar.in.h (wcsncpy): New declaration.
25591         * lib/wcsncpy.c: New file.
25592         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
25593         * m4/wcsncpy.m4: New file.
25594         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
25595         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
25596         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
25597         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
25598         * doc/posix-functions/wcsncpy.texi: Mention the new module.
25599
25600 2011-02-05  Bruno Haible  <bruno@clisp.org>
25601
25602         New module 'wcpcpy'.
25603         * modules/wcpcpy: New file.
25604         * lib/wchar.in.h (wcpcpy): New declaration.
25605         * lib/wcpcpy.c: New file.
25606         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
25607         * m4/wcpcpy.m4: New file.
25608         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
25609         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
25610         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
25611         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
25612         * doc/posix-functions/wcpcpy.texi: Mention the new module.
25613
25614 2011-02-05  Bruno Haible  <bruno@clisp.org>
25615
25616         New module 'wcscpy'.
25617         * modules/wcscpy: New file.
25618         * lib/wchar.in.h (wcscpy): New declaration.
25619         * lib/wcscpy.c: New file.
25620         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
25621         * m4/wcscpy.m4: New file.
25622         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
25623         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
25624         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
25625         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
25626         * doc/posix-functions/wcscpy.texi: Mention the new module.
25627
25628 2011-02-05  Bruno Haible  <bruno@clisp.org>
25629
25630         New module 'wcsnlen'.
25631         * modules/wcsnlen: New file.
25632         * lib/wchar.in.h (wcsnlen): New declaration.
25633         * lib/wcsnlen.c: New file.
25634         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
25635         * m4/wcsnlen.m4: New file.
25636         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
25637         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
25638         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
25639         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
25640         * doc/posix-functions/wcsnlen.texi: Mention the new module.
25641
25642 2011-02-05  Bruno Haible  <bruno@clisp.org>
25643
25644         New module 'wcslen'.
25645         * modules/wcslen: New file.
25646         * lib/wchar.in.h (wcslen): New declaration.
25647         * lib/wcslen.c: New file.
25648         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
25649         * m4/wcslen.m4: New file.
25650         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
25651         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
25652         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
25653         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
25654         * doc/posix-functions/wcslen.texi: Mention the new module.
25655
25656 2011-02-05  Bruno Haible  <bruno@clisp.org>
25657
25658         New module 'wmemset'.
25659         * modules/wmemset: New file.
25660         * lib/wchar.in.h (wmemset): New declaration.
25661         * lib/wmemset.c: New file.
25662         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
25663         * m4/wmemset.m4: New file.
25664         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
25665         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
25666         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
25667         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
25668         * doc/posix-functions/wmemset.texi: Mention the new module.
25669
25670 2011-02-05  Bruno Haible  <bruno@clisp.org>
25671
25672         New module 'wmemmove'.
25673         * modules/wmemmove: New file.
25674         * lib/wchar.in.h (wmemmove): New declaration.
25675         * lib/wmemmove.c: New file.
25676         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
25677         * m4/wmemmove.m4: New file.
25678         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
25679         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
25680         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
25681         HAVE_WMEMMOVE.
25682         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
25683         * doc/posix-functions/wmemmove.texi: Mention the new module.
25684
25685 2011-02-05  Bruno Haible  <bruno@clisp.org>
25686
25687         New module 'wmemcpy'.
25688         * modules/wmemcpy: New file.
25689         * lib/wchar.in.h (wmemcpy): New declaration.
25690         * lib/wmemcpy.c: New file.
25691         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
25692         * m4/wmemcpy.m4: New file.
25693         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
25694         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
25695         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
25696         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
25697         * doc/posix-functions/wmemcpy.texi: Mention the new module.
25698
25699 2011-02-05  Bruno Haible  <bruno@clisp.org>
25700
25701         New module 'wmemcmp'.
25702         * modules/wmemcmp: New file.
25703         * lib/wchar.in.h (wmemcmp): New declaration.
25704         * lib/wmemcmp.c: New file.
25705         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
25706         * m4/wmemcmp.m4: New file.
25707         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
25708         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
25709         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
25710         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
25711         * doc/posix-functions/wmemcmp.texi: Mention the new module.
25712
25713 2011-02-07  Jim Meyering  <meyering@redhat.com>
25714
25715         di-set, ino-map: new modules, from coreutils
25716         * lib/di-set.c: New file.
25717         * lib/di-set.h: Likewise.
25718         * lib/ino-map.c: Likewise.
25719         * lib/ino-map.h: Likewise.
25720         * modules/di-set: Likewise.
25721         * modules/di-set-tests: Likewise.
25722         * modules/ino-map: Likewise.
25723         * modules/ino-map-tests: Likewise.
25724         * tests/test-di-set.c: Likewise.
25725         * tests/test-ino-map.c: Likewise.
25726
25727 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
25728
25729         getloadavg: merge minor changes from Emacs
25730
25731         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
25732         (getloadavg): Use memset, not bzero.
25733
25734         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
25735         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
25736         clash (bug#86).
25737
25738 2010-11-14  Bruno Haible  <bruno@clisp.org>
25739
25740         Allow multiple gnulib generated replacements to coexist.
25741         * lib/getopt.in.h (struct option): Avoid identical redefinition.
25742         * lib/inttypes.in.h (imaxdiv_t): Likewise.
25743         * lib/langinfo.in.h (nl_item): Likewise.
25744         * lib/math.in.h (_NaN, NAN): Likewise.
25745         * lib/netdb.in.h (struct addrinfo): Likewise.
25746         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
25747         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
25748         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
25749         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
25750         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
25751         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
25752         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
25753         pthread_mutexattr_init, pthread_mutexattr_settype,
25754         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
25755         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
25756         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
25757         pthread_spin_trylock, pthread_spin_unlock): Likewise.
25758         * lib/sched.in.h (struct sched_param): Likewise.
25759         * lib/se-selinux.in.h (security_class_t, security_context_t,
25760         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
25761         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
25762         lsetfilecon, fsetfilecon, security_check_context,
25763         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
25764         Likewise.
25765         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
25766         Likewise.
25767         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
25768         _gl_function_taking_int_returning_void_t, union sigval,
25769         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
25770         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
25771         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
25772         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
25773         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
25774         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
25775         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
25776         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
25777         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
25778         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
25779         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
25780         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
25781         socklen_t, rpl_fd_isset): Likewise.
25782         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
25783         * lib/sys_time.in.h (struct timeval): Likewise.
25784         * lib/sys_times.in.h (struct tms): Likewise.
25785         * lib/sys_utsname.in.h (struct utsname):
25786         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
25787         * lib/unistd.in.h (getpagesize): Likewise.
25788         * lib/wchar.in.h (mbstate_t): Likewise.
25789         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
25790         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
25791         towlower, towupper): Likewise.
25792         Reported by Sam Steingold <sds@gnu.org>.
25793
25794 2011-02-05  Eric Blake  <eblake@redhat.com>
25795
25796         unsetenv: work around Haiku issues
25797         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
25798         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
25799
25800 2010-12-30  Bruce Korb  <bkorb@gnu.org>
25801
25802         libposix: avoid calling error() within libposix
25803         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
25804         is defined.
25805
25806 2011-02-05  Eric Blake  <eblake@redhat.com>
25807
25808         strerror_r-posix: port to cygwin
25809         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
25810         implementation.
25811         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
25812         * tests/test-strerror_r.c (main): Fix test.
25813         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
25814         issue.
25815
25816 2011-02-05  Bruno Haible  <bruno@clisp.org>
25817
25818         New module 'wmemchr'.
25819         * modules/wmemchr: New file.
25820         * lib/wchar.in.h (wmemchr): New declaration.
25821         * lib/wmemchr.c: New file.
25822         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
25823         * m4/wmemchr.m4: New file.
25824         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
25825         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
25826         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
25827         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
25828         * doc/posix-functions/wmemchr.texi: Mention the new module.
25829
25830 2011-02-04  Eric Blake  <eblake@redhat.com>
25831
25832         fdopendir: detect FreeBSD bug
25833         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
25834         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
25835
25836 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
25837
25838         stdbool: do not define HAVE_STDBOOL_H
25839         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
25840         AC_HEADER_STDBOOL.  All uses changed.  Do not define
25841         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
25842         imported from the latest Autoconf git.  It was motivated by Emacs,
25843         which uses gnulib but does not need HAVE_STDBOOL_H.
25844
25845 2011-02-04  Bruno Haible  <bruno@clisp.org>
25846
25847         wcsnrtombs: Prepare for new module wwcsnrtombs.
25848         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
25849         * lib/wcsnrtombs.c: Include it.
25850         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
25851
25852         wcsrtombs: Prepare for new module wwcsrtombs.
25853         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
25854         * lib/wcsrtombs.c: Include it.
25855         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
25856
25857         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
25858         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
25859         * lib/mbsnrtowcs.c: Include it.
25860         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
25861
25862         mbsrtowcs: Prepare for new module mbsrtowwcs.
25863         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
25864         * lib/mbsrtowcs.c: Include it.
25865         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
25866
25867 2011-02-04  Bruno Haible  <bruno@clisp.org>
25868
25869         vasnprintf: Reduce use of malloc for small format strings.
25870         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
25871         (arguments): Add room for the first 7 arguments.
25872         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
25873         (char_directives, u8_directives, u16_directives, u32_directives): Add
25874         room for the first 7 directives.
25875         * lib/printf-parse.c: Include <string.h>.
25876         (PRINTF_PARSE): Change memory handling code so that it uses the first
25877         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
25878         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
25879         Reported by Pádraig Brady <P@draigbrady.com>.
25880
25881 2011-01-31  Eric Blake  <eblake@redhat.com>
25882
25883         dup2: work around Haiku bug
25884         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
25885         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
25886         * doc/posix-functions/dup2.texi (dup2): Document the bug.
25887         * tests/test-dup2.c (main): Enhance test.
25888
25889 2011-01-31  Simon Josefsson  <simon@josefsson.org>
25890
25891         doc: off_t is not available in eglibc 2.11.2 stdio.h.
25892         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
25893         declared by eglibc 2.11.2.
25894         * lib/stdio.in.h: Likewise.
25895
25896 2011-01-31  Eric Blake  <eblake@redhat.com>
25897
25898         ignore-value: add missing test dependency
25899         * tests/test-ignore-value.c: Revert previous change; stdio.h
25900         provides off_t.
25901         * modules/ignore-value-tests (Depends-on): Add missing dependency.
25902
25903 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
25904
25905         mktime: clarify long_int width checking
25906         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
25907         the top level, to make it clearer that the assumption about
25908         long_int width is being checked.  See
25909         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
25910
25911 2011-01-30  Simon Josefsson  <simon@josefsson.org>
25912
25913         ignore-value: Fix self-test.
25914         * tests/test-ignore-value.c: Include sys/types.h for off_t.
25915
25916 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
25917
25918         TYPE_MAXIMUM: avoid theoretically undefined behavior
25919         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
25920         negative number, which the C Standard says has undefined behavior.
25921         In practice this is not a problem, but might as well do it by the book.
25922         Reported by Rich Felker and Eric Blake; see
25923         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
25924         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
25925         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25926         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25927         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
25928         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25929         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
25930
25931         mktime: #undef mktime before #defining it
25932         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
25933
25934         mktime: systematically normalize tm_isdst comparisons
25935         * lib/mktime.c (isdst_differ): New function.
25936         (__mktime_internal): Use it systematically for all isdst comparisons.
25937         This completes the fix for libc BZ #6723, and removes the need for
25938         normalizing tm_isdst.  See
25939         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
25940         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
25941
25942         mktime: fix some integer overflow issues and sidestep the rest
25943
25944         This was prompted by a bug report by Benjamin Lindner for MinGW
25945         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
25946         His bug is due to signed integer overflow (0 - INT_MIN), and I
25947         I scanned through mktime.c looking for other integer overflow
25948         problems, fixing all the bugs I found.
25949
25950         Although the C Standard says the resulting code is still not safe
25951         in the presence of integer overflow, in practice it should be good
25952         enough for all real-world two's-complement implementations, except
25953         for debugging environments that deliberately trap on integer
25954         overflow (e.g., gcc -ftrapv).
25955
25956         * lib/mktime.c (WRAPV): New macro.
25957         (SHR): Also check that long_int and time_t shift right in the
25958         usual way, before using the fast-but-unportable method.
25959         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
25960         used.  The code already assumed two's complement, so there's
25961         no need to test for alternatives.  All uses removed.
25962         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
25963         the C standard.  Problem reported by Rich Felker in
25964         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
25965         (twos_complement_arithmetic): Also check long_int and time_t.
25966         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
25967         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
25968         (__mktime_internal): Avoid integer overflow with unary subtraction
25969         in two instances where -1 - X is an adequate replacement for -X,
25970         since the calculations are approximate.
25971
25972 2011-01-29  Eric Blake  <eblake@redhat.com>
25973
25974         mktime: avoid infinite loop
25975         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
25976         type; behavior is still undefined but portable to all known targets.
25977         Reported by Rich Felker.
25978
25979 2011-01-29  Simon Josefsson  <simon@josefsson.org>
25980
25981         rename, unlink, same-inode: Relicense.
25982         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
25983         * modules/unlink (License): Likewise.
25984         * modules/same-inode (License): Likewise.
25985
25986 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25987
25988         mktime: avoid problems on NetBSD 5 / i386
25989         * lib/mktime.c (long_int): New type.  This works around a problem
25990         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
25991         but time_t is 64 bits, and where I expect the existing code is
25992         wrong in some cases.
25993         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
25994         (ydhms_diff): Bring back the compile-time check for wide-enough
25995         year and yday.
25996
25997         mktime: fix misspelling in comment
25998         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
25999         This merges all recent glibc changes of importance.
26000
26001 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26002
26003         move-if-change: cope with concurrent mv of identical file.
26004         * build-aux/move-if-change (CMPPROG): Accept environment
26005         variable as an override for `cmp'.
26006         (usage): Document CMPPROG.
26007         Adjust comparison to drop stdout.  Cope with failure of mv if
26008         the target file exists and is identical to the source, for
26009         parallel builds.
26010         Report from H.J. Lu against binutils in PR binutils/12283.
26011
26012 2011-01-28  Bruce Korb  <bkorb@gnu.org>
26013
26014         * users.txt: Mention sharutils.
26015
26016 2011-01-28  Simon Josefsson  <simon@josefsson.org>
26017
26018         * users.txt: Mention OATH Toolkit.
26019
26020 2011-01-27  Bruno Haible  <bruno@clisp.org>
26021
26022         Prepare for supporting FreeBSD 10.
26023         * build-aux/config.libpath: Remove handling of freebsd1*.
26024
26025 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
26026
26027         Prepare for supporting FreeBSD 10.
26028         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
26029         match FreeBSD 10.0.
26030
26031 2011-01-27  Bruno Haible  <bruno@clisp.org>
26032
26033         vma-iter, get-rusage-as: Add OpenBSD support.
26034         * modules/vma-iter (configure.ac): Test for mquery.
26035         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
26036         * lib/vma-iter.c: Include <sys/mman.h>.
26037         (vma_iterate): Add an implementation based on mquery().
26038         * lib/resource-ext.h (get_rusage_as): Update comments.
26039         * lib/get-rusage-as.c: Likewise.
26040         * lib/get-rusage-data.c: Likewise.
26041
26042 2011-01-26  Karl Berry  <karl@gnu.org>
26043
26044         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
26045         variables to make it easier to override the makeinfo program used.
26046
26047 2011-01-26  Eric Blake  <eblake@redhat.com>
26048
26049         fcntl: work around Haiku F_DUPFD bugs
26050         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
26051         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
26052         cloexec bit on duplication.
26053         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
26054
26055 2011-01-26  Bruno Haible  <bruno@clisp.org>
26056
26057         Enable memory leak tests on AIX.
26058         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
26059         * tests/test-fprintf-posix3.c (main): Likewise.
26060
26061 2011-01-26  Bruno Haible  <bruno@clisp.org>
26062
26063         Tests for module 'get-rusage-data'.
26064         * modules/get-rusage-data-tests: New file.
26065         * tests/test-get-rusage-data.c: New file.
26066
26067         New module 'get-rusage-data'.
26068         * lib/resource-ext.h (get_rusage_data): New declaration.
26069         * lib/get-rusage-data.c: New file.
26070         * modules/get-rusage-data: New file.
26071
26072 2011-01-25  Bruno Haible  <bruno@clisp.org>
26073
26074         get-rusage-as: Allow for easier testing.
26075         * lib/resource-ext.h (get_rusage_as): Add comment.
26076         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
26077         (main): New function for interactive testing.
26078
26079 2011-01-25  Bruno Haible  <bruno@clisp.org>
26080
26081         vma-iter: Treat Haiku like BeOS.
26082         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
26083         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
26084
26085 2011-01-25  Eric Blake  <eblake@redhat.com>
26086
26087         c-stack: fix regression on cygwin when libsigsegv is present
26088         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
26089
26090 2011-01-24  Bruno Haible  <bruno@clisp.org>
26091
26092         vma-iter: Avoid empty intervals.
26093         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
26094         on an empty interval.
26095
26096 2011-01-24  Jim Meyering  <meyering@redhat.com>
26097
26098         u64: remove unnecessary #include
26099         * lib/u64.h: Don't include <stddef.h>.  It was not used.
26100
26101 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
26102
26103         Allow the user to avoid the HAVE_RAW_DECL_* macros.
26104         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
26105
26106 2011-01-23  Bruno Haible  <bruno@clisp.org>
26107
26108         New module 'vma-iter'.
26109         * lib/vma-iter.h: New file.
26110         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
26111         * modules/vma-iter: New file.
26112         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
26113         for get_rusage_as_via_iterator.
26114         (vma_iterate_callback): New function.
26115         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
26116         * modules/get-rusage-as (Depends-on): Add vma-iter.
26117
26118 2011-01-23  Bruno Haible  <bruno@clisp.org>
26119
26120         uninorm: Tweak includes.
26121         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
26122         Reported by Jim Meyering.
26123
26124 2011-01-23  Bruno Haible  <bruno@clisp.org>
26125
26126         get-rusage-as: Improve on NetBSD.
26127         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
26128         /proc, like on FreeBSD.
26129
26130 2011-01-23  Jim Meyering  <meyering@redhat.com>
26131
26132         xreadlink.h: remove unnecessary #include
26133         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
26134
26135         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
26136         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
26137
26138 2011-01-23  Bruno Haible  <bruno@clisp.org>
26139
26140         get-rusage-as: Fix bug.
26141         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
26142         original limit when aborting the first loop.
26143
26144 2011-01-23  Bruno Haible  <bruno@clisp.org>
26145
26146         wctype: Ensure valid C syntax.
26147         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
26148         unconditionally, instead of gl_NEXT_HEADERS conditionally.
26149
26150 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
26151
26152         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
26153         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
26154         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
26155         as they are needed only for configure's test case.
26156         This removes two unnecessary symbols from config.h.
26157
26158         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
26159         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
26160         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
26161         AC_CHECK_HEADERS_ONCE on a header that we also invoke
26162         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
26163         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
26164         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
26165         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
26166         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
26167         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
26168         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
26169         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26170         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
26171         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
26172         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
26173         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
26174         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
26175         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
26176
26177 2011-01-21  Eric Blake  <eblake@redhat.com>
26178
26179         maintainer-makefile: work with older git for submodule check
26180         * top/maint.mk (public-submodule-commit): Rewrite to avoid
26181         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
26182         Reported by Matthias Bolte.
26183
26184         bootstrap: minor portability fixes
26185         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
26186         (usage): Omit leading capital and trailing . on help phrases, per
26187         GNU Coding Standards.
26188         (check_versions, top level): Prefix messages with script name.
26189
26190 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
26191
26192         bootstrap: support --no-git option
26193         * build-aux/bootstrap: Add --no-git option, to be used when
26194         --gnulib-srcdir points to the exact desired checkout.
26195
26196 2011-01-21  Eric Blake  <eblake@redhat.com>
26197
26198         strerror_r-posix: work with glibc 2.13
26199         * lib/strerror_r.c (strerror_r): Fix return type.
26200
26201 2011-01-21  Pádraig Brady  <P@draigBrady.com>
26202             Bruno Haible  <bruno@clisp.org>
26203
26204         uN_strstr: New unit tests.
26205         * modules/unistr/u8-strstr-tests: New file.
26206         * modules/unistr/u16-strstr-tests: New file.
26207         * modules/unistr/u32-strstr-tests: New file.
26208         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
26209         * tests/unistr/test-u8-strstr.c: New file.
26210         * tests/unistr/test-u16-strstr.c: New file.
26211         * tests/unistr/test-u32-strstr.c: New file.
26212
26213 2011-01-21  Pádraig Brady  <P@draigBrady.com>
26214             Bruno Haible  <bruno@clisp.org>
26215
26216         Make uN_strstr functions O(n) worst-case.
26217         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
26218         16-bit and 32-bit unit cases, use the unibyte algorithm from
26219         lib/mbsstr.c.
26220         * lib/unistr/u8-strstr.c: Include <string.h>.
26221         (UNIT_IS_UINT8_T): New macro.
26222         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
26223         (U_STRLEN, U_STRNLEN): New macros.
26224         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
26225         (U_STRLEN, U_STRNLEN): New macros.
26226         * modules/unistr/u8-strstr (Depends-on): Add strstr.
26227         (configure.ac): Update required libunistring version.
26228         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
26229         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
26230         malloca.
26231         (configure.ac): Update required libunistring version.
26232         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
26233         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
26234         malloca.
26235         (configure.ac): Update required libunistring version.
26236
26237 2011-01-21  Pádraig Brady  <P@draigBrady.com>
26238             Bruno Haible  <bruno@clisp.org>
26239
26240         Prepare for faster uN_strstr functions.
26241         * lib/str-kmp.h: Support definable UNITs.
26242         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
26243         needle_len argument.
26244         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
26245         * lib/mbscasestr.c (mbscasestr): Likewise.
26246
26247 2011-01-21  Pádraig Brady <P@draigBrady.com>
26248
26249         malloca-tests: make faster by unsetting MALLOC_PERTURB_
26250         * tests/test-malloca.c (main): Unset the environment variable
26251         to greatly speed up the test.
26252         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
26253         * modules/malloca-tests: Depend on unsetenv.
26254
26255 2011-01-21  Pádraig Brady <P@draigBrady.com>
26256
26257         ignore-value: remove stdint dependency
26258         * lib/ignore-value.h: Remove <stdint.h>
26259         * modules/ignore-value: Remove stdint dependency.
26260
26261 2011-01-21  Jim Meyering  <meyering@redhat.com>
26262
26263         maint.mk: adjust variable name to be consistent with other gl_ vars
26264         * top/maint.mk (gl_public_submodule_commit): Rename the variable
26265         to be lower case.
26266
26267 2011-01-20  Jim Meyering  <meyering@redhat.com>
26268
26269         maint.mk: make "check" depend on public-submodule-commit by default
26270         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
26271
26272 2011-01-20  Bruno Haible  <bruno@clisp.org>
26273
26274         mbfile, mbiter: Complete change from 2008-12-21.
26275         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
26276         * m4/mbiter.m4 (gl_MBITER): Likewise.
26277
26278 2011-01-20  Jim Meyering  <meyering@redhat.com>
26279
26280         init.sh: insert space between each function name and "()"
26281         * tests/init.sh: Make it a little easier to see that a function's
26282         name is "warn_", and not "warn" when looking at the first part of
26283         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
26284
26285 2011-01-20  Jim Meyering  <meyering@redhat.com>
26286
26287         mountlist: clean up code formatting
26288         * lib/mountlist.c (read_file_system_list): Split a long line,
26289         correct bracing style, use NULL in place of "(struct statfs *)0",
26290         don't parenthesize return value, add spaces around "=" and after
26291         ";-in-for-stmt".
26292
26293 2011-01-14  Markus Duft <mduft@gentoo.org>
26294
26295         mountlist: add support for Interix
26296         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
26297         Apply statvfs to all entries of /dev/fs.
26298         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
26299         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
26300
26301 2011-01-20  Jim Meyering  <meyering@redhat.com>
26302
26303         maint.mk: improve the public-submodule-commit rule
26304         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
26305         to suppress printing of its commands... unless V=1.
26306         Add git submodule's --quiet option to suppress printing of e.g.,
26307         "Entering gnulib" output.
26308         "cd" into $(srcdir) before running git submodule.
26309
26310 2011-01-20  Bruno Haible  <bruno@clisp.org>
26311
26312         include_next: Fix bug introduced on 2011-01-18.
26313         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
26314         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
26315         ac_cv_header_... variable if the second argument is not 'check'.
26316         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
26317         gl_NEXT_HEADERS_INTERNAL.
26318
26319 2011-01-20  Bruno Haible  <bruno@clisp.org>
26320
26321         Allow the user to avoid the GNULIB_TEST_* macros.
26322         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
26323         Suggested by Paul Eggert.
26324
26325 2011-01-14  Jim Meyering  <meyering@redhat.com>
26326
26327         bootstrap: avoid failure when there is no .gitmodules file
26328         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
26329         has been assigned to, even when its value is the empty string.
26330         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
26331         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
26332         Reported by John W. Eaton <jwe@gnu.org>.
26333
26334 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
26335
26336         assume <ctype.h>, ..., <time.h> exist
26337         For years gnulib has been assuming the existence of the headers
26338         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
26339         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
26340         them, since they don't appear to be needed.
26341         * README (Portability guidelines): Document this.
26342         * lib/flock.c: Assume <fcntl.h> exists.
26343         * lib/regex_internal.h: Assume <locale.h> exists.
26344         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
26345         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
26346         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
26347         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
26348         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
26349         * m4/regex.m4 (gl_REGEX): Likewise.
26350         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
26351         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
26352         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
26353         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
26354         * tests/test-argp.c: Likewise.
26355         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
26356
26357         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
26358         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
26359         AA_APPLE_UNIVERSAL_BUILD.  See
26360         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
26361         * NEWS: Document this.
26362
26363 2011-01-19  Eric Blake  <eblake@redhat.com>
26364
26365         c-stack: assume stack overflow if SA_SIGINFO unsupported
26366         * lib/c-stack.c (SIGACTION_WORKS): Rename...
26367         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
26368         sigaction will work.
26369         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
26370         behavior match Linux.
26371         * tests/test-c-stack.c (main): Prefer NULL for pointers.
26372
26373         stdbool-tests: accommodate Haiku
26374         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
26375
26376         binary-io: fix O_TEXT on Haiku
26377         * modules/binary-io (Depends-on): Add fcntl-h.
26378         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
26379         than blindly undefining O_TEXT.
26380         Reported by Scott McCreary.
26381
26382 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
26383
26384         include_next: do not check for standard headers like stddef.h
26385
26386         I found this problem when modifying Emacs to use gnulib.
26387         I noticed that it added HAVE_STDDEF_H to config.h, even though
26388         gnulib always assumes <stddef.h> exists as per README and this
26389         symbol is unnecessary.
26390         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
26391         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
26392         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
26393         faster for headers like stddef.h that are known to exist.
26394         (gl_CHECK_NEXT_HEADERS): Use it.
26395         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
26396         rather than gl_CHECK_NEXT_HEADERS.
26397         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
26398         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
26399
26400 2011-01-18  Eric Blake  <eblake@redhat.com>
26401
26402         ansi-c++-opt: skip C++ dependency style if C++ is unused
26403         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
26404         tests when we know C++ compilation is not desired.
26405         Reported by Scott McCreary.
26406
26407 2011-01-18  Bruno Haible  <bruno@clisp.org>
26408
26409         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
26410         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
26411         (main): Perform test also when getrlimit and setrlimit don't exist or
26412         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
26413         limiting the address space size using setrlimit, compare the address
26414         space size before and after the the test.
26415         * tests/test-dprintf-posix2.c: Likewise.
26416         * tests/test-fprintf-posix3.sh: Update skip messages.
26417         * tests/test-dprintf-posix2.sh: Likewise.
26418         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
26419         * modules/dprintf-posix-tests (Depends-on): Likewise.
26420         Reported by Bruce Korb <bkorb@gnu.org> and
26421         Gary V. Vaughan <gary@gnu.org>.
26422
26423 2011-01-18  Bruno Haible  <bruno@clisp.org>
26424
26425         get-rusage-as: Improvement for Cygwin.
26426         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
26427         areas that are merely reserved.
26428
26429 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
26430
26431         strftime: remove dependencies on multibyte modules
26432
26433         strftime depended on mbrlen, mbsinit, and wchar, but these modules
26434         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
26435         only if __osf__ is defined, and I suspect OSF doesn't need these
26436         other modules.  If my guess is wrong, we'll need to come up with a
26437         variant of strftime that doesn't need the multibyte modules.
26438
26439         I discovered this problem when attempting modify Emacs to use the
26440         strftime module.  With the previous gnulib, this caused Emacs to
26441         need 31 new files, ranging from lib/config.charset to
26442         m4/wint_t.m4.  This was overkill and I expect would be offputting
26443         to the Emacs maintainers.  After this change, only 6 new files are
26444         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
26445         stdbool.m4, and tm_gmtoff.m4.
26446
26447         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
26448         Suggested by Bruno Haible in
26449         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
26450         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
26451         and do not check for wchar.h.
26452         * modules/strftime (Files): Remove m4/mbstate_t.m4.
26453         (Depends-on): Remove mbrlen, mbsinit, wchar.
26454
26455 2011-01-18  Bruno Haible  <bruno@clisp.org>
26456
26457         Tests for module 'get-rusage-as'.
26458         * modules/get-rusage-as-tests: New file.
26459         * tests/test-get-rusage-as.c: New file.
26460
26461         New module 'get-rusage-as'.
26462         * modules/get-rusage-as: New file.
26463         * lib/resource-ext.h: New file.
26464         * lib/get-rusage-as.c: New file.
26465
26466 2011-01-17  Eric Blake  <eblake@redhat.com>
26467
26468         sigaction: relax license from LGPLv3+ to LGPLv2+
26469         * modules/sigaction (License): Relax to LGPLv2+.
26470
26471 2011-01-14  Bruno Haible  <bruno@clisp.org>
26472
26473         filemode: Make function declarations usable in C++ mode.
26474         * lib/filemode.h: Enclose function declarations in extern "C" block.
26475         Reported by John W. Eaton <jwe@gnu.org>.
26476
26477 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
26478
26479         save-cwd: no longer include "xgetcwd.h"
26480         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
26481         This avoids a compilation failure in projects that use save-cwd
26482         without also using the xgetcwd module.
26483
26484 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
26485
26486         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
26487         This is so that a program like Emacs, which needs only dtoastr,
26488         does not have to bother with distributing and compiling ftoastr
26489         and ldtoastr.
26490         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
26491         * modules/dtoastr, modules/ldtoastr: New files.
26492         * modules/ftoastr: Now works just for 'float'.
26493         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
26494         (Makefile.am): Remove ftoastr.h (not needed and no effect),
26495         dtoastr.c, ldtoastr.c.
26496
26497 2011-01-11  Jim Meyering  <meyering@redhat.com>
26498
26499         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
26500         There is no need to work around the lack of the fchdir function,
26501         since gnulib can now provide a replacement when required.
26502         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
26503         * modules/save-cwd (Depends-on): Add fchdir.
26504
26505 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
26506
26507         openat, save-cwd: avoid xmalloc
26508
26509         This removes a direct (but undocumented) dependency of openat on
26510         xalloc, along with an indirect dependency via save-cwd.  It also
26511         removes a dependency of save-cwd on xgetcwd, and thereby
26512         indirectly on xalloc.  This change causes the openat substitute
26513         to fall back on save_cwd when memory is tight, and for save_cwd to
26514         fail instead of dying when memory is tight, but that's good enough.
26515         Problem and initial idea for fix reported by Bastien Roucaries in
26516         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
26517
26518         * lib/openat-proc.c: Include stdlib.h (for malloc), not
26519         xalloc.h (for xmalloc).
26520         (openat_proc_name): Use malloc, not xmalloc.
26521         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
26522         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
26523
26524         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
26525         This avoids heap allocation for file names whose lengths are in
26526         the range 512..1023, with the upper bound increasing to at most
26527         4031 depending on the platform's PATH_MAX.  (We do not want
26528         pathmax.h here as it might supply a non-constant PATH_MAX.)
26529         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
26530         Perhaps they should be moved to malloca.h?
26531         (OPENAT_BUFFER_SIZE): Use them.
26532
26533 2011-01-10  Bruno Haible  <bruno@clisp.org>
26534
26535         doc: Update users.txt.
26536         * users.txt: Add recutils.
26537
26538 2011-01-09  Karl Berry  <karl@gnu.org>
26539
26540         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
26541
26542         * doc/configmake.texi: New file.
26543         * doc/gnulib.texi: Include it.
26544         * modules/configmake: Move documentation from here.
26545
26546 2011-01-09  Bruno Haible  <bruno@clisp.org>
26547
26548         Update to Unicode 6.0.0.
26549         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
26550         (get_lbp): Update for Unicode 6.0.0.
26551         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
26552         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
26553         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
26554         U+11001, U+11038..U+11046. Remove U+06DE.
26555         (uc_width): Fix bounds of planes.
26556         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26557         lib/uniwidth/width.c.
26558         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
26559         trailing whitespace removed.
26560         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
26561         without comments, but with the original copyright notice.
26562         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
26563         * lib/unicase/ignorable.h: Likewise.
26564         * lib/unicase/tocasefold.h: Likewise.
26565         * lib/unicase/tolower.h: Likewise.
26566         * lib/unicase/totitle.h: Likewise.
26567         * lib/unicase/toupper.h: Likewise.
26568         * lib/unictype/bidi_of.h: Likewise.
26569         * lib/unictype/blocks.h: Likewise.
26570         * lib/unictype/categ_C.h: Likewise.
26571         * lib/unictype/categ_Cn.h: Likewise.
26572         * lib/unictype/categ_L.h: Likewise.
26573         * lib/unictype/categ_Ll.h: Likewise.
26574         * lib/unictype/categ_Lm.h: Likewise.
26575         * lib/unictype/categ_Lo.h: Likewise.
26576         * lib/unictype/categ_Lu.h: Likewise.
26577         * lib/unictype/categ_M.h: Likewise.
26578         * lib/unictype/categ_Mc.h: Likewise.
26579         * lib/unictype/categ_Me.h: Likewise.
26580         * lib/unictype/categ_Mn.h: Likewise.
26581         * lib/unictype/categ_N.h: Likewise.
26582         * lib/unictype/categ_Nd.h: Likewise.
26583         * lib/unictype/categ_No.h: Likewise.
26584         * lib/unictype/categ_P.h: Likewise.
26585         * lib/unictype/categ_Po.h: Likewise.
26586         * lib/unictype/categ_S.h: Likewise.
26587         * lib/unictype/categ_Sc.h: Likewise.
26588         * lib/unictype/categ_Sk.h: Likewise.
26589         * lib/unictype/categ_Sm.h: Likewise.
26590         * lib/unictype/categ_So.h: Likewise.
26591         * lib/unictype/categ_of.h: Likewise.
26592         * lib/unictype/combining.h: Likewise.
26593         * lib/unictype/ctype_alnum.h: Likewise.
26594         * lib/unictype/ctype_alpha.h: Likewise.
26595         * lib/unictype/ctype_graph.h: Likewise.
26596         * lib/unictype/ctype_lower.h: Likewise.
26597         * lib/unictype/ctype_print.h: Likewise.
26598         * lib/unictype/ctype_punct.h: Likewise.
26599         * lib/unictype/ctype_upper.h: Likewise.
26600         * lib/unictype/decdigit.h: Likewise.
26601         * lib/unictype/digit.h: Likewise.
26602         * lib/unictype/numeric.h: Likewise.
26603         * lib/unictype/pr_alphabetic.h: Likewise.
26604         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26605         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26606         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26607         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26608         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26609         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26610         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26611         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26612         * lib/unictype/pr_case_ignorable.h: Likewise.
26613         * lib/unictype/pr_cased.h: Likewise.
26614         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
26615         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
26616         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
26617         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
26618         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
26619         * lib/unictype/pr_combining.h: Likewise.
26620         * lib/unictype/pr_composite.h: Likewise.
26621         * lib/unictype/pr_currency_symbol.h: Likewise.
26622         * lib/unictype/pr_decimal_digit.h: Likewise.
26623         * lib/unictype/pr_deprecated.h: Likewise.
26624         * lib/unictype/pr_format_control.h: Likewise.
26625         * lib/unictype/pr_grapheme_base.h: Likewise.
26626         * lib/unictype/pr_grapheme_extend.h: Likewise.
26627         * lib/unictype/pr_grapheme_link.h: Likewise.
26628         * lib/unictype/pr_id_continue.h: Likewise.
26629         * lib/unictype/pr_id_start.h: Likewise.
26630         * lib/unictype/pr_ideographic.h: Likewise.
26631         * lib/unictype/pr_lowercase.h: Likewise.
26632         * lib/unictype/pr_math.h: Likewise.
26633         * lib/unictype/pr_numeric.h: Likewise.
26634         * lib/unictype/pr_other_alphabetic.h: Likewise.
26635         * lib/unictype/pr_other_id_continue.h: Likewise.
26636         * lib/unictype/pr_other_math.h: Likewise.
26637         * lib/unictype/pr_punctuation.h: Likewise.
26638         * lib/unictype/pr_sentence_terminal.h: Likewise.
26639         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26640         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26641         * lib/unictype/pr_unified_ideograph.h: Likewise.
26642         * lib/unictype/pr_uppercase.h: Likewise.
26643         * lib/unictype/pr_xid_continue.h: Likewise.
26644         * lib/unictype/pr_xid_start.h: Likewise.
26645         * lib/unictype/scripts.h: Likewise.
26646         * lib/unictype/scripts_byname.gperf: Likewise.
26647         * lib/unictype/sy_java_ident.h: Likewise.
26648         * lib/unigbrk/gbrkprop.h: Likewise.
26649         * lib/unilbrk/lbrkprop1.h: Likewise.
26650         * lib/unilbrk/lbrkprop2.h: Likewise.
26651         * lib/uninorm/decomposition-table2.h: Likewise.
26652         * lib/uniwbrk/wbrkprop.h: Likewise.
26653         * tests/unicase/test-cased.c: Likewise.
26654         * tests/unicase/test-ignorable.c: Likewise.
26655         * tests/unicase/test-uc_tolower.c: Likewise.
26656         * tests/unicase/test-uc_totitle.c: Likewise.
26657         * tests/unicase/test-uc_toupper.c: Likewise.
26658         * tests/unictype/test-categ_C.c: Likewise.
26659         * tests/unictype/test-categ_Cn.c: Likewise.
26660         * tests/unictype/test-categ_L.c: Likewise.
26661         * tests/unictype/test-categ_Ll.c: Likewise.
26662         * tests/unictype/test-categ_Lm.c: Likewise.
26663         * tests/unictype/test-categ_Lo.c: Likewise.
26664         * tests/unictype/test-categ_Lu.c: Likewise.
26665         * tests/unictype/test-categ_M.c: Likewise.
26666         * tests/unictype/test-categ_Mc.c: Likewise.
26667         * tests/unictype/test-categ_Me.c: Likewise.
26668         * tests/unictype/test-categ_Mn.c: Likewise.
26669         * tests/unictype/test-categ_N.c: Likewise.
26670         * tests/unictype/test-categ_Nd.c: Likewise.
26671         * tests/unictype/test-categ_No.c: Likewise.
26672         * tests/unictype/test-categ_P.c: Likewise.
26673         * tests/unictype/test-categ_Po.c: Likewise.
26674         * tests/unictype/test-categ_S.c: Likewise.
26675         * tests/unictype/test-categ_Sc.c: Likewise.
26676         * tests/unictype/test-categ_Sk.c: Likewise.
26677         * tests/unictype/test-categ_Sm.c: Likewise.
26678         * tests/unictype/test-categ_So.c: Likewise.
26679         * tests/unictype/test-ctype_alnum.c: Likewise.
26680         * tests/unictype/test-ctype_alpha.c: Likewise.
26681         * tests/unictype/test-ctype_graph.c: Likewise.
26682         * tests/unictype/test-ctype_lower.c: Likewise.
26683         * tests/unictype/test-ctype_print.c: Likewise.
26684         * tests/unictype/test-ctype_punct.c: Likewise.
26685         * tests/unictype/test-ctype_upper.c: Likewise.
26686         * tests/unictype/test-decdigit.h: Likewise.
26687         * tests/unictype/test-digit.h: Likewise.
26688         * tests/unictype/test-numeric.h: Likewise.
26689         * tests/unictype/test-pr_alphabetic.c: Likewise.
26690         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26691         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
26692         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
26693         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26694         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26695         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26696         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26697         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26698         * tests/unictype/test-pr_case_ignorable.c: Likewise.
26699         * tests/unictype/test-pr_cased.c: Likewise.
26700         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
26701         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
26702         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
26703         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
26704         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
26705         * tests/unictype/test-pr_combining.c: Likewise.
26706         * tests/unictype/test-pr_composite.c: Likewise.
26707         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26708         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26709         * tests/unictype/test-pr_deprecated.c: Likewise.
26710         * tests/unictype/test-pr_format_control.c: Likewise.
26711         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26712         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26713         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26714         * tests/unictype/test-pr_id_continue.c: Likewise.
26715         * tests/unictype/test-pr_id_start.c: Likewise.
26716         * tests/unictype/test-pr_ideographic.c: Likewise.
26717         * tests/unictype/test-pr_lowercase.c: Likewise.
26718         * tests/unictype/test-pr_math.c: Likewise.
26719         * tests/unictype/test-pr_numeric.c: Likewise.
26720         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26721         * tests/unictype/test-pr_other_id_continue.c: Likewise.
26722         * tests/unictype/test-pr_other_math.c: Likewise.
26723         * tests/unictype/test-pr_punctuation.c: Likewise.
26724         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26725         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26726         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26727         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26728         * tests/unictype/test-pr_uppercase.c: Likewise.
26729         * tests/unictype/test-pr_xid_continue.c: Likewise.
26730         * tests/unictype/test-pr_xid_start.c: Likewise.
26731         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26732         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26733         changes.
26734         * lib/unictype/categ_Cc.h: Likewise.
26735         * lib/unictype/categ_Cf.h: Likewise.
26736         * lib/unictype/categ_Co.h: Likewise.
26737         * lib/unictype/categ_Cs.h: Likewise.
26738         * lib/unictype/categ_Lt.h: Likewise.
26739         * lib/unictype/categ_Nl.h: Likewise.
26740         * lib/unictype/categ_Pc.h: Likewise.
26741         * lib/unictype/categ_Pd.h: Likewise.
26742         * lib/unictype/categ_Pe.h: Likewise.
26743         * lib/unictype/categ_Pf.h: Likewise.
26744         * lib/unictype/categ_Pi.h: Likewise.
26745         * lib/unictype/categ_Ps.h: Likewise.
26746         * lib/unictype/categ_Z.h: Likewise.
26747         * lib/unictype/categ_Zl.h: Likewise.
26748         * lib/unictype/categ_Zp.h: Likewise.
26749         * lib/unictype/categ_Zs.h: Likewise.
26750         * lib/unictype/ctype_blank.h: Likewise.
26751         * lib/unictype/ctype_cntrl.h: Likewise.
26752         * lib/unictype/ctype_digit.h: Likewise.
26753         * lib/unictype/ctype_space.h: Likewise.
26754         * lib/unictype/ctype_xdigit.h: Likewise.
26755         * lib/unictype/mirror.h: Likewise.
26756         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26757         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26758         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26759         * lib/unictype/pr_bidi_control.h: Likewise.
26760         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26761         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26762         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26763         * lib/unictype/pr_bidi_pdf.h: Likewise.
26764         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26765         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26766         * lib/unictype/pr_dash.h: Likewise.
26767         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26768         * lib/unictype/pr_diacritic.h: Likewise.
26769         * lib/unictype/pr_extender.h: Likewise.
26770         * lib/unictype/pr_hex_digit.h: Likewise.
26771         * lib/unictype/pr_hyphen.h: Likewise.
26772         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26773         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26774         * lib/unictype/pr_ignorable_control.h: Likewise.
26775         * lib/unictype/pr_iso_control.h: Likewise.
26776         * lib/unictype/pr_join_control.h: Likewise.
26777         * lib/unictype/pr_left_of_pair.h: Likewise.
26778         * lib/unictype/pr_line_separator.h: Likewise.
26779         * lib/unictype/pr_logical_order_exception.h: Likewise.
26780         * lib/unictype/pr_non_break.h: Likewise.
26781         * lib/unictype/pr_not_a_character.h: Likewise.
26782         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26783         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26784         * lib/unictype/pr_other_id_start.h: Likewise.
26785         * lib/unictype/pr_other_lowercase.h: Likewise.
26786         * lib/unictype/pr_other_uppercase.h: Likewise.
26787         * lib/unictype/pr_paired_punctuation.h: Likewise.
26788         * lib/unictype/pr_paragraph_separator.h: Likewise.
26789         * lib/unictype/pr_pattern_syntax.h: Likewise.
26790         * lib/unictype/pr_pattern_white_space.h: Likewise.
26791         * lib/unictype/pr_private_use.h: Likewise.
26792         * lib/unictype/pr_quotation_mark.h: Likewise.
26793         * lib/unictype/pr_radical.h: Likewise.
26794         * lib/unictype/pr_soft_dotted.h: Likewise.
26795         * lib/unictype/pr_space.h: Likewise.
26796         * lib/unictype/pr_titlecase.h: Likewise.
26797         * lib/unictype/pr_variation_selector.h: Likewise.
26798         * lib/unictype/pr_white_space.h: Likewise.
26799         * lib/unictype/pr_zero_width.h: Likewise.
26800         * lib/unictype/sy_c_ident.h: Likewise.
26801         * lib/unictype/sy_c_whitespace.h: Likewise.
26802         * lib/unictype/sy_java_whitespace.h: Likewise.
26803         * lib/uninorm/composition-table.gperf: Likewise.
26804         * lib/uninorm/decomposition-table1.h: Likewise.
26805         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
26806         LB8.
26807         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26808         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26809         * modules/unictype/*: Bump version number of expected libunistring
26810         version.
26811
26812 2011-01-09  Bruno Haible  <bruno@clisp.org>
26813
26814         Update to Unicode 5.2.0.
26815         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
26816         trailing whitespace removed.
26817
26818 2011-01-09  Bruno Haible  <bruno@clisp.org>
26819
26820         New Unicode character properties, from Unicode 5.2.0.
26821         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
26822         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
26823         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
26824         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
26825         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
26826         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
26827         uc_is_property_cased, uc_is_property_case_ignorable,
26828         uc_is_property_changes_when_lowercased,
26829         uc_is_property_changes_when_uppercased,
26830         uc_is_property_changes_when_titlecased,
26831         uc_is_property_changes_when_casefolded,
26832         uc_is_property_changes_when_casemapped): New declarations.
26833         * lib/unictype/pr_byname.gperf: Add the new properties.
26834         * modules/unictype/property-byname (Depends-on): Depend on the new
26835         properties modules.
26836         * modules/unictype/property-all (Depends-on): Likewise.
26837         * MODULES.html.sh (Unicode string functions): Add
26838         unictype/property-case-ignorable, unictype/property-cased,
26839         unictype/property-changes-when-casefolded,
26840         unictype/property-changes-when-casemapped,
26841         unictype/property-changes-when-lowercased,
26842         unictype/property-changes-when-titlecased,
26843         unictype/property-changes-when-uppercased.
26844
26845         New module 'unictype/property-changes-when-casemapped'.
26846         * modules/unictype/property-changes-when-casemapped: New file.
26847         * lib/unictype/pr_changes_when_casemapped.c: New file.
26848         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
26849         generated by gen-uni-tables.
26850         * modules/unictype/property-changes-when-casemapped-tests: New file.
26851         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
26852         automatically generated by gen-uni-tables.
26853
26854         New module 'unictype/property-changes-when-casefolded'.
26855         * modules/unictype/property-changes-when-casefolded: New file.
26856         * lib/unictype/pr_changes_when_casefolded.c: New file.
26857         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
26858         generated by gen-uni-tables.
26859         * modules/unictype/property-changes-when-casefolded-tests: New file.
26860         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
26861         automatically generated by gen-uni-tables.
26862
26863         New module 'unictype/property-changes-when-titlecased'.
26864         * modules/unictype/property-changes-when-titlecased: New file.
26865         * lib/unictype/pr_changes_when_titlecased.c: New file.
26866         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
26867         generated by gen-uni-tables.
26868         * modules/unictype/property-changes-when-titlecased-tests: New file.
26869         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
26870         automatically generated by gen-uni-tables.
26871
26872         New module 'unictype/property-changes-when-uppercased'.
26873         * modules/unictype/property-changes-when-uppercased: New file.
26874         * lib/unictype/pr_changes_when_uppercased.c: New file.
26875         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
26876         generated by gen-uni-tables.
26877         * modules/unictype/property-changes-when-uppercased-tests: New file.
26878         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
26879         automatically generated by gen-uni-tables.
26880
26881         New module 'unictype/property-changes-when-lowercased'.
26882         * modules/unictype/property-changes-when-lowercased: New file.
26883         * lib/unictype/pr_changes_when_lowercased.c: New file.
26884         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
26885         generated by gen-uni-tables.
26886         * modules/unictype/property-changes-when-lowercased-tests: New file.
26887         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
26888         automatically generated by gen-uni-tables.
26889
26890         New module 'unictype/property-case-ignorable'.
26891         * modules/unictype/property-case-ignorable: New file.
26892         * lib/unictype/pr_case_ignorable.c: New file.
26893         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
26894         by gen-uni-tables.
26895         * modules/unictype/property-case-ignorable-tests: New file.
26896         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
26897         generated by gen-uni-tables.
26898
26899         New module 'unictype/property-cased'.
26900         * modules/unictype/property-cased: New file.
26901         * lib/unictype/pr_cased.c: New file.
26902         * lib/unictype/pr_cased.h: New file, automatically generated by
26903         gen-uni-tables.
26904         * modules/unictype/property-cased-tests: New file.
26905         * tests/unictype/test-pr_cased.c: New file, automatically generated by
26906         gen-uni-tables.
26907
26908 2011-01-09  Bruno Haible  <bruno@clisp.org>
26909
26910         Update to Unicode 5.2.0.
26911         * lib/gen-uni-tables.c (output_predicate, output_category,
26912         output_combclass, output_bidi_category, output_decimal_digit_test,
26913         output_decimal_digit, output_digit_test, output_digit,
26914         output_numeric_test, output_numeric, output_mirror, output_scripts,
26915         output_scripts_byname, output_blocks, output_ident_category): Fix
26916         comment header.
26917         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
26918         get_wbp.
26919         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
26920         items.
26921         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
26922         Changes_When_Lowercased, Changes_When_Uppercased,
26923         Changes_When_Titlecased, Changes_When_Casefolded,
26924         Changes_When_Casemapped.
26925         (is_property_alphabetic, is_property_default_ignorable_code_point):
26926         Update for Unicode 5.2.0.
26927         (is_property_cased, is_property_case_ignorable,
26928         is_property_changes_when_lowercased,
26929         is_property_changes_when_uppercased,
26930         is_property_changes_when_titlecased,
26931         is_property_changes_when_casefolded,
26932         is_property_changes_when_casemapped): New functions.
26933         (output_properties): Output also the properties cased, case_ignorable,
26934         changes_when_lowercased, changes_when_uppercased,
26935         changes_when_titlecased, changes_when_casefolded,
26936         changes_when_casemapped.
26937         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
26938         Unicode TR#11 revision 17 -> 19.
26939         (LBP_CP): New enumeration value.
26940         (LBP_*): Adjust values accordingly.
26941         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26942         TR#14 revision 22 -> 24.
26943         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
26944         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
26945         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26946         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
26947         is_WBP_MIDLETTER.
26948         (output_composition_tables): Allow for 24 bits instead of 16 bits in
26949         the code1 and code2 of each composition rule.
26950         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
26951         * lib/unicase/ignorable.h: Likewise.
26952         * lib/unicase/tocasefold.h: Likewise.
26953         * lib/unicase/tolower.h: Likewise.
26954         * lib/unicase/totitle.h: Likewise.
26955         * lib/unicase/toupper.h: Likewise.
26956         * lib/unictype/bidi_of.h: Likewise.
26957         * lib/unictype/blocks.h: Likewise.
26958         * lib/unictype/categ_C.h: Likewise.
26959         * lib/unictype/categ_Cf.h: Likewise.
26960         * lib/unictype/categ_Cn.h: Likewise.
26961         * lib/unictype/categ_L.h: Likewise.
26962         * lib/unictype/categ_Ll.h: Likewise.
26963         * lib/unictype/categ_Lm.h: Likewise.
26964         * lib/unictype/categ_Lo.h: Likewise.
26965         * lib/unictype/categ_Lu.h: Likewise.
26966         * lib/unictype/categ_M.h: Likewise.
26967         * lib/unictype/categ_Mc.h: Likewise.
26968         * lib/unictype/categ_Mn.h: Likewise.
26969         * lib/unictype/categ_N.h: Likewise.
26970         * lib/unictype/categ_Nd.h: Likewise.
26971         * lib/unictype/categ_Nl.h: Likewise.
26972         * lib/unictype/categ_No.h: Likewise.
26973         * lib/unictype/categ_P.h: Likewise.
26974         * lib/unictype/categ_Pd.h: Likewise.
26975         * lib/unictype/categ_Po.h: Likewise.
26976         * lib/unictype/categ_S.h: Likewise.
26977         * lib/unictype/categ_Sc.h: Likewise.
26978         * lib/unictype/categ_So.h: Likewise.
26979         * lib/unictype/categ_of.h: Likewise.
26980         * lib/unictype/combining.h: Likewise.
26981         * lib/unictype/ctype_alnum.h: Likewise.
26982         * lib/unictype/ctype_alpha.h: Likewise.
26983         * lib/unictype/ctype_graph.h: Likewise.
26984         * lib/unictype/ctype_lower.h: Likewise.
26985         * lib/unictype/ctype_print.h: Likewise.
26986         * lib/unictype/ctype_punct.h: Likewise.
26987         * lib/unictype/ctype_upper.h: Likewise.
26988         * lib/unictype/decdigit.h: Likewise.
26989         * lib/unictype/digit.h: Likewise.
26990         * lib/unictype/numeric.h: Likewise.
26991         * lib/unictype/pr_alphabetic.h: Likewise.
26992         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26993         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26994         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26995         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26996         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26997         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26998         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26999         * lib/unictype/pr_combining.h: Likewise.
27000         * lib/unictype/pr_composite.h: Likewise.
27001         * lib/unictype/pr_currency_symbol.h: Likewise.
27002         * lib/unictype/pr_dash.h: Likewise.
27003         * lib/unictype/pr_decimal_digit.h: Likewise.
27004         * lib/unictype/pr_deprecated.h: Likewise.
27005         * lib/unictype/pr_diacritic.h: Likewise.
27006         * lib/unictype/pr_extender.h: Likewise.
27007         * lib/unictype/pr_grapheme_base.h: Likewise.
27008         * lib/unictype/pr_grapheme_extend.h: Likewise.
27009         * lib/unictype/pr_grapheme_link.h: Likewise.
27010         * lib/unictype/pr_id_continue.h: Likewise.
27011         * lib/unictype/pr_id_start.h: Likewise.
27012         * lib/unictype/pr_ideographic.h: Likewise.
27013         * lib/unictype/pr_ignorable_control.h: Likewise.
27014         * lib/unictype/pr_logical_order_exception.h: Likewise.
27015         * lib/unictype/pr_lowercase.h: Likewise.
27016         * lib/unictype/pr_numeric.h: Likewise.
27017         * lib/unictype/pr_other_alphabetic.h: Likewise.
27018         * lib/unictype/pr_punctuation.h: Likewise.
27019         * lib/unictype/pr_sentence_terminal.h: Likewise.
27020         * lib/unictype/pr_terminal_punctuation.h: Likewise.
27021         * lib/unictype/pr_unassigned_code_value.h: Likewise.
27022         * lib/unictype/pr_unified_ideograph.h: Likewise.
27023         * lib/unictype/pr_uppercase.h: Likewise.
27024         * lib/unictype/pr_xid_continue.h: Likewise.
27025         * lib/unictype/pr_xid_start.h: Likewise.
27026         * lib/unictype/pr_zero_width.h: Likewise.
27027         * lib/unictype/scripts.h: Likewise.
27028         * lib/unictype/scripts_byname.gperf: Likewise.
27029         * lib/unictype/sy_java_ident.h: Likewise.
27030         * lib/unigbrk/gbrkprop.h: Likewise.
27031         * lib/unilbrk/lbrkprop1.h: Likewise.
27032         * lib/unilbrk/lbrkprop2.h: Likewise.
27033         * lib/unilbrk/lbrktables.h: Likewise.
27034         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
27035         LBP_CP. Implement rule LB30.
27036         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
27037         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
27038         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
27039         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
27040         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
27041         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
27042         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
27043         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
27044         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
27045         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
27046         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
27047         bits instead of 16 bits in the code1 and code2 of each composition
27048         rule.
27049         (uc_composition): Update for Unicode 5.2.0.
27050         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
27051         * lib/uninorm/decomposition-table2.h: Likewise.
27052         * lib/uniwbrk/wbrkprop.h: Likewise.
27053         * tests/unicase/test-cased.c: Likewise.
27054         * tests/unicase/test-ignorable.c: Likewise.
27055         * tests/unicase/test-uc_tolower.c: Likewise.
27056         * tests/unicase/test-uc_totitle.c: Likewise.
27057         * tests/unicase/test-uc_toupper.c: Likewise.
27058         * tests/unictype/test-categ_C.c: Likewise.
27059         * tests/unictype/test-categ_Cf.c: Likewise.
27060         * tests/unictype/test-categ_Cn.c: Likewise.
27061         * tests/unictype/test-categ_L.c: Likewise.
27062         * tests/unictype/test-categ_Ll.c: Likewise.
27063         * tests/unictype/test-categ_Lm.c: Likewise.
27064         * tests/unictype/test-categ_Lo.c: Likewise.
27065         * tests/unictype/test-categ_Lu.c: Likewise.
27066         * tests/unictype/test-categ_M.c: Likewise.
27067         * tests/unictype/test-categ_Mc.c: Likewise.
27068         * tests/unictype/test-categ_Mn.c: Likewise.
27069         * tests/unictype/test-categ_N.c: Likewise.
27070         * tests/unictype/test-categ_Nd.c: Likewise.
27071         * tests/unictype/test-categ_Nl.c: Likewise.
27072         * tests/unictype/test-categ_No.c: Likewise.
27073         * tests/unictype/test-categ_P.c: Likewise.
27074         * tests/unictype/test-categ_Pd.c: Likewise.
27075         * tests/unictype/test-categ_Po.c: Likewise.
27076         * tests/unictype/test-categ_S.c: Likewise.
27077         * tests/unictype/test-categ_Sc.c: Likewise.
27078         * tests/unictype/test-categ_So.c: Likewise.
27079         * tests/unictype/test-ctype_alnum.c: Likewise.
27080         * tests/unictype/test-ctype_alpha.c: Likewise.
27081         * tests/unictype/test-ctype_graph.c: Likewise.
27082         * tests/unictype/test-ctype_lower.c: Likewise.
27083         * tests/unictype/test-ctype_print.c: Likewise.
27084         * tests/unictype/test-ctype_punct.c: Likewise.
27085         * tests/unictype/test-ctype_upper.c: Likewise.
27086         * tests/unictype/test-decdigit.h: Likewise.
27087         * tests/unictype/test-digit.h: Likewise.
27088         * tests/unictype/test-numeric.h: Likewise.
27089         * tests/unictype/test-pr_alphabetic.c: Likewise.
27090         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
27091         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
27092         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
27093         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
27094         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
27095         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
27096         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
27097         * tests/unictype/test-pr_combining.c: Likewise.
27098         * tests/unictype/test-pr_composite.c: Likewise.
27099         * tests/unictype/test-pr_currency_symbol.c: Likewise.
27100         * tests/unictype/test-pr_dash.c: Likewise.
27101         * tests/unictype/test-pr_decimal_digit.c: Likewise.
27102         * tests/unictype/test-pr_deprecated.c: Likewise.
27103         * tests/unictype/test-pr_diacritic.c: Likewise.
27104         * tests/unictype/test-pr_extender.c: Likewise.
27105         * tests/unictype/test-pr_grapheme_base.c: Likewise.
27106         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
27107         * tests/unictype/test-pr_grapheme_link.c: Likewise.
27108         * tests/unictype/test-pr_id_continue.c: Likewise.
27109         * tests/unictype/test-pr_id_start.c: Likewise.
27110         * tests/unictype/test-pr_ideographic.c: Likewise.
27111         * tests/unictype/test-pr_ignorable_control.c: Likewise.
27112         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
27113         * tests/unictype/test-pr_lowercase.c: Likewise.
27114         * tests/unictype/test-pr_numeric.c: Likewise.
27115         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
27116         * tests/unictype/test-pr_punctuation.c: Likewise.
27117         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
27118         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
27119         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
27120         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
27121         * tests/unictype/test-pr_uppercase.c: Likewise.
27122         * tests/unictype/test-pr_xid_continue.c: Likewise.
27123         * tests/unictype/test-pr_xid_start.c: Likewise.
27124         * tests/unictype/test-pr_zero_width.c: Likewise.
27125         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
27126         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
27127         changed behaviour: line breaking is now disallowed between a letter
27128         or '=' and '('.
27129         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
27130         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
27131         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
27132         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
27133         * tests/uniwidth/test-uc_width2.sh: Same updates as in
27134         lib/uniwidth/width.c.
27135         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
27136         without comments, but with the original copyright notice.
27137         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
27138         changes.
27139         * lib/unictype/categ_Cc.h: Likewise.
27140         * lib/unictype/categ_Co.h: Likewise.
27141         * lib/unictype/categ_Cs.h: Likewise.
27142         * lib/unictype/categ_Lt.h: Likewise.
27143         * lib/unictype/categ_Me.h: Likewise.
27144         * lib/unictype/categ_Pc.h: Likewise.
27145         * lib/unictype/categ_Pe.h: Likewise.
27146         * lib/unictype/categ_Pf.h: Likewise.
27147         * lib/unictype/categ_Pi.h: Likewise.
27148         * lib/unictype/categ_Ps.h: Likewise.
27149         * lib/unictype/categ_Sk.h: Likewise.
27150         * lib/unictype/categ_Sm.h: Likewise.
27151         * lib/unictype/categ_Z.h: Likewise.
27152         * lib/unictype/categ_Zl.h: Likewise.
27153         * lib/unictype/categ_Zp.h: Likewise.
27154         * lib/unictype/categ_Zs.h: Likewise.
27155         * lib/unictype/ctype_blank.h: Likewise.
27156         * lib/unictype/ctype_cntrl.h: Likewise.
27157         * lib/unictype/ctype_digit.h: Likewise.
27158         * lib/unictype/ctype_space.h: Likewise.
27159         * lib/unictype/ctype_xdigit.h: Likewise.
27160         * lib/unictype/mirror.h: Likewise.
27161         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
27162         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
27163         * lib/unictype/pr_bidi_block_separator.h: Likewise.
27164         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
27165         * lib/unictype/pr_bidi_common_separator.h: Likewise.
27166         * lib/unictype/pr_bidi_control.h: Likewise.
27167         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
27168         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
27169         * lib/unictype/pr_bidi_pdf.h: Likewise.
27170         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
27171         * lib/unictype/pr_bidi_whitespace.h: Likewise.
27172         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
27173         * lib/unictype/pr_format_control.h: Likewise.
27174         * lib/unictype/pr_hex_digit.h: Likewise.
27175         * lib/unictype/pr_hyphen.h: Likewise.
27176         * lib/unictype/pr_ids_binary_operator.h: Likewise.
27177         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
27178         * lib/unictype/pr_iso_control.h: Likewise.
27179         * lib/unictype/pr_join_control.h: Likewise.
27180         * lib/unictype/pr_left_of_pair.h: Likewise.
27181         * lib/unictype/pr_line_separator.h: Likewise.
27182         * lib/unictype/pr_math.h: Likewise.
27183         * lib/unictype/pr_non_break.h: Likewise.
27184         * lib/unictype/pr_not_a_character.h: Likewise.
27185         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
27186         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
27187         * lib/unictype/pr_other_id_continue.h: Likewise.
27188         * lib/unictype/pr_other_id_start.h: Likewise.
27189         * lib/unictype/pr_other_lowercase.h: Likewise.
27190         * lib/unictype/pr_other_math.h: Likewise.
27191         * lib/unictype/pr_other_uppercase.h: Likewise.
27192         * lib/unictype/pr_paired_punctuation.h: Likewise.
27193         * lib/unictype/pr_paragraph_separator.h: Likewise.
27194         * lib/unictype/pr_pattern_syntax.h: Likewise.
27195         * lib/unictype/pr_pattern_white_space.h: Likewise.
27196         * lib/unictype/pr_private_use.h: Likewise.
27197         * lib/unictype/pr_quotation_mark.h: Likewise.
27198         * lib/unictype/pr_radical.h: Likewise.
27199         * lib/unictype/pr_soft_dotted.h: Likewise.
27200         * lib/unictype/pr_space.h: Likewise.
27201         * lib/unictype/pr_titlecase.h: Likewise.
27202         * lib/unictype/pr_variation_selector.h: Likewise.
27203         * lib/unictype/pr_white_space.h: Likewise.
27204         * lib/unictype/sy_c_ident.h: Likewise.
27205         * lib/unictype/sy_c_whitespace.h: Likewise.
27206         * lib/unictype/sy_java_whitespace.h: Likewise.
27207         * modules/uni*/*: Bump version number of expected libunistring version.
27208         Reported by Simon Josefsson.
27209
27210 2011-01-09  Karl Heuer  <kwzh@gnu.org>
27211
27212         useless-if-before-free: fix typo in --help and make the internal,
27213         automatic version date update process work once again.
27214         --help output contained a NUL character instead of the
27215         backslash-zero that was intended.  Also, the "must lie within
27216         the first 8 lines" line is on line 9, and hence not getting
27217         automatically updated.
27218         * build-aux/useless-if-before-free: Fix the former by adding a
27219         backslash, and the latter by condensing the three lines of what-it-does
27220         to a single line, leaving one line of slack for the future.
27221
27222 2011-01-09  Bruno Haible  <bruno@clisp.org>
27223
27224         uniwidth/width: Fix width of U+1D173..U+1D17A.
27225         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
27226         symbolic_width, output_width_property_test): New functions.
27227         (main): Invoke output_nonspacing_property, output_width_property_test.
27228         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
27229         U+1D173..U+1D17A.
27230         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
27231         1.
27232         * modules/uniwidth/*: Bump version number of expected libunistring
27233         version.
27234         * modules/unilbrk/*: Likewise.
27235
27236 2011-01-08  Bruno Haible  <bruno@clisp.org>
27237
27238         uninorm tests: Preserve copyright of Unicode data file.
27239         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
27240         Mention modifications.
27241
27242 2011-01-08  Bruno Haible  <bruno@clisp.org>
27243
27244         gen-uni-tables: Prepare for Unicode 5.2.0.
27245         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
27246         (debug_output_lbp, output_lbp): Update.
27247
27248 2011-01-08  Bruno Haible  <bruno@clisp.org>
27249
27250         unilbrk: Clarify gen-uni-tables.c code.
27251         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
27252         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
27253         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
27254
27255 2011-01-07  Bruno Haible  <bruno@clisp.org>
27256
27257         strtod: Restore errno when successfully parsing Infinity or NaN.
27258         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
27259         restore the original errno.
27260
27261 2011-01-07  Bruno Haible  <bruno@clisp.org>
27262
27263         remove test: Avoid failure on HP-UX 11.
27264         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
27265
27266 2011-01-07  Bruno Haible  <bruno@clisp.org>
27267
27268         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
27269         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
27270         error code.
27271
27272 2011-01-07  Pádraig Brady <P@draigBrady.com>
27273
27274         ignore-value: fixup comments, and add Eric Blake
27275         as an author since he rewrote the macros.
27276         * lib/ignore-value.h (ignore_value):  State that
27277         we now support aggregates.  Also specify exactly
27278         when the GCC warn_unused_result feature was added.
27279
27280 2011-01-06  Eric Blake  <eblake@redhat.com>
27281
27282         ignore-value: support aggregate types
27283         * lib/ignore-value.h (ignore_value): Provide separate gcc
27284         definition.
27285         * modules/ignore-value-tests: New test module.
27286         * tests/test-ignore-value.c: New test.
27287
27288         maint.mk: improve sc_prohibit_strcmp regex
27289         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
27290         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
27291         definition of STRNEQ.
27292
27293         signal: work around Haiku issue with SIGBUS
27294         * lib/siglist.h: Add comment.
27295         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
27296         strsignal's favoring of SIGSEGV.
27297         * tests/test-signal.c (main): Avoid test failure.
27298         * doc/posix-headers/signal.texi (signal.h): Document the issue.
27299         Reported by Scott McCreary.
27300
27301         maint.mk: add pre-release check to ensure submodule commits are public
27302         * top/maint.mk (public-submodule-commit): New rule.
27303         (submodule-checks): New variable.
27304         (alpha beta stable): Depend on the variable.
27305
27306 2011-01-05  Pádraig Brady <P@draigBrady.com>
27307         and Jim Meyering  <meyering@redhat.com>
27308
27309         ignore-value: make ignore_value more generic; deprecate ignore_ptr
27310         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
27311         (ATTRIBUTE_DEPRECATED): Define.
27312         (_ignore_case): New function.
27313         (ignore_value): New macro, to replace the old function.
27314         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
27315         * modules/ignore-value (Depends-on): Add stdint.
27316
27317 2011-01-04  Eric Blake  <eblake@redhat.com>
27318
27319         doc: regenerate INSTALL
27320         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
27321         @firstparagraphindent support, now that autoconf dropped it.
27322         (INSTALL_PRELUDE): Reinstate old macro.
27323         * doc/install.texi: Resync from autoconf.
27324         * doc/INSTALL: Reflect recent autoconf update.
27325         * doc/INSTALL.ISO: Likewise.
27326         * doc/INSTALL.UTF-8: Likewise.
27327         Reported by Karl Berry.
27328
27329 2011-01-04  Bruce Korb  <address@hidden>
27330
27331         git-version-gen: avoid a sub-shell
27332         * build-aux/git-version-gen: Redirect stderr in `...` via
27333         "exec 2>...", rather than via an added sub-shell.
27334
27335 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
27336
27337         git-version-gen: use (...) rather than sh -c '...'
27338         * build-aux/git-version-gen: Rather than hard-coding a shell's name
27339         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
27340
27341 2011-01-03  Jim Meyering  <meyering@redhat.com>
27342
27343         git-version-gen: convert leading TABs to spaces
27344         * build-aux/git-version-gen: Expand leading TABs.
27345
27346         git-version-gen: handle failed "git rev-list"
27347         * build-aux/git-version-gen: Rather than leaking a "fatal" error
27348         from git and proceeding as if it had succeeded but printed no SHA1
27349         checksums, suppress the diagnostic and handle the failure.
27350         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
27351
27352         git-version-gen: include command name in one more diagnostic
27353         * build-aux/git-version-gen: When the required .tarball-version file
27354         was missing or unreadable, you might see the diagnostic from "cat",
27355         but no trace of the name of the invoking script.  Now, you still see
27356         the diagnostic from cat, but also get one from "git-version-gen: ".
27357         Inspired by a patch from Bruce Korb.
27358
27359         update-copyright: adjust test to match changed code
27360         * tests/test-update-copyright.sh: Change test's expected output
27361         to match new actual output.
27362
27363 2011-01-02  Bruno Haible  <bruno@clisp.org>
27364
27365         getlogin_r: Avoid test failure on HP-UX 11.
27366         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
27367         ERANGE when the second argument is zero.
27368         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
27369         portability problem.
27370
27371 2011-01-02  Bruce Korb  <bkorb@gnu.org>
27372
27373         * build-aux/update-copyright: doc Simon's changes
27374
27375 2011-01-02  Simon Josefsson  <simon@josefsson.org>
27376
27377         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
27378         environment variable.
27379
27380 2011-01-02  Bruno Haible  <bruno@clisp.org>
27381
27382         unigbrk: Avoid gcc warnings.
27383         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
27384         unused variable.
27385         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
27386         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
27387         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
27388         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
27389         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
27390         Change type of first argument to 'const char *'.
27391         (main): Remove unused variable.
27392         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
27393         type of first argument to 'const char *'.
27394         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
27395         Likewise.
27396         (main): Change type of variable 's'.
27397         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
27398         to 'int'.
27399
27400 2011-01-02  Bruno Haible  <bruno@clisp.org>
27401
27402         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
27403         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
27404         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
27405         bug.
27406         * lib/pwrite.c: Undo 2010-12-31 patch.
27407         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
27408
27409 2011-01-02  Bruno Haible  <bruno@clisp.org>
27410
27411         pread: Fix test whether it works.
27412         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
27413
27414 2011-01-02  Bruno Haible  <bruno@clisp.org>
27415
27416         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
27417         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
27418         ends in "6". Don't require a specific month name. Try also the locale
27419         names found on HP-UX 11 and Solaris 7.
27420
27421 2011-01-02  Bruno Haible  <bruno@clisp.org>
27422
27423         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
27424         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
27425         C linkage.
27426         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
27427
27428 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
27429
27430         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
27431         for consistency, since the "cluster" term is not used elsewhere.
27432         * lib/unigbrk.in.h: Update name.
27433         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
27434         * lib/unigbrk/u16-grapheme-next.c: Update name.
27435         * lib/unigbrk/u16-grapheme-prev.c: Update name.
27436         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
27437         * lib/unigbrk/u32-grapheme-next.c: Update name.
27438         * lib/unigbrk/u32-grapheme-prev.c: Update name.
27439         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
27440         * lib/unigbrk/u8-grapheme-next.c: Update name.
27441         * lib/unigbrk/u8-grapheme-prev.c: Update name.
27442         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
27443         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
27444         Suggested by Bruno Haible.
27445
27446 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
27447
27448         Remove module 'u8-grapheme-len' as too redundant with
27449         'u8-grapheme-next'.
27450         * modules/unigbrk/u8-grapheme-len: Delete file.
27451         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
27452         * lib/unigbrk.in.h: Remove prototype for deleted function.
27453         * lib/unigbrk/u8-grapheme-len.c: Delete file.
27454         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
27455
27456         Remove module 'u16-grapheme-len' as too redundant with
27457         'u16-grapheme-next'.
27458         * modules/unigbrk/u16-grapheme-len: Delete file.
27459         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
27460         * lib/unigbrk.in.h: Remove prototype for deleted function.
27461         * lib/unigbrk/u16-grapheme-len.c: Delete file.
27462         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
27463
27464         Remove module 'u32-grapheme-len' as too redundant with
27465         'u32-grapheme-next'.
27466         * modules/unigbrk/u32-grapheme-len: Delete file.
27467         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
27468         * lib/unigbrk.in.h: Remove prototype for deleted function.
27469         * lib/unigbrk/u32-grapheme-len.c: Delete file.
27470         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
27471
27472         Suggested by Bruno Haible.
27473
27474 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
27475
27476         * unigbrk.in.h: Fix typo: "ben" => "been".
27477         Reported by Bruno Haible.
27478
27479 2011-01-01  Jim Meyering  <meyering@redhat.com>
27480
27481         maint: update almost all copyright ranges to include 2011
27482         Run the new "make update-copyright" rule.
27483
27484 2011-01-01  Jim Meyering  <meyering@redhat.com>
27485
27486         maint: update-copyright: exempt doc/INSTALL*
27487         * Makefile (update-copyright): Also exclude doc/INSTALL*,
27488         since they are generated.  Suggested by Bruno Haible.
27489
27490 2011-01-01  Jim Meyering  <meyering@redhat.com>
27491
27492         maint: refine the update-copyright rule
27493         * Makefile (update-copyright): Also exclude any file that includes
27494         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
27495         code that merely generates the comment.
27496
27497 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
27498
27499         New module 'u8-grapheme-len'.
27500         * modules/unigbrk/u8-grapheme-len: New file.
27501         * modules/unigbrk/u8-grapheme-len-tests: New file.
27502         * lib/unigbrk.in.h: Add prototype for new function.
27503         * lib/unigbrk/u8-grapheme-len.c: New file.
27504         * tests/unigbrk/test-u8-grapheme-len.c: New file.
27505
27506         New module 'u16-grapheme-len'.
27507         * modules/unigbrk/u16-grapheme-len: New file.
27508         * modules/unigbrk/u16-grapheme-len-tests: New file.
27509         * lib/unigbrk.in.h: Add prototype for new function.
27510         * lib/unigbrk/u16-grapheme-len.c: New file.
27511         * tests/unigbrk/test-u16-grapheme-len.c: New file.
27512
27513         New module 'u32-grapheme-len'.
27514         * modules/unigbrk/u32-grapheme-len: New file.
27515         * modules/unigbrk/u32-grapheme-len-tests: New file.
27516         * lib/unigbrk.in.h: Add prototype for new function.
27517         * lib/unigbrk/u32-grapheme-len.c: New file.
27518         * tests/unigbrk/test-u32-grapheme-len.c: New file.
27519
27520         New module 'u8-grapheme-next'.
27521         * modules/unigbrk/u8-grapheme-next: New file.
27522         * modules/unigbrk/u8-grapheme-next-tests: New file.
27523         * lib/unigbrk.in.h: Add prototype for new function.
27524         * lib/unigbrk/u8-grapheme-next.c: New file.
27525         * tests/unigbrk/test-u8-grapheme-next.c: New file.
27526
27527         New module 'u16-grapheme-next'.
27528         * modules/unigbrk/u16-grapheme-next: New file.
27529         * modules/unigbrk/u16-grapheme-next-tests: New file.
27530         * lib/unigbrk.in.h: Add prototype for new function.
27531         * lib/unigbrk/u16-grapheme-next.c: New file.
27532         * tests/unigbrk/test-u16-grapheme-next.c: New file.
27533
27534         New module 'u32-grapheme-next'.
27535         * modules/unigbrk/u32-grapheme-next: New file.
27536         * modules/unigbrk/u32-grapheme-next-tests: New file.
27537         * lib/unigbrk.in.h: Add prototype for new function.
27538         * lib/unigbrk/u32-grapheme-next.c: New file.
27539         * tests/unigbrk/test-u32-grapheme-next.c: New file.
27540
27541         New module 'u8-grapheme-prev'.
27542         * modules/unigbrk/u8-grapheme-prev: New file.
27543         * modules/unigbrk/u8-grapheme-prev-tests: New file.
27544         * lib/unigbrk.in.h: Add prototype for new function.
27545         * lib/unigbrk/u8-grapheme-prev.c: New file.
27546         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
27547
27548         New module 'u16-grapheme-prev'.
27549         * modules/unigbrk/u16-grapheme-prev: New file.
27550         * modules/unigbrk/u16-grapheme-prev-tests: New file.
27551         * lib/unigbrk.in.h: Add prototype for new function.
27552         * lib/unigbrk/u16-grapheme-prev.c: New file.
27553         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
27554
27555         New module 'u32-grapheme-prev'.
27556         * modules/unigbrk/u32-grapheme-prev: New file.
27557         * modules/unigbrk/u32-grapheme-prev-tests: New file.
27558         * lib/unigbrk.in.h: Add prototype for new function.
27559         * lib/unigbrk/u32-grapheme-prev.c: New file.
27560         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
27561
27562         New module 'u8-grapheme-breaks'.
27563         * modules/unigbrk/u8-grapheme-breaks: New file.
27564         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
27565         * lib/unigbrk.in.h: Add prototype for new function.
27566         * lib/unigbrk/u8-grapheme-breaks.c: New file.
27567         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
27568
27569         New module 'u16-grapheme-breaks'.
27570         * modules/unigbrk/u16-grapheme-breaks: New file.
27571         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
27572         * lib/unigbrk.in.h: Add prototype for new function.
27573         * lib/unigbrk/u16-grapheme-breaks.c: New file.
27574         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
27575
27576         New module 'u32-grapheme-breaks'.
27577         * modules/unigbrk/u32-grapheme-breaks: New file.
27578         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
27579         * lib/unigbrk.in.h: Add prototype for new function.
27580         * lib/unigbrk/u32-grapheme-breaks.c: New file.
27581         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
27582
27583         New module 'ulc-grapheme-breaks'.
27584         * modules/unigbrk/ulc-grapheme-breaks: New file.
27585         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
27586         * m4/locale-ar.m4: New file.
27587         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
27588         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
27589         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
27590
27591 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
27592
27593         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
27594         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
27595         modified how this file was generated before I initially submitted
27596         the module, but failed to regenerate it.  This meant that several
27597         of the level2 entries were wrong.
27598         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
27599         Remove the division-by-2 that is folded into the table now that
27600         gbrkprop.h has been regenerated properly.  Now -1 entries are
27601         handled correctly.
27602
27603         New module 'unigbrk/uc-gbrk-prop-tests'.
27604         * modules/unigbrk/uc-gbrk-prop-tests: New file.
27605         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
27606         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
27607         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
27608
27609 2011-01-01  Bruno Haible  <bruno@clisp.org>
27610
27611         Avoid use of hexadecimal escapes.
27612         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
27613         instead of hexadecimal escapes.
27614
27615 2011-01-01  Jim Meyering  <meyering@redhat.com>
27616
27617         maint: new rule to update copyright year ranges
27618         * Makefile (update-copyright): New rule.
27619
27620         maint: indent with TABs in Makefile
27621         * Makefile: Expand leading sequences of spaces to TABs
27622
27623         version-etc: update the copyright year it reports
27624         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
27625
27626 2010-12-31  Bruno Haible  <bruno@clisp.org>
27627
27628         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
27629         * lib/isfinite.c (zerof, zerod, zerol): New variables.
27630         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
27631         zero.
27632
27633 2010-12-31  Bruno Haible  <bruno@clisp.org>
27634
27635         pwrite: Work around HP-UX 11.11 bug.
27636         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
27637         works and set REPLACE_PWRITE if not.
27638         * lib/pwrite.c (pwrite): Add an implementation that uses the system
27639         function.
27640         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
27641
27642 2010-12-31  Bruno Haible  <bruno@clisp.org>
27643
27644         pread: Work around HP-UX 11 bugs.
27645         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
27646         and set REPLACE_PREAD if not.
27647         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
27648
27649 2010-12-31  Eric Blake  <eblake@redhat.com>
27650
27651         nl_langinfo: fix YESEXPR on Irix 6.5
27652         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
27653         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
27654         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
27655         it.
27656
27657 2010-12-31  Bruno Haible  <bruno@clisp.org>
27658
27659         iconv: Document HP-UX 11 bug.
27660         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
27661
27662 2010-12-31  Bruno Haible  <bruno@clisp.org>
27663
27664         ldexpl: Fix link error on HP-UX 11.
27665         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
27666         LDEXPL_LIBM, using $ISNANL_LIBM.
27667
27668 2010-12-31  Eric Blake  <eblake@redhat.com>
27669
27670         ftello: avoid compilation failure with SunStudio c89
27671         * lib/ftello.c (ftello): Use lseek, not llseek.
27672
27673         tests: avoid failing coreutils tests on cygwin
27674         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
27675         (create_exe_shims_): Return 0 when skipping.
27676
27677 2010-12-31  Bruno Haible  <bruno@clisp.org>
27678
27679         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
27680         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
27681
27682 2010-12-31  Bruno Haible  <bruno@clisp.org>
27683
27684         waitpid: Fix link error in C++ mode.
27685         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
27686
27687 2010-12-31  Bruno Haible  <bruno@clisp.org>
27688
27689         isnan: Use GCC built-ins when possible.
27690         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
27691         __builtin_isnan.
27692         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
27693         (isnan): Define using GCC built-ins for GCC >= 4.0.
27694
27695 2010-12-31  Bruno Haible  <bruno@clisp.org>
27696
27697         isnand: Fix mistake.
27698         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
27699         __builtin_isnand.
27700
27701 2010-12-31  Bruno Haible  <bruno@clisp.org>
27702
27703         open: Avoid C++ error on HP-UX 11.
27704         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
27705
27706 2010-12-31  Bruno Haible  <bruno@clisp.org>
27707
27708         time_r: Add missing declarations on HP-UX 11.
27709         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
27710         instead of HAVE_LOCALTIME_R.
27711         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
27712         HAVE_LOCALTIME_R always.
27713         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
27714         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
27715         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
27716         HAVE_LOCALTIME_R.
27717         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
27718         * doc/posix-functions/localtime_r.texi: Likewise.
27719
27720 2010-12-29  Eric Blake  <eblake@redhat.com>
27721
27722         mountlist: tweak previous commit
27723         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
27724         Reported by Paul Eggert.
27725
27726         mountlist: fix local drive detection on cygwin
27727         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
27728         that works for cygwin.
27729
27730 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
27731
27732         ftoastr, snprintf: ftoastr + snprintf module
27733         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
27734         since the snprintf module now should be good enough here.
27735         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
27736         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
27737         and gl_MODULE_INDICATOR([snprintf]), but the former enables
27738         GNULIB_SNPRINTF only for the test directory, and the latter
27739         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
27740         seems to suffice by itself.
27741
27742 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
27743
27744         alloca: one step towards thread-safety
27745         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
27746         need for a static variable.  All callers changed.  This does not
27747         make the alloca replacement thread-safe, but it's one step.
27748
27749         tests: minor indenting change
27750         * tests/init.sh: Sync from coreutils housekeeping patch
27751         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
27752         to keep lines within 80 columns.
27753
27754 2010-12-28  Jim Meyering  <meyering@redhat.com>
27755
27756         regex: don't infloop on persistent failing calloc
27757         * lib/regexec.c (build_trtable): Return failure indication upon
27758         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
27759         In glibc, this was fixed for version 2.13:
27760         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
27761
27762 2010-12-28  Bruno Haible  <bruno@clisp.org>
27763             Paul Eggert <eggert@cs.ucla.edu>
27764
27765         linkat: Make implementation robust against system behaviour variations.
27766         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
27767         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
27768         way, and to -2 if it needs a generic runtime test.
27769         * lib/linkat.c (solaris_optimized_link_immediate,
27770         solaris_optimized_link_follow): New functions.
27771         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
27772         (check_same_link): Use it.
27773
27774 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
27775
27776         New module 'unigbrk/base'.
27777         * modules/unigbrk/base: New file.
27778         * lib/unigbrk.in.h: New file.
27779
27780         New module 'unigbrk/uc-gbrk-prop'.
27781         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
27782         * modules/unigbrk/uc-gbrk-prop: New file.
27783         * lib/unigbrk/gbrkprop.h: New file.
27784         * lib/unigbrk/uc-gbrk-prop.c: New file.
27785
27786         New module 'unigbrk/uc-is-grapheme-break'.
27787         * modules/unigbrk/uc-is-grapheme-break: New file.
27788         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
27789         * lib/unigbrk/uc-is-grapheme-break.c: New file.
27790         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
27791         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
27792         * tests/unigbrk/GraphemeBreakTest.txt: New file.
27793
27794         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
27795
27796 2010-12-27  Bruno Haible  <bruno@clisp.org>
27797
27798         linkat test: Avoid failure on Solaris 11 2010-11.
27799         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
27800
27801 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27802
27803         utimens: work around glibc rounding bug on more platforms
27804         * lib/utimens.c (fdutimens): Work around rounding bug even if
27805         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
27806         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
27807
27808 2010-12-27  Bruno Haible  <bruno@clisp.org>
27809
27810         select tests: Improve comments.
27811         * tests/test-select.c (do_select): Add comments.
27812
27813 2010-12-27  Bruno Haible  <bruno@clisp.org>
27814
27815         select tests: Safer way of handling timeout.
27816         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
27817         at every invocation.
27818
27819 2010-12-27  Bruno Haible  <bruno@clisp.org>
27820
27821         select tests: Use 'bool' where appropriate.
27822         * tests/test-select.c (connect_to_socket): Change argument type to
27823         'bool'.
27824
27825 2010-12-27  Bruno Haible  <bruno@clisp.org>
27826
27827         select tests: Use existing modules.
27828         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
27829         (configure.ac): Don't test for unistd.h.
27830         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
27831         declared in <unistd.h>.
27832
27833 2010-12-27  Bruno Haible  <bruno@clisp.org>
27834
27835         mbrtowc: Work around a Solaris 7 bug.
27836         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
27837         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
27838         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
27839         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
27840         MBRTOWC_NULL_ARG1_BUG.
27841         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
27842         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
27843         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
27844         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
27845
27846 2010-12-27  Jim Meyering  <meyering@redhat.com>
27847
27848         read-file.c: tweak syntax
27849         * lib/read-file.c (fread_file): Remove space after "*" in function
27850         definitions.
27851
27852 2010-12-27  Bruno Haible  <bruno@clisp.org>
27853
27854         times test: Avoid gcc warnings on OSF/1.
27855         * tests/test-times.c (main): Cast printf arguments from clock_t to
27856         'long int'.
27857
27858 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27859
27860         utimens: work around glibc rounding bug on older Linux kernels
27861         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
27862         on Linux with a glibc whose utimes might not work, then work
27863         around a longstanding glibc bug involving rounding rather than
27864         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
27865         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27866
27867 2010-12-26  Bruno Haible  <bruno@clisp.org>
27868
27869         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
27870         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
27871         _GL_CXXALIAS_SYS.
27872         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27873
27874 2010-12-26  Bruno Haible  <bruno@clisp.org>
27875
27876         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
27877         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
27878         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
27879         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
27880         looking for the declaration.
27881         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
27882         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
27883         problem.
27884         * doc/posix-functions/inet_pton.texi: Likewise.
27885
27886 2010-12-26  Bruno Haible  <bruno@clisp.org>
27887
27888         arpa_inet: Use the common idioms with C++ support.
27889         * lib/arpa_inet.in.h: Include c++defs.h.
27890         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
27891         support.
27892         * modules/arpa_inet (Depends-on): Add c++defs.
27893         (Makefile.am): Substitute the contents of c++defs.h.
27894         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
27895         * modules/arpa_inet-c++-tests: New file.
27896         * tests/test-arpa_inet-c++.cc: New file.
27897
27898 2010-12-25  Bruno Haible  <bruno@clisp.org>
27899
27900         Fix more C++ link errors on Solaris 8.
27901         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
27902         $(LIB_EACCESS).
27903         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
27904         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
27905         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
27906         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
27907         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
27908
27909 2010-12-25  Bruno Haible  <bruno@clisp.org>
27910
27911         printf-posix: Fix link error when a non-GCC compiler is used.
27912         * lib/stdio.in.h (printf): When not using GCC, override printf
27913         correctly.
27914         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27915
27916 2010-12-25  Bruno Haible  <bruno@clisp.org>
27917
27918         strerror_r-posix: Update doc.
27919         * doc/posix-functions/strerror_r.texi: Update doc about the return
27920         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
27921
27922 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27923
27924         utimens: simplify the logic of the previous change
27925         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
27926         This should not affect whether the test succeeds or fails.
27927
27928         utimens: configure better on hosts with NFS clock skew
27929         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
27930         uses the clock of the local host.  It might use the clock of the
27931         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
27932         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27933
27934 2010-12-25  Bruno Haible  <bruno@clisp.org>
27935
27936         ptsname test: Avoid failure on Solaris.
27937         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
27938         open a pseudo-terminal; don't use BSD-style ptys.
27939         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
27940
27941 2010-12-25  Bruno Haible  <bruno@clisp.org>
27942
27943         ptsname: Avoid ERANGE failure on some systems.
27944         * lib/ptsname.c (buffer): Increase size.
27945
27946 2010-12-25  Bruno Haible  <bruno@clisp.org>
27947
27948         rename, renameat: Avoid test failures at NFS mounted locations.
27949         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
27950         so that subsequent mkdir calls succeed.
27951
27952 2010-12-25  Bruno Haible  <bruno@clisp.org>
27953
27954         iswblank: Fix C++ link error on Solaris 8.
27955         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
27956         _GL_FUNCDECL_SYS.
27957
27958 2010-12-25  Bruno Haible  <bruno@clisp.org>
27959
27960         unistd: Fix C++ link error on Solaris 8.
27961         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
27962
27963 2010-12-25  Bruno Haible  <bruno@clisp.org>
27964
27965         readlink doc: Mention an old glibc bug.
27966         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
27967
27968 2010-12-25  Bruno Haible  <bruno@clisp.org>
27969
27970         fcntl-h: Fix for use of C++ on glibc systems.
27971         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
27972         also on glibc systems in C++ mode.
27973         Reported by Gary V. Vaughan <gary@gnu.org>.
27974
27975 2010-12-25  Bruno Haible  <bruno@clisp.org>
27976
27977         roundl-ieee: Make it work on OSF/1 5.1 with cc.
27978         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
27979
27980 2010-12-25  Bruno Haible  <bruno@clisp.org>
27981
27982         truncl-ieee: Make it work on OSF/1 5.1 with cc.
27983         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
27984         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
27985         test whether truncl works according to ISO C 99 with IEC 60559.
27986         * m4/truncl-ieee.m4: New file.
27987         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
27988         m4/signbit.m4.
27989         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
27990
27991 2010-12-25  Bruno Haible  <bruno@clisp.org>
27992
27993         ceill-ieee: Make it work on OSF/1 5.1 with cc.
27994         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
27995         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
27996         test whether ceill works according to ISO C 99 with IEC 60559.
27997         * m4/ceill-ieee.m4: New file.
27998         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
27999         m4/signbit.m4.
28000         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
28001
28002 2010-12-25  Bruno Haible  <bruno@clisp.org>
28003
28004         Ensure all prerequisites of <wchar.h> are included.
28005         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
28006         before <wchar.h>.
28007         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
28008         gl_MBRLEN_NUL_RETVAL): Likewise.
28009         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
28010         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
28011         AC_FUNC_MBRTOWC): Likewise.
28012         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28013         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
28014         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28015         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
28016         Likewise.
28017         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
28018         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
28019         (gl_WCHAR_H): Improve comments.
28020         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
28021
28022 2010-12-25  Bruno Haible  <bruno@clisp.org>
28023
28024         strtok_r: Fix C syntax error in autoconf macro.
28025         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
28026         characters in test program.
28027
28028 2010-12-24  Bruno Haible  <bruno@clisp.org>
28029
28030         ceil, trunc, round: Fix gcc warnings.
28031         * lib/ceil.c (MIN): Undefine before redefining.
28032         * lib/trunc.c (MIN): Likewise.
28033         * lib/round.c (MIN): Likewise.
28034         Include <math.h> first.
28035
28036 2010-12-24  Bruno Haible  <bruno@clisp.org>
28037
28038         select tests: Avoid failures on OSF/1 5.1.
28039         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
28040         failure of closing the last socket; it may fail with ECONNRESET.
28041
28042 2010-12-24  Eric Blake  <eblake@redhat.com>
28043
28044         stdint: avoid HP-UX 10.20 preprocessor bug
28045         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
28046         than #if.
28047         * tests/test-floor2.c (main): Likewise.
28048         Reported by Peter O'Gorman.
28049
28050         pipe: make obsoletion transition easier
28051         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
28052         * modules/pipe (Files): Include revived file.
28053         (Include): Drop reference, to mirror getdate's behavior.
28054
28055 2010-12-24  Bruno Haible  <bruno@clisp.org>
28056
28057         sys_socket: Hide mismatch of declarations on NonStop Kernel.
28058         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
28059         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
28060         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
28061
28062 2010-12-24  Bruno Haible  <bruno@clisp.org>
28063
28064         gethostname: Ensure declaration on NonStop Kernel.
28065         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
28066         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
28067
28068 2010-12-24  Bruno Haible  <bruno@clisp.org>
28069
28070         sys_select: Ensure all necessary types on NonStop Kernel.
28071         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
28072         include <sys/time.h>.
28073         * doc/posix-headers/sys_select.texi: Mention that it's missing on
28074         NonStop Kernel.
28075         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
28076
28077 2010-12-24  Bruno Haible  <bruno@clisp.org>
28078
28079         sys_select: Remove unneeded include.
28080         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
28081         have <sys/select.h>.
28082
28083 2010-12-24  Bruno Haible  <bruno@clisp.org>
28084
28085         gethostname: Provide a fallback for HOST_NAME_MAX.
28086         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
28087         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
28088         instead.
28089         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
28090
28091 2010-12-24  Bruno Haible  <bruno@clisp.org>
28092
28093         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
28094         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
28095         (SA_RESTART): Likewise.
28096         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
28097
28098 2010-12-24  Bruno Haible  <bruno@clisp.org>
28099
28100         signal: Define NSIG.
28101         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
28102         * tests/test-signal.c (nsig): New variable.
28103         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
28104
28105 2010-12-24  Bruno Haible  <bruno@clisp.org>
28106
28107         rename, renameat: Avoid test failures on OSF/1 5.1.
28108         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
28109         alternative error codes.
28110         * tests/test-renameat.c (main): Likewise.
28111
28112 2010-12-24  Bruno Haible  <bruno@clisp.org>
28113
28114         *printf: Detect large precisions bug on Solaris 10/SPARC.
28115         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
28116         by Paul Eggert.
28117         * tests/test-snprintf-posix.h (test_function): Add this test code here
28118         too.
28119         * tests/test-sprintf-posix.h (test_function): Likewise.
28120         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28121         * tests/test-vasprintf-posix.c (test_function): Likewise.
28122         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
28123         around by gnulib.
28124         * doc/posix-functions/printf.texi: Likewise.
28125         * doc/posix-functions/snprintf.texi: Likewise.
28126         * doc/posix-functions/sprintf.texi: Likewise.
28127         * doc/posix-functions/vfprintf.texi: Likewise.
28128         * doc/posix-functions/vprintf.texi: Likewise.
28129         * doc/posix-functions/vsnprintf.texi: Likewise.
28130         * doc/posix-functions/vsprintf.texi: Likewise.
28131         * doc/posix-functions/dprintf.texi: Undo last commit.
28132         * doc/posix-functions/vdprintf.texi: Likewise.
28133
28134 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
28135
28136         tests: port test-fdutimensat.c to Solaris 8
28137         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
28138         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
28139         On Solaris 8, it fails with errno == ENOSYS, because there is no
28140         futimens (so it can't use the fd), and there is no lutimens (so it
28141         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
28142
28143         vsnprintf: make more consistent with snprintf; doc fixes
28144
28145         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
28146         the byte count return problem was promoted from the snprintf-posix
28147         to the snprintf module.
28148         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
28149         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
28150         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
28151         * tests/test-snprintf.c (main): Check the byte count returned.
28152         * tests/test-vsnprintf.c (main): Likewise.
28153
28154 2010-12-23  Eric Blake  <eblake@redhat.com>
28155
28156         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
28157         * modules/sigpipe (License): Relax license.
28158
28159 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
28160
28161         doc: document Solaris printf bug with large float precisions
28162         * doc/posix-functions/dprintf.texi (dprintf):
28163         * doc/posix-functions/fprintf.texi (fprintf):
28164         * doc/posix-functions/printf.texi (printf):
28165         * doc/posix-functions/snprintf.texi (snprintf):
28166         * doc/posix-functions/sprintf.texi (sprintf):
28167         * doc/posix-functions/vdprintf.texi (vdprintf):
28168         * doc/posix-functions/vfprintf.texi (vfprintf):
28169         * doc/posix-functions/vprintf.texi (vprintf):
28170         * doc/posix-functions/vsnprintf.texi (vsnprintf):
28171         * doc/posix-functions/vsprintf.texi (vsprintf):
28172         Mention that these functions mishandle large floating point
28173         precisions on Solaris 10.  The same bug is also present in Solaris
28174         8, and I assume earlier.  This causes "cd gnulib-tests; make
28175         check" to fail on Solaris 8 (and I assume, later) when building
28176         the latest coreutils, in test-vasprintf-posix's call to
28177         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
28178         the wide flavors (e.g., wprintf) so this patch just updates the
28179         documentation for the narrow ones.
28180
28181         test-posixtm.c: add two tests
28182         * tests/test-posixtm.c: Add two tests, to highlight the
28183         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
28184         around this bug; this is merely to document it.
28185
28186 2010-12-22  Bruno Haible  <bruno@clisp.org>
28187
28188         getlogin_r: Work around portability problem on OSF/1.
28189         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
28190         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
28191         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
28192         test for a truncated result.
28193         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
28194         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
28195         * modules/getlogin_r (Depends-on): Add memchr.
28196         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
28197
28198 2010-12-22  Bruno Haible  <bruno@clisp.org>
28199
28200         ptsname: Avoid test failure on OSF/1 5.1.
28201         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
28202         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
28203         (same_slave): New function.
28204         (main): Use it to compare ptsname's result with the expected file name.
28205
28206 2010-12-22  Bruno Haible  <bruno@clisp.org>
28207
28208         Port extended stdio modules to HP NonStop Kernel.
28209         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
28210         macros.
28211         * lib/fbufmode.c: Update comments.
28212         * lib/fflush.c: Likewise.
28213         * lib/fpurge.c: Likewise.
28214         * lib/freadable.c: Likewise.
28215         * lib/freadahead.c: Likewise.
28216         * lib/freading.c: Likewise.
28217         * lib/freadptr.c: Likewise.
28218         * lib/freadseek.c: Likewise.
28219         * lib/fseeko.c: Likewise.
28220         * lib/fseterr.c: Likewise.
28221         * lib/fwritable.c: Likewise.
28222         * lib/fwriting.c: Likewise.
28223         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
28224
28225 2010-12-22  Bruno Haible  <bruno@clisp.org>
28226
28227         ttyname_r: Work around bug on OSF/1 5.1.
28228         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
28229         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
28230         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
28231         present.
28232         * lib/ttyname_r.c (ttyname_r): Update comments.
28233
28234 2010-12-22  Bruno Haible  <bruno@clisp.org>
28235
28236         round: Implement result sign according to IEEE 754.
28237         * lib/round.c (MIN, MINUS_ZERO): New macros.
28238         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
28239         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
28240         * tests/test-round-ieee.c (main): Likewise.
28241         * tests/test-roundl-ieee.c (main): Likewise.
28242
28243         trunc: Implement result sign according to IEEE 754.
28244         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
28245         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
28246         * tests/test-trunc2.c: Include minus-zero.h.
28247         (MINUS_ZERO): New macro.
28248         (trunc_reference): Keep in sync with lib/trunc.c.
28249         * tests/test-truncf2.c: Include minus-zero.h.
28250         (MINUS_ZERO): New macro.
28251         (truncf_reference): Keep in sync with lib/trunc.c.
28252         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
28253         * tests/test-trunc-ieee.c (main): Likewise.
28254         * tests/test-truncl-ieee.c (main): Likewise.
28255
28256         ceil: Implement result sign according to IEEE 754.
28257         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
28258         (FUNC): Return -0.0 for -1 < x < 0.
28259         * tests/test-ceil2.c: Include minus-zero.h.
28260         (MINUS_ZERO): New macro.
28261         (ceil_reference): Keep in sync with lib/ceil.c.
28262         * tests/test-ceilf2.c: Include minus-zero.h.
28263         (MINUS_ZERO): New macro.
28264         (ceilf_reference): Keep in sync with lib/ceil.c.
28265         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
28266         * tests/test-ceil-ieee.c (main): Likewise.
28267         * tests/test-ceill-ieee.c (main): Likewise.
28268
28269         floor: Implement result sign according to IEEE 754.
28270         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
28271         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
28272         * tests/test-floorf2.c (floorf_reference): Likewise.
28273         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
28274         * tests/test-floor-ieee.c (main): Likewise.
28275         * tests/test-floorl-ieee.c (main): Likewise.
28276
28277 2010-12-22  Bruno Haible  <bruno@clisp.org>
28278
28279         getaddrinfo: Update doc.
28280         * doc/posix-functions/gai_strerror.texi: Return type is also different
28281         on AIX and HP-UX.
28282
28283 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
28284
28285         getaddrinfo, inet_ntop: Update doc for Solaris.
28286         * doc/posix-functions/gai_strerror.texi: Return type is also an
28287         issue on Solaris 9 and earlier.
28288         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
28289         on Solaris 10 and earlier.
28290
28291 2010-12-21  Bruno Haible  <bruno@clisp.org>
28292
28293         New module 'roundl-ieee'.
28294         * modules/roundl-ieee: New file.
28295         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
28296         test whether roundl works according to ISO C 99 with IEC 60559.
28297         * m4/roundl-ieee.m4: New file.
28298         * modules/roundl-ieee-tests: New file.
28299         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
28300         * tests/test-roundl.c (main): Remove signbit tests.
28301         * modules/roundl-tests (Depends-on): Remove signbit.
28302         * doc/posix-functions/roundl.texi: Mention the new module.
28303
28304 2010-12-21  Bruno Haible  <bruno@clisp.org>
28305
28306         New module 'truncl-ieee'.
28307         * modules/truncl-ieee: New file.
28308         * modules/truncl-ieee-tests: New file.
28309         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
28310         * tests/test-truncl.c (main): Remove signbit tests.
28311         * modules/truncl-tests (Depends-on): Remove signbit.
28312         * doc/posix-functions/truncl.texi: Mention the new module.
28313
28314 2010-12-21  Bruno Haible  <bruno@clisp.org>
28315
28316         New module 'ceill-ieee'.
28317         * modules/ceill-ieee: New file.
28318         * modules/ceill-ieee-tests: New file.
28319         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
28320         * tests/test-ceill.c (main): Remove signbit tests.
28321         * modules/ceill-tests (Depends-on): Remove signbit.
28322         * doc/posix-functions/ceill.texi: Mention the new module.
28323
28324 2010-12-21  Bruno Haible  <bruno@clisp.org>
28325
28326         New module 'floorl-ieee'.
28327         * modules/floorl-ieee: New file.
28328         * modules/floorl-ieee-tests: New file.
28329         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
28330         * tests/test-floorl.c (main): Remove signbit tests.
28331         * modules/floorl-tests (Depends-on): Remove signbit.
28332         * doc/posix-functions/floorl.texi: Mention the new module.
28333
28334 2010-12-21  Bruno Haible  <bruno@clisp.org>
28335
28336         New module 'round-ieee'.
28337         * modules/round-ieee: New file.
28338         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
28339         whether round works according to ISO C 99 with IEC 60559.
28340         * m4/round-ieee.m4: New file.
28341         * modules/round-ieee-tests: New file.
28342         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
28343         * tests/test-round1.c (main): Remove signbit tests.
28344         * modules/round-tests (Depends-on): Remove 'signbit'.
28345         * doc/posix-functions/round.texi: Mention the new module.
28346
28347 2010-12-21  Bruno Haible  <bruno@clisp.org>
28348
28349         New module 'trunc-ieee'.
28350         * modules/trunc-ieee: New file.
28351         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
28352         whether trunc works according to ISO C 99 with IEC 60559.
28353         * m4/trunc-ieee.m4: New file.
28354         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
28355         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
28356         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
28357         * modules/trunc-ieee-tests: New file.
28358         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
28359         * tests/test-trunc1.c (main): Remove signbit tests.
28360         * modules/trunc-tests (Depends-on): Remove 'signbit'.
28361         * doc/posix-functions/trunc.texi: Mention the new module.
28362
28363 2010-12-21  Bruno Haible  <bruno@clisp.org>
28364
28365         New module 'ceil-ieee'.
28366         * modules/ceil-ieee: New file.
28367         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
28368         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
28369         ISO C 99 with IEC 60559.
28370         * m4/ceil-ieee.m4: New file.
28371         * modules/ceil (Files): Add lib/ceil.c.
28372         (Depends-on): Add 'float'.
28373         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
28374         * lib/math.in.h (ceil): New declaration.
28375         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
28376         REPLACE_CEIL.
28377         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
28378         * modules/ceil-ieee-tests: New file.
28379         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
28380         * tests/test-math-c++.cc: Check the signature of 'ceil'.
28381         * doc/posix-functions/ceil.texi: Mention the new module.
28382
28383 2010-12-21  Bruno Haible  <bruno@clisp.org>
28384
28385         New module 'floor-ieee'.
28386         * modules/floor-ieee: New file.
28387         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
28388         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
28389         ISO C 99 with IEC 60559.
28390         * m4/floor-ieee.m4: New file.
28391         * modules/floor (Files): Add lib/floor.c.
28392         (Depends-on): Add 'float'.
28393         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
28394         * lib/math.in.h (floor): New declaration.
28395         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
28396         REPLACE_FLOOR.
28397         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
28398         * modules/floor-ieee-tests: New file.
28399         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
28400         * tests/test-math-c++.cc: Check the signature of 'floor'.
28401         * doc/posix-functions/floor.texi: Mention the new module.
28402
28403 2010-12-21  Bruno Haible  <bruno@clisp.org>
28404
28405         New module 'roundf-ieee'.
28406         * modules/roundf-ieee: New file.
28407         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
28408         test whether roundf works according to ISO C 99 with IEC 60559.
28409         * m4/roundf-ieee.m4: New file.
28410         * modules/roundf-ieee-tests: New file.
28411         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
28412         * tests/test-roundf1.c (main): Remove signbit tests.
28413         * modules/roundf-tests (Depends-on): Remove 'signbit'.
28414         * doc/posix-functions/roundf.texi: Mention the new module.
28415
28416 2010-12-21  Bruno Haible  <bruno@clisp.org>
28417
28418         New module 'truncf-ieee'.
28419         * modules/truncf-ieee: New file.
28420         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
28421         test whether truncf works according to ISO C 99 with IEC 60559.
28422         * m4/truncf-ieee.m4: New file.
28423         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
28424         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
28425         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
28426         * modules/truncf-ieee-tests: New file.
28427         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
28428         * tests/test-truncf1.c (main): Remove signbit tests.
28429         * modules/truncf-tests (Depends-on): Remove 'signbit'.
28430         * doc/posix-functions/truncf.texi: Mention the new module.
28431
28432 2010-12-21  Bruno Haible  <bruno@clisp.org>
28433
28434         New module 'ceilf-ieee'.
28435         * modules/ceilf-ieee: New file.
28436         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
28437         test whether ceilf works according to ISO C 99 with IEC 60559.
28438         * m4/ceilf-ieee.m4: New file.
28439         * modules/ceilf-ieee-tests: New file.
28440         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
28441         * tests/test-ceilf1.c (main): Remove signbit tests.
28442         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
28443         * doc/posix-functions/ceilf.texi: Mention the new module.
28444
28445 2010-12-21  Bruno Haible  <bruno@clisp.org>
28446
28447         New module 'floorf-ieee'.
28448         * modules/floorf-ieee: New file.
28449         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
28450         test whether floorf works according to ISO C 99 with IEC 60559.
28451         * m4/floorf-ieee.m4: New file.
28452         * modules/floorf-ieee-tests: New file.
28453         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
28454         * tests/test-floorf1.c (main): Remove signbit tests.
28455         * modules/floorf-tests (Depends-on): Remove 'signbit'.
28456         * doc/posix-functions/floorf.texi: Mention the new module.
28457
28458 2010-12-21  Bruno Haible  <bruno@clisp.org>
28459
28460         Support for minus zero in autoconf macros.
28461         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
28462         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
28463         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
28464         * tests/minus-zero.h: Update comments.
28465
28466 2010-12-21  Bruno Haible  <bruno@clisp.org>
28467
28468         Tests for module 'ceil'.
28469         * modules/ceil-tests: New file.
28470         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
28471         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
28472
28473 2010-12-21  Bruno Haible  <bruno@clisp.org>
28474
28475         Tests for module 'floor'.
28476         * modules/floor-tests: New file.
28477         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
28478         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
28479
28480 2010-12-21  Bruno Haible  <bruno@clisp.org>
28481
28482         math: Fix indentation.
28483         * lib/math.in.h (floorf): Fix indentation.
28484
28485 2010-12-21  Bruno Haible  <bruno@clisp.org>
28486
28487         Fix cross-compilation guesses on Solaris.
28488         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
28489         not match "solaris2.10".
28490         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28491         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
28492         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
28493
28494 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
28495
28496         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
28497         This fixes a problem observed with the latest coreutils snapshot
28498         that caused a test to fail on Solaris 8.  src/csplit.c's call
28499         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
28500         earlier, instead of returning the number of bytes that would have
28501         been generated; this causes csplit to incorrectly report memory
28502         exhaustion.
28503         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
28504         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
28505         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
28506         comments to match.
28507         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
28508         Fix typo in matching older versions of Solaris: "solaris2.10"
28509         is matched by the shell pattern "solaris2.[0-9]*".  This matters
28510         only for guessing while cross-compiling.
28511         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
28512
28513 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
28514
28515         ftoastr: fix comment again
28516         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
28517         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
28518         Also, simplify example a bit by using flags = 0.
28519
28520 2010-12-20  Bruno Haible  <bruno@clisp.org>
28521
28522         round*, trunc*: Update documentation regarding glibc.
28523         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
28524         * doc/posix-functions/round.texi: Likewise.
28525         * doc/posix-functions/roundl.texi: Likewise.
28526         * doc/posix-functions/truncf.texi: Likewise.
28527         * doc/posix-functions/trunc.texi: Likewise.
28528         * doc/posix-functions/truncl.texi: Likewise.
28529
28530 2010-12-20  Bruno Haible  <bruno@clisp.org>
28531
28532         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
28533         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
28534         * doc/posix-functions/round.texi: Likewise.
28535         * doc/posix-functions/roundl.texi: Likewise.
28536
28537 2010-12-20  Bruno Haible  <bruno@clisp.org>
28538
28539         ttyname_r: Add missing declaration on HP-UX 11.
28540         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
28541         HAVE_TTYNAME_R.
28542         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
28543         declared. Set HAVE_TTYNAME_R always.
28544         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28545         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
28546         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
28547         HAVE_TTYNAME_R.
28548         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
28549
28550 2010-12-20  Bruno Haible  <bruno@clisp.org>
28551
28552         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
28553         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
28554         * doc/posix-functions/getlogin_r.texi: Likewise.
28555         * tests/test-getlogin.c: Include <errno.h>.
28556         (main): Avoid test failure on HP-UX 11.11.
28557         * tests/test-getlogin_r.c (main): Likewise.
28558
28559 2010-12-20  Bruno Haible  <bruno@clisp.org>
28560
28561         getlogin_r: Add missing declaration on HP-UX 11.
28562         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
28563         declared also when it exists as a function.
28564         * doc/posix-functions/getlogin_r.texi: Document this workaround.
28565
28566 2010-12-20  Bruno Haible  <bruno@clisp.org>
28567
28568         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
28569         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
28570         through wcrtomb.
28571
28572 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
28573
28574         ftoastr: fix comment
28575         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
28576         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
28577
28578 2010-12-19  Bruno Haible  <bruno@clisp.org>
28579
28580         isnan: Ensure it is a macro.
28581         * lib/math.in.h (isnan): Define as a macro if not already a macro.
28582         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
28583         Solaris.
28584
28585 2010-12-19  Bruno Haible  <bruno@clisp.org>
28586
28587         ldexpl test: Fix link error on OSF/1 5.1.
28588         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
28589
28590 2010-12-19  Bruno Haible  <bruno@clisp.org>
28591
28592         wctype: Make it work in C++ mode on OSF/1 5.1.
28593         * lib/wctype.in.h (iswblank): Declare but not define here.
28594         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
28595         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
28596         * modules/wctype (Files): Add lib/iswblank.c.
28597
28598 2010-12-19  Bruno Haible  <bruno@clisp.org>
28599
28600         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
28601         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
28602         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
28603
28604 2010-12-19  Bruno Haible  <bruno@clisp.org>
28605
28606         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
28607         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
28608         _POSIX_PII_SOCKET.
28609         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
28610         * doc/posix-functions/recvfrom.texi: Likewise.
28611         * doc/posix-functions/send.texi: Likewise.
28612         * doc/posix-functions/sendto.texi: Likewise.
28613
28614 2010-12-19  Bruno Haible  <bruno@clisp.org>
28615
28616         tcgetsid: Add missing declaration on OSF/1 5.1.
28617         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
28618         HAVE_TCGETSID.
28619         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
28620         Don't set HAVE_TCGETSID.
28621         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
28622         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
28623         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
28624         HAVE_TCGETSID.
28625         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
28626
28627 2010-12-19  Bruno Haible  <bruno@clisp.org>
28628
28629         stdio: Fix problem with popen() declaration on OSF/1 5.1.
28630         * lib/stdio.in.h: During the include_next statement, let recursive
28631         includes of this file include only the system header file.
28632
28633 2010-12-19  Bruno Haible  <bruno@clisp.org>
28634
28635         iconv_open: Fix regression from 2010-12-04.
28636         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
28637         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
28638
28639 2010-12-19  Bruno Haible  <bruno@clisp.org>
28640
28641         stdbool test: Avoid a gcc warning.
28642         * tests/test-stdbool.c (main): Fail if e1 is false.
28643         Reported by Jim Meyering.
28644
28645 2010-12-19  Jim Meyering  <meyering@redhat.com>
28646
28647         setenv: restore to working order
28648         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
28649         mistakenly removed.
28650         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
28651         HAVE_SETENV.
28652         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
28653         HAVE_SETENV.
28654
28655 2010-12-19  Bruno Haible  <bruno@clisp.org>
28656
28657         Document some different function declarations on OSF/1 5.1.
28658         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
28659         * doc/posix-functions/inet_ntop.texi: Likewise.
28660         * doc/posix-functions/gethostname.texi: Likewise.
28661         * lib/unistd.in.h (gethostname): Update comment.
28662
28663 2010-12-19  Bruno Haible  <bruno@clisp.org>
28664
28665         doc: Mention vasprintf-posix module.
28666         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
28667         the 'vasprintf-posix' module.
28668         * doc/glibc-functions/vasprintf.texi: Likewise.
28669
28670 2010-12-19  Bruno Haible  <bruno@clisp.org>
28671
28672         unsetenv: Add missing declaration on OSF/1 5.1.
28673         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
28674         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
28675         Don't set HAVE_UNSETENV. In the test program, set _BSD.
28676         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
28677         not HAVE_UNSETENV.
28678         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
28679         HAVE_UNSETENV.
28680         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
28681
28682 2010-12-19  Bruno Haible  <bruno@clisp.org>
28683
28684         setenv: Add missing declaration on OSF/1 5.1.
28685         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
28686         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
28687         declared. Don't set HAVE_SETENV.
28688         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
28689         not HAVE_SETENV.
28690         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
28691         HAVE_SETENV.
28692         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
28693
28694 2010-12-19  Bruno Haible  <bruno@clisp.org>
28695
28696         nl_langinfo tests: Avoid gcc warning.
28697         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
28698
28699 2010-12-19  Bruno Haible  <bruno@clisp.org>
28700
28701         mknod: Avoid error in C++ mode on OSF/1 with GCC.
28702         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
28703         _GL_CXXALIAS_SYS.
28704
28705 2010-12-19  Bruno Haible  <bruno@clisp.org>
28706
28707         stdbool: Relax test.
28708         * tests/test-stdbool.c (e): Don't require that casts from a variable's
28709         address to 'bool' work in static initializer, for compilers other than
28710         GCC.
28711
28712 2010-12-19  Bruno Haible  <bruno@clisp.org>
28713
28714         ftello: Add missing declaration on OSF/1 5.1.
28715         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
28716         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
28717         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
28718         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
28719         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
28720
28721 2010-12-19  Bruno Haible  <bruno@clisp.org>
28722
28723         fseeko: Add missing declaration on OSF/1 5.1.
28724         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
28725         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
28726         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
28727         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
28728         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
28729
28730 2010-12-19  Bruno Haible  <bruno@clisp.org>
28731
28732         fchdir: Add missing declaration on OSF/1 5.1.
28733         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
28734         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
28735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
28736         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
28737         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
28738
28739 2010-12-19  Bruno Haible  <bruno@clisp.org>
28740
28741         relocatable-prog-wrapper: Separate from relocatable-prog.
28742         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
28743         uninstall-relocwrapper rule here.
28744         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
28745         Reported by Ian Beckwith <ianb@erislabs.net>.
28746
28747 2010-12-19  Bruno Haible  <bruno@clisp.org>
28748
28749         unistr/u8-mbsnlen: Add missing dependency.
28750         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
28751         Reported by Ian Beckwith <ianb@erislabs.net>.
28752
28753 2010-12-19  Bruno Haible  <bruno@clisp.org>
28754
28755         iconv: Make it possible again to use this module without 'iconv-h'.
28756         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
28757         if it is not defined.
28758         Reported by Ian Beckwith <ianb@erislabs.net>.
28759
28760 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28761
28762         acl: port to Solaris 8 when copying from tmpfs to ufs
28763         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
28764         error number.  Problem observed on Solaris 8 with latest
28765         coreutils, with "mv A B", where A is on a tmpfs file system and B
28766         is on a ufs file system.  This caused coreutils' mv/part-symlink
28767         test to fail.
28768
28769         tests: set fail=0 at start
28770         * tests/init.sh (setup_): Move fail=0 initialization here ...
28771         (mktempd_): ... from here, so that tests can rely on fail being
28772         set to 0 initially.  This fixes a problem in coreutils; see:
28773         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
28774
28775 2010-12-18  Bruno Haible  <bruno@clisp.org>
28776
28777         memmem-simple: Stylistic changes.
28778         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
28779         Fix preprocessor directive indentation.
28780
28781 2010-12-15  Pádraig Brady <P@draigBrady.com>
28782
28783         memmem, memmem-simple: reorganize and expand empty needle check
28784         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
28785         functional checks to memmem-simple so that one has a fully functional
28786         memmem by using just this module.
28787         Restrict the performance only check to the memmem module.
28788         Also expand the empty needle check to ensure the correct
28789         pointer is returned, not just a non NULL pointer.
28790         * doc/glibc-functions/memmem.texi: Rearrange the portability
28791         documentation to correlate with the rearranged checks.
28792         Clarify exactly how the memmem and memmem-simple modules
28793         relate to each other.
28794
28795 2010-12-15  Pádraig Brady <P@draigBrady.com>
28796             Bruno Haible  <bruno@clisp.org>
28797
28798         Improve cross-compilation guesses for uClibc.
28799         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
28800         that uClibc does not have the glibc bug.
28801         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
28802         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
28803
28804 2010-12-14  Eric Blake  <eblake@redhat.com>
28805
28806         configmake: provide fallbacks for oldest supported autotools
28807         * m4/configmake.m4: New file.
28808         * modules/configmake (Files): Ship it.
28809         (configure.ac): Use it to guarantee fallbacks.
28810
28811 2010-12-13  Pádraig Brady <P@draigBrady.com>
28812
28813         read-file: Improve handling of large files
28814         * lib/read-file.c (fread_file): Minimize realloc()s
28815         for regular files, and better manage sizes around SIZE_MAX.
28816
28817 2010-12-13  Eric Blake  <eblake@redhat.com>
28818
28819         cloexec, fcntl: relax license
28820         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
28821         consent from all contributors.
28822         * modules/fcntl (License): Likewise.
28823
28824 2010-12-10  Bruno Haible  <bruno@clisp.org>
28825
28826         Tests for module 'pipe-posix'.
28827         * modules/pipe-posix-tests: New file.
28828         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
28829
28830 2010-12-10  Bruno Haible  <bruno@clisp.org>
28831
28832         pipe-posix: Make it work in C++ mode.
28833         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
28834         (pipe): Use common idiom, not a macro definition.
28835         * lib/pipe.c: New file.
28836         * m4/pipe.m4: New file.
28837         * modules/pipe-posix (Description): Enhance.
28838         (Files): Add lib/pipe.c, m4/pipe.m4.
28839         (configure.ac): Invoke gl_FUNC_PIPE.
28840         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
28841         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
28842         * tests/test-unistd-c++.cc: Check the signature of pipe.
28843
28844 2010-12-10  Bruno Haible  <bruno@clisp.org>
28845
28846         Rename module 'pipe' to 'spawn-pipe'.
28847         * modules/spawn-pipe: New file, renamed from modules/pipe.
28848         (Files, configure.ac, Makefile.am): Update.
28849         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
28850         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
28851         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
28852         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
28853         "spawn-pipe.h" instead of "pipe.h".
28854         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
28855         to gl_SPAWN_PIPE.
28856         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
28857         (Files, Makefile.am): Update.
28858         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
28859         Update.
28860         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
28861         Include "spawn-pipe.h" instead of "pipe.h".
28862         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
28863         * lib/javacomp.c: Likewise.
28864         * lib/javaversion.c: Likewise.
28865         * lib/pipe-filter-gi.c: Likewise.
28866         * lib/pipe-filter-ii.c: Likewise.
28867         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
28868         * modules/javacomp (Depends-on): Likewise.
28869         * modules/javaversion (Depends-on): Likewise.
28870         * modules/pipe-filter-gi (Depends-on): Likewise.
28871         * modules/pipe-filter-ii (Depends-on): Likewise.
28872         * MODULES.html.sh (Executing programs): Update.
28873         * NEWS: Mention the change.
28874
28875 2010-12-10  Eric Blake  <eblake@redhat.com>
28876
28877         pipe-posix: new module
28878         * modules/pipe-posix: New file.
28879         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
28880         (gl_UNISTD_H): Check for declaration.
28881         * modules/unistd (Makefile.am): Substitute it.
28882         * lib/unistd.in.h (pipe): Provide it for mingw.
28883         * doc/posix-functions/pipe.texi (pipe): Update documentation.
28884         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
28885
28886 2010-12-07  Bruno Haible  <bruno@clisp.org>
28887
28888         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
28889         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
28890         u8_strcmp_gnu.
28891         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
28892
28893 2010-12-06  Bruno Haible  <bruno@clisp.org>
28894
28895         Update internal documentation.
28896         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
28897
28898 2010-12-04  Bruno Haible  <bruno@clisp.org>
28899
28900         Put more information about failed tests into the test return codes.
28901         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
28902         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
28903         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
28904         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
28905         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
28906         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28907         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28908         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28909         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
28910         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
28911         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
28912         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
28913         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
28914         * m4/stdint.m4 (gl_STDINT_H): Likewise.
28915         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
28916         returns a bit mask.
28917         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
28918         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
28919         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
28920         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
28921         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28922         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28923         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28924         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28925         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28926         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28927         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
28928         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28929         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28930         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28931         * m4/link.m4 (gl_FUNC_LINK): Likewise.
28932         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
28933         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
28934         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
28935         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28936         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
28937         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28938         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
28939         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
28940         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
28941         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28942         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
28943         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
28944         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28945         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28946         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
28947         gl_PRINTF_PRECISION): Likewise.
28948         * m4/regex.m4 (gl_REGEX): Likewise.
28949         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
28950         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
28951         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
28952         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28953         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28954         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28955         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
28956         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
28957         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28958         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28959         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
28960         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
28961         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28962         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
28963         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
28964         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28965         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
28966         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28967         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28968         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
28969         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
28970         enumerated value.
28971         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
28972
28973 2010-12-04  Bruno Haible  <bruno@clisp.org>
28974
28975         Update for Solaris 11 2010-11.
28976         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
28977         Express, released in November 2010.
28978
28979 2010-12-04  Bruno Haible  <bruno@clisp.org>
28980
28981         nproc: Relax license.
28982         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
28983         and Paul Eggert.
28984         Requested by Ludovic Courtès <ludo@gnu.org>.
28985
28986 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
28987
28988         utimecmp: fine-grained src to nearby coarse-grained dest
28989
28990         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
28991         and the source is on a file system with higher-resolution time
28992         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
28993         not work, and the time stamps are close together, the algorithm to
28994         determine the exact resolution from the read-back mtime was buggy:
28995         it had a "!=" where it should have had an "==".  This bug has been
28996         in the code ever since it was introduced to gnulib.
28997         Problem reported by Dan Jacobson in
28998         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
28999
29000 2010-11-30  Bruno Haible  <bruno@clisp.org>
29001
29002         strerror_r-posix: Fix autoconf test.
29003         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
29004
29005 2010-11-28  Bruno Haible  <bruno@clisp.org>
29006             Paul Eggert  <eggert@cs.ucla.edu>
29007
29008         Tests for module 'getdomainname'.
29009         * modules/getdomainname-tests: New file.
29010         * tests/test-getdomainname.c: New file, based on
29011         tests/test-gethostname.c.
29012
29013 2010-11-28  Bruno Haible  <bruno@clisp.org>
29014             Paul Eggert  <eggert@cs.ucla.edu>
29015
29016         getdomainname: Use the system function when possible.
29017         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
29018         (getdomainname): Replace if needed. Provide the declaration if it is
29019         missing. Don't use _GL_CXXALIAS_SYS_CAST.
29020         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
29021         (getdomainname): When the system has getdomainname, call the system
29022         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
29023         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
29024         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
29025         found in libnsl. Look for the declaration also in <netdb.h>. Replace
29026         the function if its second argument is of type 'int' or if it is found
29027         in libnsl.
29028         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
29029         <sys/systeminfo.h> and sysinfo().
29030         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
29031         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29032         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
29033         HAVE_GETDOMAINNAME.
29034         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
29035         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
29036         * doc/glibc-functions/getdomainname.texi: Document the problems with
29037         the getdomainname declaration.
29038
29039 2010-11-28  Bruno Haible  <bruno@clisp.org>
29040
29041         sys_socket: Ensure ss_family field on AIX.
29042         * lib/sys_socket.in.h (ss_family): New macro definition.
29043         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
29044         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
29045         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
29046         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
29047         * modules/sys_socket (Makefile.am): Substitute
29048         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
29049         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
29050
29051 2010-11-27  Bruno Haible  <bruno@clisp.org>
29052
29053         readline: Improve configure output.
29054         * m4/readline.m4 (gl_FUNC_READLINE): Make the
29055         "checking for readline..." result understandable.
29056
29057 2010-11-27  Bruno Haible  <bruno@clisp.org>
29058
29059         *printf-posix: Detect a bug on Solaris 10/x86.
29060         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
29061         for floating-point output.
29062         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
29063         directive.
29064         * tests/test-snprintf-posix.h (test_function): Likewise.
29065         * tests/test-sprintf-posix.h (test_function): Likewise.
29066         * tests/test-vasprintf-posix.c (test_function): Likewise.
29067         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
29068         * doc/posix-functions/printf.texi: Likewise.
29069         * doc/posix-functions/snprintf.texi: Likewise.
29070         * doc/posix-functions/sprintf.texi: Likewise.
29071         * doc/posix-functions/vfprintf.texi: Likewise.
29072         * doc/posix-functions/vprintf.texi: Likewise.
29073         * doc/posix-functions/vsnprintf.texi: Likewise.
29074         * doc/posix-functions/vsprintf.texi: Likewise.
29075         * doc/glibc-functions/obstack_printf.texi: Likewise.
29076         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
29077
29078 2010-11-27  Bruno Haible  <bruno@clisp.org>
29079
29080         Fix link error when module libunistring-optional is in use.
29081         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
29082         * modules/striconveha-tests (Makefile.am): Likewise.
29083
29084 2010-11-27  Bruno Haible  <bruno@clisp.org>
29085
29086         regex: Mention link dependencies.
29087         * modules/regex (Link): New section.
29088         * modules/rpmatch (Link): Likewise.
29089         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
29090
29091 2010-11-27  Bruno Haible  <bruno@clisp.org>
29092
29093         ftoastr: Fix compilation error on Solaris.
29094         * lib/ftoastr.c: Include <config.h>.
29095
29096 2010-11-27  Bruno Haible  <bruno@clisp.org>
29097
29098         getloadavg: Update documentation.
29099         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
29100
29101 2010-11-27  Bruno Haible  <bruno@clisp.org>
29102
29103         sys_socket: Fix test whether the functions are declared.
29104         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
29105         not <sys/select.h>.
29106
29107 2010-11-27  Bruno Haible  <bruno@clisp.org>
29108
29109         getpass: Make sure to get system declaration on some platforms.
29110         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
29111         gl_USE_SYSTEM_EXTENSIONS.
29112         * modules/getpass (Depends-on): Add extensions.
29113
29114 2010-11-26  Bruno Haible  <bruno@clisp.org>
29115
29116         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
29117         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
29118         'iconv' module is present.
29119         (ICONV_CONST): New macro.
29120         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
29121         ICONV_CONST.
29122         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
29123         set ICONV_CONST.
29124         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
29125         here.
29126         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
29127         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
29128         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
29129         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
29130         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
29131         present.
29132
29133 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
29134
29135         ftoastr: comment fix
29136         * lib/ftoastr.c: "little" -> "little or no" in comment
29137
29138 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
29139
29140         stdint: port to GCC 4.3 + OSX + Octave
29141         On this platform, stdint.h is buggy and defines int64_t to long
29142         long int.  The replacement defined it to long int, causing
29143         problems with C++ style name mangling.  Instead, trust the system
29144         definition if INT64_MAX is defined, and likewise for the unsigned
29145         variant.   Problem reported by Jarno Rajahalme in
29146         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
29147         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
29148         and don't mess with int64_t and INT64_MAX in this case.
29149         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
29150
29151 2010-11-24  Bruno Haible  <bruno@clisp.org>
29152
29153         doc: Corrections regarding MacOS X 10.4 and 10.5.
29154         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
29155         MacOS X.
29156         Reported by Simon Josefsson.
29157
29158 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
29159
29160         Uninstall ".bin" files installed by relocwrapper.
29161         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
29162         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
29163         unless it is already there.
29164
29165 2010-11-21  Bruno Haible  <bruno@clisp.org>
29166
29167         Update for NetBSD 5.0.
29168         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
29169         NetBSD; the test fails on NetBSD 5.0.
29170         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
29171         about NetBSD.
29172
29173 2010-11-21  Bruno Haible  <bruno@clisp.org>
29174
29175         Update for HP-UX 11.23 and HP-UX 11.31.
29176         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
29177         HP-UX.
29178
29179 2010-11-21  Bruno Haible  <bruno@clisp.org>
29180
29181         Update for MacOS X 10.5.
29182         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
29183         MacOS X; the test fails on MacOS X 10.5.8.
29184         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
29185         about MacOS X.
29186
29187 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
29188
29189         bootstrap: add bootstrap_sync option.
29190         See discussion at
29191         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
29192         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
29193         * build-aux/bootstrap: Accept --bootstrap-sync to update
29194         bootstrap if it is not identical to the local gnulib's
29195         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
29196         enable this by default.  Accept --no-bootstrap-sync to disable
29197         it.
29198
29199 2010-11-20  Bruno Haible  <bruno@clisp.org>
29200
29201         Ensure that <features.h> is included before __GLIBC__ is tested.
29202         * lib/printf-parse.h: Include <features.h>.
29203         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
29204         Reported by Mike Frysinger <vapier@gentoo.org>.
29205
29206         Ensure that <features.h> is included before __GLIBC__ is tested.
29207         * lib/wchar.in.h: Include <features.h>.
29208         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
29209         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
29210         Reported by Mike Frysinger <vapier@gentoo.org>.
29211
29212         Ensure that <features.h> is included before __GLIBC__ is tested.
29213         * lib/arpa_inet.in.h: Include <features.h>.
29214         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
29215         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
29216         Reported by Mike Frysinger <vapier@gentoo.org>.
29217
29218         Ensure that <features.h> is included before __GLIBC__ is tested.
29219         * build-aux/link-warning.h: Include <features.h>.
29220         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
29221         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
29222         Reported by Mike Frysinger <vapier@gentoo.org>.
29223
29224         Ensure that <features.h> is included before __GLIBC__ is tested.
29225         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
29226         Reported by Mike Frysinger <vapier@gentoo.org>.
29227
29228 2010-11-20  Bruno Haible  <bruno@clisp.org>
29229
29230         memmem: Fix autoconf test.
29231         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
29232
29233 2010-11-20  Bruno Haible  <bruno@clisp.org>
29234
29235         Port to uClibc.
29236         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
29237         * lib/fcntl.in.h: Likewise.
29238         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
29239         * lib/mbrtowc.c (mbrtowc): Likewise.
29240         * lib/relocatable.c (find_shared_library_fullname): Likewise.
29241         * lib/strerror_r.c: Likewise.
29242         * lib/unistr/u8-strnlen.c: Likewise.
29243         * lib/vasnprintf.c (decimal_point_char): Likewise.
29244         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
29245         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
29246         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
29247         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
29248         * tests/test-sigaction.c (handler, main): Likewise.
29249         * lib/freading.h: Treat uClibc like a non-glibc platform.
29250         * lib/freading.c: Likewise.
29251         * lib/gettext.h: Likewise.
29252         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
29253         Likewise.
29254         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
29255         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
29256         * lib/propername.c (proper_name_utf8): Likewise.
29257         * lib/spawn.in.h: Likewise.
29258         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
29259         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
29260         mem_cd_iconveh_internal): Likewise.
29261         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
29262         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
29263         strstr, strcasestr): Likewise.
29264         * lib/unicodeio.c (unicode_to_mb): Likewise.
29265         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
29266         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
29267         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
29268         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
29269         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
29270         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
29271         * lib/unistr/u8-stpncpy.c: Likewise.
29272         * lib/vasnprintf.c (VASNPRINTF): Likewise.
29273         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
29274         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
29275         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
29276         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
29277         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
29278         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
29279         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
29280         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
29281         Likewise.
29282         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29283         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
29284         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
29285         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29286         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
29287         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29288         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
29289         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
29290         * tests/test-getopt.h (OPTIND_MIN): Likewise.
29291         * tests/test-striconveha.c (main): Likewise.
29292         * tests/test-vasnprintf-posix.c (test_function): Likewise.
29293         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
29294         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
29295         * doc/posix-functions/getline.texi: Likewise.
29296         Reported by Mike Frysinger <vapier@gentoo.org>.
29297
29298 2010-11-20  Bruno Haible  <bruno@clisp.org>
29299
29300         nproc: Fix condition.
29301         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
29302         HAVE_PTHREAD_AFFINITY_NP.
29303
29304 2010-11-20  Bruno Haible  <bruno@clisp.org>
29305
29306         Fix a comment.
29307         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
29308
29309 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
29310
29311         ftoastr: don't assume snprintf
29312         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
29313         Implement a subset of snprintf here, by using sprintf safely.
29314         * modules/ftoastr (Depends-on): Remove snprintf.
29315
29316 2010-11-19  Jim Meyering  <meyering@redhat.com>
29317
29318         test-rename.h: fix compilation failure
29319         * tests/test-rename.h (test_rename): Add omitted "}".
29320
29321 2010-11-17  Jim Meyering  <meyering@redhat.com>
29322
29323         maint.mk: add a URL discussing the no-@acronym policy
29324         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
29325
29326 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
29327
29328         ftoastr: depend on snprintf, improve comments
29329         * lib/ftoastr.c: Also mention Loitsch's draft.
29330         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
29331         needed in the current implementation, but it might simplify
29332         speeding up the code later.
29333         * modules/ftoastr: Depend on snprintf; this improves portability.
29334         Suggested by Bruno Haible in the same email.
29335
29336         ftoastr: port to hosts lacking strtof and strtold
29337         Problem reported by Bruno Haible in
29338         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
29339         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
29340         environment and strtold (and presumably strtof) are not available.
29341         * modules/ftoastr (Files): Add m4/c-strtod.m4.
29342         (configure.ac): Require gl_C99_STRTOLD.
29343
29344 2010-11-18  Bruno Haible  <bruno@clisp.org>
29345
29346         c-strtold: Avoid link error on AIX 7.
29347         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
29348         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
29349         (gl_C_STRTOLD): Test whether strtold_l exists.
29350         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29351
29352 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
29353
29354         intprops: new macro INT_BITS_STRLEN_BOUND
29355         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
29356         ftoastr.h.  This exposes an internal of intprops.h that was formerly
29357         not exposed.  Also, it uses a slightly tighter bound than before;
29358         though this makes no practical difference, we might as well be as
29359         tight as we easily can.
29360
29361         ftoastr: new module, for lossless conversion of floats to short strings
29362         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
29363         * modules/ftoastr: New files.
29364
29365 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
29366
29367         bootstrap: port to Solaris sed
29368         * build-aux/bootstrap (get_version): Port to Solaris sed.
29369         See Ralf Wildenhues's note in
29370         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
29371
29372 2010-11-14  Jim Meyering  <meyering@redhat.com>
29373
29374         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
29375         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
29376         and move definition closer to sole use.
29377
29378 2010-11-13  Jim Meyering  <meyering@redhat.com>
29379
29380         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
29381         Now we require at least autoconf-2.59, which means the work-around
29382         is no longer needed.
29383         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
29384         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
29385         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
29386         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
29387         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
29388
29389 2010-11-13  Bruno Haible  <bruno@clisp.org>
29390
29391         rename, renameat: Avoid test failures at NFS mounted locations.
29392         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
29393         functions.
29394         (test_rename): Use assert_nonexistent.
29395         * tests/test-rename.c: Include <dirent.h>.
29396         * tests/test-renameat.c: Likewise.
29397         Reported by Gary V. Vaughan <gary@gnu.org>.
29398
29399         rename, renameat: Document Linux bug with NFS
29400         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
29401         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
29402         * doc/posix-functions/renameat.texi: Likewise.
29403         Suggested by Eric Blake.
29404
29405 2010-11-13  Bruno Haible  <bruno@clisp.org>
29406
29407         rename test: Add comments.
29408         * tests/test-rename.h (test_rename): Add structure and comments.
29409
29410 2010-11-13  Eric Blake  <eblake@redhat.com>
29411
29412         maintainer-makefile: cover a few more files
29413         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
29414         scripts generated within C files, for libvirt.
29415
29416 2010-11-13  Bruno Haible  <bruno@clisp.org>
29417
29418         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
29419         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
29420         character, return the number of bytes that belong together, not always
29421         1.
29422         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
29423         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
29424         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
29425         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
29426         number of bytes of an invalid character.
29427         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
29428         (main): Invoke it.
29429         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
29430         results.
29431         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
29432         malformed byte sequences.
29433         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
29434         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
29435         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
29436         Reported by Ben Pfaff and Paolo Bonzini.
29437
29438 2010-11-13  Bruno Haible  <bruno@clisp.org>
29439
29440         openat: Work around glibc bug with fchownat() and empty file names.
29441         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
29442         (gl_FUNC_FCHOWNAT): Invoke it.
29443         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
29444         * doc/posix-functions/fchownat.texi: Document the glibc bug.
29445         Reported by Gary V. Vaughan <gary@gnu.org>.
29446
29447 2010-11-13  Bruno Haible  <bruno@clisp.org>
29448
29449         openat: Ensure autoconf macro ordering.
29450         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
29451         gl_USE_SYSTEM_EXTENSIONS.
29452         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
29453
29454 2010-11-13  Bruno Haible  <bruno@clisp.org>
29455
29456         Update comments.
29457         * lib/unistr/u8-check.c: Update file name in comments.
29458         * lib/unistr/u8-mblen.c: Likewise.
29459         * lib/unistr/u8-prev.c: Likewise.
29460         * lib/unistr/u8-strmblen.c: Likewise.
29461         * lib/unistr/u8-strmbtouc.c: Likewise.
29462
29463 2010-11-13  Jim Meyering  <meyering@redhat.com>
29464
29465         tests: avoid test failure on Solaris 10 due to lack of PATH export
29466         * tests/test-update-copyright.sh: Don't forget to export PATH.
29467
29468         init.sh: ensure that IFS is defined, just in case...
29469         * tests/init.sh (setup_): Ensure that IFS is defined,
29470         so that saving and restoring it works as expected.  This
29471         appears to be useful at least for an old version of dash
29472         from a long time ago (RH 6).  See here for details:
29473         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
29474
29475         maint.mk: tighten "test a == b" check
29476         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
29477         test to files that contain something like #!/bin/sh.
29478         Without this, coreutils would get two false positives in
29479         the comments of C source files.
29480
29481 2010-11-12  Eric Blake  <eblake@redhat.com>
29482
29483         bootstrap: fix typo in previous attempt
29484         * build-aux/bootstrap (buildreq): Correct the grouping.
29485         Reported by Paul Eggert.
29486
29487         maintainer-makefile: prohibit test x == x
29488         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
29489         Based on a report by Matthias Bolte.
29490
29491         bootstrap: allow FreeBSD gzip
29492         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
29493         which has no '.' and goes to stderr.
29494         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
29495         Reported by Matthias Bolte.
29496
29497         maintainer-makefile: check for i18n setup
29498         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
29499         will likely work.
29500
29501 2010-11-12  Bruno Haible  <bruno@clisp.org>
29502
29503         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
29504         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
29505         * lib/nanosleep.c (nanosleep): Likewise.
29506
29507 2010-11-11  Bruno Haible  <bruno@clisp.org>
29508
29509         fcntl-h: Fix for use of C++ on glibc systems.
29510         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
29511         also on glibc systems in C++ mode.
29512         Reported by Gary V. Vaughan <gary@gnu.org>.
29513
29514 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29515
29516         mknod: avoid false failure with dash
29517         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
29518
29519 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
29520
29521         unlink: Fix "is it should" typo in diagnostic.
29522         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
29523         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
29524
29525 2010-11-11  Bruno Haible  <bruno@clisp.org>
29526
29527         Tests for module 'strerror_r-posix'.
29528         * modules/strerror_r-posix-tests: New file.
29529         * tests/test-strerror_r.c: New file.
29530         * tests/test-string-c++.cc: Check the signature of strerror_r.
29531
29532         New module 'strerror_r-posix'.
29533         * lib/string.in.h (strerror_r): New declaration.
29534         * lib/strerror_r.c: New file.
29535         * m4/strerror_r.m4: New file.
29536         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
29537         of strerror_r.
29538         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
29539         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
29540         * modules/strerror_r-posix: New file.
29541         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
29542         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
29543         * doc/posix-functions/strerror_r.texi: Mention the new module and the
29544         portability problems.
29545
29546 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
29547
29548         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
29549         line is also considered for output. Quoted function name in shell
29550         command, so temporary files for functions like MyClass::operator()
29551         are removed correctly without errors.
29552
29553 2010-11-09  Bruno Haible  <bruno@clisp.org>
29554
29555         * doc/posix-functions/strerror.texi: List more failing platforms.
29556
29557         * doc/posix-functions/strerror.texi: Add a comment.
29558
29559 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
29560
29561         fdopendir: fix bug on MacOS X when low on file descriptors
29562
29563         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
29564         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
29565         All callers changed.
29566         (fdopendir): Invoke save_cwd at the top level, not after using
29567         multiple dup() calls to use up file descriptors.  Then retry
29568         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
29569         less than the maximum number of open file descriptors, because
29570         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
29571         on Mac OS X 10.6.4 for tar 1.24
29572         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
29573         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
29574         and for tar 1.25
29575         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
29576
29577 2010-11-07  Bruno Haible  <bruno@clisp.org>
29578
29579         vasnprintf: Support I flag on glibc systems.
29580         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
29581         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
29582         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
29583         snprintf function.
29584         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
29585         glibc systems.
29586         * tests/test-vasnprintf-posix3.c: New file.
29587         * modules/vasnprintf-posix-tests (Files): Add it.
29588         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
29589
29590 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
29591
29592         [html] Fix copy/paste bug: Use unique name for compiler warnings.
29593         * MODULES.html.sh: For compiler warnings, use name
29594         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
29595
29596 2010-11-05  Eric Blake  <eblake@redhat.com>
29597
29598         ceil, floor: avoid spurious failure with icc
29599         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
29600         [denormals-as-zero] when optimizing without -mieee-fp option.
29601         * tests/test-floorf2.c (floorf_reference): Likewise.
29602         * tests/test-ceilf1.c (dummy): New function.
29603         (main): Use it to outsmart icc's optimization.
29604         * tests/test-floorf1.c (dummy, main): Likewise.
29605
29606         tests: require working signbit
29607         * modules/ceilf-tests (Depends-on): Add signbit.
29608         * modules/ceill-tests (Depends-on): Likewise.
29609         * modules/floorf-tests (Depends-on): Likewise.
29610         * modules/floorl-tests (Depends-on): Likewise.
29611         * modules/round-tests (Depends-on): Likewise.
29612         * modules/roundf-tests (Depends-on): Likewise.
29613         * modules/roundl-tests (Depends-on): Likewise.
29614         * modules/trunc-tests (Depends-on): Likewise.
29615         * modules/truncf-tests (Depends-on): Likewise.
29616         * modules/truncl-tests (Depends-on): Likewise.
29617
29618         strtod: work around icc bug
29619         * lib/strtod.c (minus_zero): Define to working value.
29620         (strtod): Use it to avoid icc bug.
29621
29622         copysign: enhance tests
29623         * modules/copysign-tests (Files): Add minus-zero.h.
29624         * tests/test-copysign.c (main): Also test zeros.
29625
29626 2010-11-04  Eric Blake  <eblake@redhat.com>
29627
29628         ceil, floor, round, trunc: enhance tests of -0
29629         * tests/test-ceilf1.c (main): Ensure correct sign of result.
29630         * tests/test-ceill.c (main): Likewise.
29631         * tests/test-floorf1.c (main): Likewise.
29632         * tests/test-floorl.c (main): Likewise.
29633         * tests/test-round1.c (main): Likewise.
29634         * tests/test-roundf1.c (main): Likewise.
29635         * tests/test-roundl.c (main): Likewise.
29636         * tests/test-trunc1.c (main): Likewise.
29637         * tests/test-truncf1.c (main): Likewise.
29638         * tests/test-truncl.c (main): Likewise.
29639
29640 2010-11-04  Eric Blake  <eblake@redhat.com>
29641
29642         frexp, tests: work around ICC bug with -zero
29643         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
29644         works with more compilers.
29645         * tests/minus-zero.h: New file.
29646         * modules/ceilf-tests (Files): Include it.
29647         * modules/ceill-tests (Files): Likewise.
29648         * modules/floorf-tests (Files): Likewise.
29649         * modules/floorl-tests (Files): Likewise.
29650         * modules/frexp-nolibm-tests (Files): Likewise.
29651         * modules/frexp-tests (Files): Likewise.
29652         * modules/frexpl-nolibm-tests (Files): Likewise.
29653         * modules/frexpl-tests (Files): Likewise.
29654         * modules/isnan-tests (Files): Likewise.
29655         * modules/isnand-nolibm-tests (Files): Likewise.
29656         * modules/isnand-tests (Files): Likewise.
29657         * modules/isnanf-nolibm-tests (Files): Likewise.
29658         * modules/isnanf-tests (Files): Likewise.
29659         * modules/isnanl-nolibm-tests (Files): Likewise.
29660         * modules/isnanl-tests (Files): Likewise.
29661         * modules/round-tests (Files): Likewise.
29662         * modules/roundf-tests (Files): Likewise.
29663         * modules/roundl-tests (Files): Likewise.
29664         * modules/ldexpl-tests (Files): Likewise.
29665         * modules/signbit-tests (Files): Likewise.
29666         * modules/snprintf-posix-tests (Files): Likewise.
29667         * modules/sprintf-posix-tests (Files): Likewise.
29668         * modules/strtod-tests (Files): Likewise.
29669         * modules/trunc-tests (Files): Likewise.
29670         * modules/truncf-tests (Files): Likewise.
29671         * modules/truncl-tests (Files): Likewise.
29672         * modules/vsnprintf-posix-tests (Files): Likewise.
29673         * modules/vsprintf-posix-tests (Files): Likewise.
29674         * modules/vasnprintf-posix-tests (Files): Likewise.
29675         * modules/vasprintf-posix-tests (Files): Likewise.
29676         * tests/test-ceilf1.c (main): Use it.
29677         * tests/test-ceill.c (main): Likewise.
29678         * tests/test-floorf1.c (main): Likewise.
29679         * tests/test-floorl.c (main): Likewise.
29680         * tests/test-frexp.c (main): Likewise.
29681         * tests/test-frexpl.c (main): Likewise.
29682         * tests/test-isnan.c (main): Likewise.
29683         * tests/test-isnand.h (main): Likewise.
29684         * tests/test-isnanf.h (main): Likewise.
29685         * tests/test-isnanl.h (main): Likewise.
29686         * tests/test-ldexpl.c (main): Likewise.
29687         * tests/test-round.c (main): Likewise.
29688         * tests/test-roundf.c (main): Likewise.
29689         * tests/test-roundl.c (main): Likewise.
29690         * tests/test-signbit.c (test_signbitf, test_signbitd)
29691         (test_signbitl): Likewise.
29692         * tests/test-snprintf-posix.h (test_function): Likewise.
29693         * tests/test-sprintf-posix.h (test_function): Likewise.
29694         * tests/test-strtod.c (main): Likewise.
29695         * tests/test-trunc1.c (main): Likewise.
29696         * tests/test-truncf1.c (main): Likewise.
29697         * tests/test-truncl.c (main): Likewise.
29698
29699         isnanl: work around icc bug
29700         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
29701
29702 2010-11-03  Eric Blake  <eblake@redhat.com>
29703
29704         tests: fix compiler warnings
29705         * tests/test-getopt.h (test_getopt): Fix condition.
29706         * tests/test-getopt_long.h (test_getopt_long): Likewise.
29707         * tests/test-pipe2.c (main): Likewise.
29708         * tests/test-quotearg-simple.c (main): Avoid icc warning.
29709
29710         utimens: fix broken m4 test
29711         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
29712
29713 2010-10-28  Bruno Haible  <bruno@clisp.org>
29714
29715         posix_spawn*, getdtablesize: Relax license.
29716         * modules/posix_spawn (License): Change to LGPLv2+.
29717         * modules/posix_spawnp (License): Likewise.
29718         * modules/posix_spawn-internal (License): Likewise.
29719         * modules/posix_spawnattr_init (License): Likewise.
29720         * modules/posix_spawnattr_getflags (License): Likewise.
29721         * modules/posix_spawnattr_setflags (License): Likewise.
29722         * modules/posix_spawnattr_getpgroup (License): Likewise.
29723         * modules/posix_spawnattr_setpgroup (License): Likewise.
29724         * modules/posix_spawnattr_getschedparam (License): Likewise.
29725         * modules/posix_spawnattr_setschedparam (License): Likewise.
29726         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
29727         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
29728         * modules/posix_spawnattr_getsigdefault (License): Likewise.
29729         * modules/posix_spawnattr_setsigdefault (License): Likewise.
29730         * modules/posix_spawnattr_getsigmask (License): Likewise.
29731         * modules/posix_spawnattr_setsigmask (License): Likewise.
29732         * modules/posix_spawnattr_destroy (License): Likewise.
29733         * modules/posix_spawn_file_actions_init (License): Likewise.
29734         * modules/posix_spawn_file_actions_addclose (License): Likewise.
29735         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
29736         * modules/posix_spawn_file_actions_addopen (License): Likewise.
29737         * modules/posix_spawn_file_actions_destroy (License): Likewise.
29738         * modules/getdtablesize (License): Likewise.
29739         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
29740
29741 2010-10-26  Bruno Haible  <bruno@clisp.org>
29742
29743         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
29744         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
29745         Cygwin and mingw.
29746         Suggested by Eric Blake.
29747
29748 2010-10-26  Bruno Haible  <bruno@clisp.org>
29749
29750         stdio: Work around compilation error due to renameat() on Solaris 10.
29751         * lib/stdio.in.h: Include <unistd.h> on Solaris.
29752         * lib/renameat.c: Don't include <unistd.h> here.
29753         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
29754         Reported by Paul Eggert and Eric Blake.
29755
29756 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
29757
29758         renameat: port to Solaris 10, which declares renameat in unistd.h
29759
29760         * lib/renameat.c: Include unistd.h before stdio.h, because
29761         Solaris 10 declares renameat in unistd.h.  Problem encountered
29762         when building GNU tar 1.24 on Solaris 10.
29763
29764 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29765
29766         fdopendir: fix C89 compilation
29767         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
29768         compilers.
29769
29770 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
29771
29772         inttostr: simplify by removing unnecessary redundancy
29773         * lib/anytostr.c: Don't include verify.h.
29774         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
29775         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
29776         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
29777         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
29778         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
29779         Likewise.
29780         * modules/inttostr (Depends-on): Remove 'verify'.
29781
29782 2010-10-23  Bruno Haible  <bruno@clisp.org>
29783
29784         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
29785         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
29786         Reported by Eric Blake.
29787
29788 2010-10-23  Bruno Haible  <bruno@clisp.org>
29789
29790         Tests: Fix LOCALE_JA on MirBSD 10.
29791         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
29792         to an UTF-8 locale.
29793         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
29794         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
29795         Reported by Eric Blake.
29796
29797 2010-10-21  Bruno Haible  <bruno@clisp.org>
29798
29799         nl_langinfo test: Avoid test failure on NetBSD 5.
29800         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
29801         Reported by Eric Blake.
29802
29803 2010-10-21  Eric Blake  <eblake@redhat.com>
29804
29805         c-stack: work around libsigsegv 2.8 bug
29806         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
29807         overflow on at least PowerPC64.
29808
29809 2010-10-17  Bruno Haible  <bruno@clisp.org>
29810
29811         userspec: Drop redundant file.
29812         * modules/userspec (Files): Remove lib/inttostr.h.
29813
29814 2010-10-17  Bruno Haible  <bruno@clisp.org>
29815
29816         nl_langinfo tests: Silence some warnings.
29817         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
29818         Reported by Jim Meyering.
29819
29820 2010-10-17  Bruno Haible  <bruno@clisp.org>
29821
29822         Make use of GCC's attribute __alloc_size__.
29823         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
29824         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
29825         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
29826         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
29827         __alloc_size__.
29828         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
29829         Suggested by Jim Meyering.
29830
29831 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
29832
29833         bootstrap: anchor .gitignore entries.
29834         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
29835         with...
29836         (insert_vc_ignore): ... this new function, which prepends `/' to
29837         all .gitignore entries before passing them to
29838         insert_sorted_if_absent.
29839
29840 2010-10-16  Bruno Haible  <bruno@clisp.org>
29841
29842         nextafter: Fix configure check.
29843         * modules/nextafter (configure.ac): Correct expected prototype.
29844
29845 2010-10-16  Bruno Haible  <bruno@clisp.org>
29846
29847         termios: Update documentation.
29848         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
29849
29850 2010-10-16  Bruno Haible  <bruno@clisp.org>
29851
29852         tests: Make them compile with TinyCC.
29853         * tests/test-strstr.c (main): Remove parentheses around array
29854         initializer.
29855
29856 2010-10-15  Eric Blake  <eblake@redhat.com>
29857
29858         ignore-value: make header idempotent
29859         * lib/ignore-value.h: Add double-inclusion guards.
29860         Reported by Stefan Berger.
29861
29862 2010-10-15  Jim Meyering  <meyering@redhat.com>
29863
29864         GNUmakefile: handle "stable" target, not "major"
29865         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
29866         lists in maint.mk and announce-gen.  Without this, "make stable"
29867         would fail to ensure that $(VERSION) is up to date.
29868
29869 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
29870
29871         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
29872         & co.
29873
29874 2010-10-14  Bruno Haible  <bruno@clisp.org>
29875
29876         vasnprintf: Don't set errno to 0.
29877         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
29878         block that sets it to 0.
29879         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
29880
29881 2010-10-14  Bruno Haible  <bruno@clisp.org>
29882
29883         socketlib: Fix.
29884         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
29885         gl_PREREQ_SYS_H_WINSOCK2.
29886         Reported by Ian Beckwith <ianb@erislabs.net>.
29887
29888 2010-10-13  Jim Meyering  <meyering@redhat.com>
29889
29890         test-select-stdin.c: avoid warn_unused_result warnings
29891         * tests/test-select-stdin.c: Include "macros.h".
29892         ASSERT that read and fflush succeed.
29893
29894 2010-10-13  Jim Meyering  <meyering@redhat.com>
29895
29896         git-version-gen: do require git-VC'd files in cwd
29897         * build-aux/git-version-gen: Reject a git version string
29898         if there are no commits associated with the current directory.
29899         This avoids an unlikely false-positive (unrelated dir whose parent
29900         repository also contains a tag matching v*), as pointed out
29901         by Giuseppe Scrivano in
29902         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
29903
29904 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
29905
29906         argv-iter: omit nonconforming declaration
29907         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
29908         enum arg_iter_err declaration, which doesn't conform to C99.
29909         Solaris 10 cc warns about this.
29910
29911 2010-10-13  Eric Blake  <eblake@redhat.com>
29912
29913         termios: fix compilation on mingw
29914         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
29915         (gl_TERMIOS_H): Adjust it on mingw.
29916         * modules/termios (Makefile.am): Substitute new key.
29917         * lib/termios.in.h (includes): Make include_next conditional.
29918         * doc/posix-headers/termios.texi (termios.h): Update
29919         documentation.
29920         Reported by Daniel P. Berrange.
29921
29922 2010-10-13  Jim Meyering  <meyering@redhat.com>
29923
29924         git-version-gen: don't require that .git/ be in the current dir
29925         * build-aux/git-version-gen: Adjust this script so that it works
29926         when run from any working directory beneath the top-level .git/-
29927         containing directory.  Inspired by a patch from Giuseppe Scrivano,
29928         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
29929
29930         test-select: avoid warn_unused_result warnings
29931         * tests/test-select.c: Include "macros.h".
29932         ASSERT that each call to read, write, and pipe succeeds.
29933         While not technically required, also check each "close".
29934         * modules/select-tests (Files): Add tests/macros.h.
29935
29936         test-symlinkat: remove declaration of unused local
29937         * tests/test-symlinkat.c (main): Remove unused local, "buf".
29938
29939         test-inttostr: avoid shadowing warnings
29940         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
29941         and use malloc rather than the stack for the same reason as
29942         mentioned in the comment justifying the other allocation.
29943
29944 2010-10-11  Bruno Haible  <bruno@clisp.org>
29945
29946         stdlib: Allow multiple gnulib generated replacements to coexist.
29947         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
29948         Reported by Sam Steingold <sds@gnu.org>.
29949
29950 2010-10-11  Jim Meyering  <meyering@redhat.com>
29951
29952         fix a documentation typo
29953         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
29954
29955 2010-10-11  Eric Blake  <eblake@redhat.com>
29956
29957         futimens: work around Solaris 11 bug
29958         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
29959         * tests/test-futimens.h (test_futimens): Enhance, rather than
29960         weaken test.
29961         * doc/posix-functions/futimens.texi (futimens): Document the bug.
29962
29963 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
29964
29965         Indentation.
29966         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
29967         higher-level operators more to the left.
29968
29969 2010-10-11  Jim Meyering  <meyering@redhat.com>
29970
29971         test-futimens: avoid unwarranted test failure on Solaris 5.11
29972         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
29973         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
29974         because it tries to dereference the NULL name argument.
29975
29976 2010-10-11  Bruno Haible  <bruno@clisp.org>
29977
29978         Indentation.
29979         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
29980         indentation.
29981
29982 2010-10-11  Jim Meyering  <meyering@redhat.com>
29983
29984         spawn.in.h: make indentation consistent with parentheses
29985         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
29986         Make indentation consistent with parentheses.
29987
29988 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
29989
29990         Fix mismatched parens in previous commit
29991         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
29992         parens.
29993
29994 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
29995
29996         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
29997
29998         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
29999         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
30000         * lib/malloca.c: Include "verify.h".
30001         (verify1): Remove, replacing with a verify call.
30002         * lib/relocwrapper.c (verify1): Likewise.
30003         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
30004         Likewise.
30005         * modules/malloca (Depends-on): Add 'verify'.
30006         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
30007         * modules/vasnprintf (Depends-on): Add 'verify'.
30008         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30009         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30010         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30011         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30012         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30013         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30014         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30015
30016         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
30017
30018         Formerly the style was sometimes 2*X - 1, because the C standard
30019         was wrongly thought to disallow ?: in integral constant expressions.
30020         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
30021         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
30022         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
30023         * lib/stdint.in.h (_verify_intmax_size): Likewise.
30024         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
30025         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
30026         verify that time_t cannot be floating.
30027
30028 2010-10-08  Eric Blake  <eblake@redhat.com>
30029
30030         time: enforce recent POSIX ruling that time_t is integral
30031         * lib/time.in.h (__time_t_must_be_integral): Detect any
30032         problematic systems, allowing the rest of gnulib to assume POSIX.
30033
30034 2010-10-08  Jim Meyering  <meyering@redhat.com>
30035
30036         fdopendir: fix a bug on systems lacking openat and /proc support
30037         OpenBSD 4.7 is one such system.  The most noticeable effect was
30038         failure of any application making nontrivial use of fts: rm, du,
30039         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
30040           ./rm: traversal failed: `a': Bad file descriptor
30041         Debugging that, you see that even though FD 6 was closed just
30042         prior to the opendir call in fd_clone_opendir, its resulting
30043         dir->dd_fd was 8, rather than the expected value of 6:
30044
30045         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
30046         93                close (fd);
30047         (gdb) n
30048         94                dir = fd_clone_opendir (dupfd);
30049         (gdb) n
30050         95                saved_errno = errno;
30051         (gdb) p dir->dd_fd
30052         $11 = 8
30053
30054         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
30055         The problem is that on OpenBSD, fd_clone_opendir has to resort
30056         to using the old-style save/restore CWD mechanism, due to its
30057         lack of openat/proc support, and *that* would steal the FD (6)
30058         that opendir was supposed to use.
30059
30060         The fix is to squirrel away the desired FD so that save_cwd uses a
30061         different one, and then free the dest FD right before calling opendir.
30062         That guarantees opendir will use the required file descriptor.
30063
30064         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
30065
30066 2010-10-08  Bruno Haible  <bruno@clisp.org>
30067
30068         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
30069         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
30070
30071 2010-10-08  Bruno Haible  <bruno@clisp.org>
30072
30073         nanosleep: Make replacement POSIX compliant.
30074         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
30075         is out of range.
30076         Reported by Jim Meyering.
30077
30078 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
30079
30080         bootstrap: add hook for altering gnulib.mk, for Bison
30081         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
30082         the Bison bootstrapping process can rewrite file names and variables
30083         in this file before later parts of 'bootstrap' use the file.
30084         Bison wants to include lib/gnulib.mk from the top-level makefile,
30085         so it needs the file names in this file to be relative to the top
30086         level, not relative to lib; plus it needs variable names to be
30087         rewritten.
30088         (slurp): Use the new function.
30089
30090         bootstrap: reformat for readability
30091         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
30092
30093 2010-10-08  Eric Blake  <eblake@redhat.com>
30094
30095         docs: update cygwin progress
30096         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
30097         1.7.7.
30098         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
30099         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
30100         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
30101         * doc/posix-functions/carg.texi (carg): Likewise.
30102         * doc/posix-functions/cargf.texi (cargf): Likewise.
30103         * doc/posix-functions/casin.texi (casin): Likewise.
30104         * doc/posix-functions/casinf.texi (casinf): Likewise.
30105         * doc/posix-functions/casinh.texi (casinh): Likewise.
30106         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
30107         * doc/posix-functions/catan.texi (catan): Likewise.
30108         * doc/posix-functions/catanf.texi (catanf): Likewise.
30109         * doc/posix-functions/catanh.texi (catanh): Likewise.
30110         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
30111         * doc/posix-functions/ccos.texi (ccos): Likewise.
30112         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
30113         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
30114         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
30115         * doc/posix-functions/cexp.texi (cexp): Likewise.
30116         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
30117         * doc/posix-functions/cimag.texi (cimag): Likewise.
30118         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
30119         * doc/posix-functions/clog.texi (clog): Likewise.
30120         * doc/posix-functions/clogf.texi (clogf): Likewise.
30121         * doc/posix-functions/conj.texi (conj): Likewise.
30122         * doc/posix-functions/conjf.texi (conjf): Likewise.
30123         * doc/posix-functions/cpow.texi (cpow): Likewise.
30124         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
30125         * doc/posix-functions/cproj.texi (cproj): Likewise.
30126         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
30127         * doc/posix-functions/creal.texi (creal): Likewise.
30128         * doc/posix-functions/crealf.texi (crealf): Likewise.
30129         * doc/posix-functions/csin.texi (csin): Likewise.
30130         * doc/posix-functions/csinf.texi (csinf): Likewise.
30131         * doc/posix-functions/csinh.texi (csinh): Likewise.
30132         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
30133         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
30134         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
30135         * doc/posix-functions/ctan.texi (ctan): Likewise.
30136         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
30137         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
30138         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
30139         * doc/posix-headers/complex.texi (complex.h): Likewise.
30140
30141 2010-10-07  Jim Meyering  <meyering@redhat.com>
30142
30143         parse-datetime: avoid compilation failure on OpenBSD 4.7
30144         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
30145         This works around a compilation failure on OpenBSD 4.7:
30146         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
30147
30148 2010-10-07  Eric Blake  <eblake@redhat.com>
30149
30150         docs: update cygwin progress
30151         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
30152         1.7.6.
30153         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
30154         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
30155         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
30156         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
30157         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
30158         Likewise.
30159         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
30160         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
30161         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
30162         Likewise.
30163         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
30164         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
30165         Likewise.
30166         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
30167         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
30168         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
30169         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
30170         Likewise.
30171         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
30172         Likewise.
30173         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
30174
30175         docs: update parse-datetime history
30176         * doc/parse-datetime.texi (Authors of parse_datetime): Better
30177         documentation of this function's history and alternatives.
30178
30179         cygwin: use more robust version check
30180         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
30181         exclude an eventual cygwin 1.9.1.
30182         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
30183         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
30184         (gl_FUNC_STRCASESTR): Likewise.
30185         Reported by Bruno Haible.
30186
30187 2010-10-06  Bruno Haible  <bruno@clisp.org>
30188
30189         string, sys_select: Avoid #including large headers unless necessary.
30190         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
30191         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
30192         OSF/1, BeOS, Haiku.
30193         Reported by Jim Meyering.
30194
30195 2010-10-05  Eric Blake  <eblake@redhat.com>
30196
30197         memmem, strstr, strcasestr: fix bug with long periodic needle
30198         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
30199         periodic needle having false positive.
30200         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
30201         and cygwin 1.7.7.
30202         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
30203         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
30204         (gl_FUNC_STRCASESTR): Likewise.
30205         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
30206         * tests/test-memmem.c (main): Expose the bug.
30207         * tests/test-strcasestr.c (main): Likewise.
30208         * tests/test-strstr.c (main): Likewise.
30209         * tests/test-c-strcasestr.c (main): Likewise.
30210         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
30211         * doc/posix-functions/strstr.texi (strstr): Likewise.
30212         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
30213         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
30214
30215 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
30216
30217         parse-datetime: do some more renaming
30218         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
30219         parse_datetime, not get_date.  Mention the renaming.
30220         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
30221         in comments.
30222         * m4/bison.m4: Likewise.
30223
30224 2010-10-05  Eric Blake  <eblake@redhat.com>
30225
30226         parse-datetime: better name than get_date
30227         * NEWS: Reword the deprecation notice.
30228         * modules/get_date: Rename to modules/parse-datetime.
30229         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
30230         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
30231         * lib/get_date.y: Rename to lib/parse-datetime.y.
30232         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
30233         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
30234         * doc/getdate.texi: Provide fallback wrapper.
30235         * lib/getdate.h: Move guts, and wrap...
30236         * lib/parse-datetime.h: ...new file.
30237         * lib/parse-datetime.y (get_date): Rename...
30238         (parse_datetime): ...to this.
30239         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
30240         (gl_PARSE_DATETIME): ...to this.
30241         * doc/posix-functions/getdate.texi (get_date): Provide fallback
30242         documentation.
30243         * modules/getdate (Files): Provide fallback docs and header.
30244         (Notice, Depends-on): Update references.
30245         * tests/test-parse-datetime.c: Likewise.
30246         * DEPENDENCIES: Likewise.
30247         * MODULES.html.sh (Date and time <time.h>): Likewise.
30248         * doc/parse-datetime.texi (Date input formats)
30249         (Authors of parse_datetime): Likewise.
30250         * modules/parse-datetime (Files, configure.ac, Makefile.am)
30251         (Include): Likewise.
30252         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
30253         * gnulib-tool: Likewise.
30254         * m4/bison.m4 (gl_BISON): Likewise.
30255         Suggested by Bruno Haible.
30256
30257 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
30258
30259         more ports to Solaris tr, which needs [] around ranges
30260         * gnulib-tool: Solaris tr needs [] around ranges.
30261         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
30262         * tests/test-pipe-filter-gi1.c (main): Likewise.
30263         * tests/test-pipe-filter-ii1.c (main): Likewise.
30264
30265 2010-10-05  Eric Blake  <eblake@redhat.com>
30266
30267         bootstrap: fix Solaris regression
30268         * build-aux/bootstrap (check_versions): Solaris tr still needs []
30269         around ranges.
30270         Reported by Pádraig Brady.
30271
30272         bootstrap: work with pkg-config
30273         * build-aux/bootstrap (check_versions): Also transliterate - in
30274         prerequisite name.
30275         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
30276         prerequisites that were already found, to avoid confusion.
30277         Reported by Justin Clift.
30278
30279         faccessat: remove unused wrappers
30280         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
30281         presence of these wrappers dragged in -lgen on Solaris.
30282         Reported by Clemens Brogi; fix suggested by Paul Eggert.
30283
30284 2010-10-05  Jim Meyering  <meyering@redhat.com>
30285
30286         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
30287         * Makefile (sc_pragma_columns): New syntax-check rule.
30288
30289 2010-10-04  Bruno Haible  <bruno@clisp.org>
30290
30291         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
30292         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
30293         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
30294         Reported by Bruce Korb and Eric Blake.
30295
30296 2010-10-04  Bruno Haible  <bruno@clisp.org>
30297
30298         threadlib: Make option --with-libpth-prefix work.
30299         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
30300         use $LIBPTH, not just -lpth.
30301
30302 2010-10-04  Bruno Haible  <bruno@clisp.org>
30303
30304         Avoid line length limitation from HP NonStop system header files.
30305         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
30306         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
30307         * lib/ctype.in.h: Likewise.
30308         * lib/dirent.in.h: Likewise.
30309         * lib/errno.in.h: Likewise.
30310         * lib/fcntl.in.h: Likewise.
30311         * lib/float.in.h: Likewise.
30312         * lib/getopt.in.h: Likewise.
30313         * lib/iconv.in.h: Likewise.
30314         * lib/inttypes.in.h: Likewise.
30315         * lib/langinfo.in.h: Likewise.
30316         * lib/locale.in.h: Likewise.
30317         * lib/math.in.h: Likewise.
30318         * lib/netdb.in.h: Likewise.
30319         * lib/netinet_in.in.h: Likewise.
30320         * lib/poll.in.h: Likewise.
30321         * lib/pthread.in.h: Likewise.
30322         * lib/pty.in.h: Likewise.
30323         * lib/sched.in.h: Likewise.
30324         * lib/se-selinux.in.h: Likewise.
30325         * lib/search.in.h: Likewise.
30326         * lib/signal.in.h: Likewise.
30327         * lib/spawn.in.h: Likewise.
30328         * lib/stdarg.in.h: Likewise.
30329         * lib/stddef.in.h: Likewise.
30330         * lib/stdint.in.h: Likewise.
30331         * lib/stdio.in.h: Likewise.
30332         * lib/stdlib.in.h: Likewise.
30333         * lib/string.in.h: Likewise.
30334         * lib/strings.in.h: Likewise.
30335         * lib/sys_file.in.h: Likewise.
30336         * lib/sys_ioctl.in.h: Likewise.
30337         * lib/sys_select.in.h: Likewise.
30338         * lib/sys_socket.in.h: Likewise.
30339         * lib/sys_stat.in.h: Likewise.
30340         * lib/sys_time.in.h: Likewise.
30341         * lib/sys_times.in.h: Likewise.
30342         * lib/sys_utsname.in.h: Likewise.
30343         * lib/sys_wait.in.h: Likewise.
30344         * lib/sysexits.in.h: Likewise.
30345         * lib/termios.in.h: Likewise.
30346         * lib/time.in.h: Likewise.
30347         * lib/unistd.in.h: Likewise.
30348         * lib/wchar.in.h: Likewise.
30349         * lib/wctype.in.h: Likewise.
30350         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
30351         * modules/ctype (Makefile.am): Likewise.
30352         * modules/dirent (Makefile.am): Likewise.
30353         * modules/errno (Makefile.am): Likewise.
30354         * modules/fcntl-h (Makefile.am): Likewise.
30355         * modules/float (Makefile.am): Likewise.
30356         * modules/getopt-posix (Makefile.am): Likewise.
30357         * modules/iconv-h (Makefile.am): Likewise.
30358         * modules/inttypes (Makefile.am): Likewise.
30359         * modules/langinfo (Makefile.am): Likewise.
30360         * modules/locale (Makefile.am): Likewise.
30361         * modules/math (Makefile.am): Likewise.
30362         * modules/netdb (Makefile.am): Likewise.
30363         * modules/netinet_in (Makefile.am): Likewise.
30364         * modules/poll-h (Makefile.am): Likewise.
30365         * modules/pthread (Makefile.am): Likewise.
30366         * modules/pty (Makefile.am): Likewise.
30367         * modules/sched (Makefile.am): Likewise.
30368         * modules/search (Makefile.am): Likewise.
30369         * modules/selinux-h (Makefile.am): Likewise.
30370         * modules/signal (Makefile.am): Likewise.
30371         * modules/spawn (Makefile.am): Likewise.
30372         * modules/stdarg (Makefile.am): Likewise.
30373         * modules/stddef (Makefile.am): Likewise.
30374         * modules/stdint (Makefile.am): Likewise.
30375         * modules/stdio (Makefile.am): Likewise.
30376         * modules/stdlib (Makefile.am): Likewise.
30377         * modules/string (Makefile.am): Likewise.
30378         * modules/strings (Makefile.am): Likewise.
30379         * modules/sys_file (Makefile.am): Likewise.
30380         * modules/sys_ioctl (Makefile.am): Likewise.
30381         * modules/sys_select (Makefile.am): Likewise.
30382         * modules/sys_socket (Makefile.am): Likewise.
30383         * modules/sys_stat (Makefile.am): Likewise.
30384         * modules/sys_time (Makefile.am): Likewise.
30385         * modules/sys_times (Makefile.am): Likewise.
30386         * modules/sys_utsname (Makefile.am): Likewise.
30387         * modules/sys_wait (Makefile.am): Likewise.
30388         * modules/sysexits (Makefile.am): Likewise.
30389         * modules/termios (Makefile.am): Likewise.
30390         * modules/time (Makefile.am): Likewise.
30391         * modules/unistd (Makefile.am): Likewise.
30392         * modules/wchar (Makefile.am): Likewise.
30393         * modules/wctype (Makefile.am): Likewise.
30394
30395 2010-10-04  Bruno Haible  <bruno@clisp.org>
30396
30397         read-file tests: Avoid a test failure on NonStop Kernel.
30398         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
30399         a regular file.
30400         Reported by Joachim Schmitz <schmitz@hp.com>.
30401
30402 2010-10-03  Bruno Haible  <bruno@clisp.org>
30403
30404         gnulib-tool: Fixes for --create-testdir with --libtool.
30405         * gnulib-tool (func_get_automake_snippet): Don't augment
30406         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
30407         an executable.
30408         (func_create_testdir): Handle module 'alloca' like func_import.
30409         Reported by Bruce Korb <bruce.korb@gmail.com>.
30410
30411 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
30412
30413         Avoid some lines longer than 80 characters.
30414         * lib/stdint.in.h: Break long comment lines.
30415         * lib/math.in.h: Likewise.
30416         (_GL_NUM_UINT_WORDS): New macro, for readability.
30417         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
30418         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
30419         * lib/stdlib.in.h: Likewise.
30420         * lib/spawn.in.h: Likewise.
30421         * lib/sys_socket.in.h: Update an URL.
30422         * lib/sys_stat.in.h: Break long line.
30423
30424 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
30425
30426         Improve pmccabe2html.
30427         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
30428         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
30429         when the sources change. Remove the line in the HTML about "Used
30430         ranges" (which implied that there might be other unused ranges),
30431         rename "Resume" to "Summary" (easier to understand for more users).
30432         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
30433         styles, and some unnecessary blank lines.
30434
30435 2010-10-03  Bruno Haible  <bruno@clisp.org>
30436             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
30437
30438         acl: Add support for ACLs on NonStop Kernel.
30439         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
30440         Check whether the function aclsort() exists.
30441         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
30442         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
30443         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
30444         (acl_nontrivial [HAVE_ACLSORT]: New function.
30445         (file_has_acl): Implement for NonStop Kernel.
30446         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
30447         (qset_acl): Implement for NonStop Kernel.
30448         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
30449         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
30450         (main): Implement for NonStop Kernel.
30451         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
30452         Kernel. Handle this flavor.
30453         * tests/test-set-mode-acl.sh: Likewise.
30454         * tests/test-copy-acl.sh: Likewise.
30455         * tests/test-copy-file.sh: Likewise.
30456
30457 2010-10-03  Bruno Haible  <bruno@clisp.org>
30458
30459         Info about ACLs on NonStop Kernel.
30460         * doc/acl-resources.txt: Add info about NonStop Kernel.
30461         References by Joachim Schmitz <schmitz@hp.com>.
30462
30463 2010-10-02  Bruno Haible  <bruno@clisp.org>
30464
30465         Define missing EDQUOT on NonStop Kernel.
30466         * lib/errno.in.h (EDQUOT): Assign a value if missing.
30467         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
30468         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
30469         missing.
30470         * doc/posix-headers/errno.texi: Mention the NSK bug.
30471         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
30472         Reported by Joachim Schmitz <schmitz@hp.com>.
30473
30474 2010-10-02  Bruno Haible  <bruno@clisp.org>
30475
30476         Update doc for POSIX:2008.
30477         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
30478         Update URL of POSIX specification.
30479
30480 2010-10-02  Bruno Haible  <bruno@clisp.org>
30481
30482         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
30483         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
30484         from gnulib, not from Automake.
30485
30486 2010-10-02  Bruno Haible  <bruno@clisp.org>
30487
30488         New module 'system-posix'.
30489         * modules/system-posix: New file.
30490         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
30491         module is present.
30492         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
30493         GNULIB_SYSTEM_POSIX.
30494         * modules/stdlib (Depends-on): Remove sys_wait.
30495         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
30496         * doc/posix-functions/system.texi: Mention the new module.
30497         * doc/posix-headers/stdlib.texi: Likewise.
30498         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
30499         define test_sys_wait_macros to a no-op.
30500         Reported by Sam Steingold <sds@gnu.org>.
30501
30502 2010-09-30  Bruno Haible  <bruno@clisp.org>
30503
30504         More renaming from 'getdate' to 'get_date'.
30505         * doc/get_date.texi: Renamed from doc/getdate.texi.
30506         * modules/get_date (Files): Update.
30507         * MODULES.html.sh (Date and time <time.h>): Update.
30508         * DEPENDENCIES: Update.
30509         * gnulib-tool: Update comment.
30510         * m4/bison.m4 (gl_BISON): Likewise.
30511         * m4/get_date.m4 (gl_GET_DATE): Likewise.
30512
30513 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
30514
30515         bootstrap: support ACLOCAL_FLAGS during aclocal
30516         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
30517         can add additional -I dir for third-party .m4 files.
30518
30519 2010-09-30  Eric Blake  <eblake@redhat.com>
30520
30521         bootstrap: use glibtoolize on MacOS
30522         * build-aux/bootstrap (check_versions): Convert libtool into
30523         libtoolize.
30524         (tool search): Move libtool check earlier, and look for
30525         glibtoolize for MacOS.
30526         (gnulib_tool_options): Auto-add --libtool when appropriate.
30527         Reported by Justin Clift.
30528
30529         poll: fix typo that broke test on MacOS
30530         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
30531         Reported by Justin Clift.
30532
30533         getdate: rename to get_date
30534         Note: getdate.h is not renamed, to minimize client impact.
30535         * modules/getdate: Mark obsolete.  Move old contents...
30536         * modules/get_date: ...to new module name.
30537         * modules/getdate-tests: Move...
30538         * modules/get_date-tests: ...here.
30539         * m4/getdate.m4: Move...
30540         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
30541         * lib/getdate.y: Move...
30542         * lib/get_date.y: ...here.
30543         * tests/test-getdate.c: Move...
30544         * tests/test-get_date.c: ...here.
30545         * doc/posix-functions/getdate.texi (getdate): Update name.
30546         * NEWS: Mention the change.
30547
30548 2010-09-29  Bruno Haible  <bruno@clisp.org>
30549
30550         Separate the module 'waitpid' from the module 'sys_wait'.
30551         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
30552         present.
30553         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
30554         gl_MODULE_INDICATOR_FOR_TESTS.
30555         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
30556         * modules/sys_wait (Depends-on): Remove waitpid.
30557         (Makefile.am): Substitute GNULIB_WAITPID.
30558         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
30559         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
30560         signature only if the 'waitpid' module is present.
30561         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
30562         * NEWS: Mention the change.
30563         * modules/grantpt (Depends-on): Add waitpid.
30564         * modules/wait-process (Depends-on): Likewise.
30565
30566 2010-09-29  Bruno Haible  <bruno@clisp.org>
30567
30568         More tests for module 'sys_wait'.
30569         * modules/sys_wait-c++-tests: New file.
30570         * tests/test-sys_wait-c++.cc: New file.
30571         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
30572         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30573
30574 2010-09-29  Bruno Haible  <bruno@clisp.org>
30575
30576         New module 'waitpid'.
30577         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
30578         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
30579         Don't include <process.h>.
30580         (waitpid): Declare only, using modern idiom.
30581         * m4/waitpid.m4: New file.
30582         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
30583         * modules/waitpid: New file.
30584         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
30585         (Makefile.am): Update.
30586         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30587
30588 2010-09-28  Bruno Haible  <bruno@clisp.org>
30589
30590         poll: Assume ANSI C.
30591         * lib/poll.c (poll): Use an ANSI C declaration.
30592
30593 2010-09-28  Bruno Haible  <bruno@clisp.org>
30594
30595         poll-h: Create poll.h on all platforms.
30596         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
30597         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
30598         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
30599         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
30600         (gl_REPLACE_POLL_H): Don't set POLL_H.
30601         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
30602         * modules/poll-h (Depends-on): Add include_next.
30603         (Makefile.am): Create poll.h unconditionally. Substitute also
30604         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
30605
30606 2010-09-28  Bruno Haible  <bruno@clisp.org>
30607
30608         Tests for module 'poll-h'.
30609         * modules/poll-h-c++-tests: New file.
30610         * tests/test-poll-h-c++.cc: New file.
30611
30612         Tests for module 'poll-h'.
30613         * modules/poll-h-tests: New file.
30614         * tests/test-poll-h.c: New file.
30615
30616 2010-09-28  Bruno Haible  <bruno@clisp.org>
30617
30618         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
30619         * modules/poll-h (Depends-on): Add 'extensions'.
30620
30621 2010-09-28  Bruno Haible  <bruno@clisp.org>
30622
30623         New module 'poll-h'.
30624         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
30625         (poll): Use modern idiom.
30626         * modules/poll-h: New file.
30627         * modules/poll (Files): Remove lib/poll.in.h.
30628         (Depends-on): Add poll-h.
30629         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
30630         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
30631         * m4/poll_h.m4: New file.
30632         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
30633         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
30634         and invoke gl_REPLACE_POLL_H.
30635         * lib/poll.c: Use common idiom.
30636         * tests/test-poll.c: Likewise.
30637         * doc/posix-headers/poll.texi: Mention the poll-h module.
30638         Suggested by Eric Blake.
30639
30640 2010-09-26  Bruno Haible  <bruno@clisp.org>
30641
30642         sys_wait: Implement WSTOPSIG.
30643         * lib/sys_wait.in.h (WSTOPSIG): New macro.
30644         Reported by Simon Josefsson.
30645
30646 2010-09-26  Simon Josefsson  <simon@josefsson.org>
30647
30648         stdlib, sys_wait: Avoid compilation error on mingw.
30649         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
30650
30651 2010-09-26  Bruno Haible  <bruno@clisp.org>
30652
30653         stdlib tests: Avoid code duplication.
30654         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
30655         * modules/sys_wait-tests (Files): Likewise.
30656         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
30657         * tests/test-stdlib.c: Include test-sys_wait.h.
30658         (main): Invoke test_sys_wait_macros.
30659         * tests/test-sys_wait.c: Include test-sys_wait.h.
30660         (main): Invoke test_sys_wait_macros.
30661
30662 2010-09-25  Simon Josefsson  <simon@josefsson.org>
30663
30664         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
30665         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
30666         sure Windows sockets are working before calling getaddrinfo.
30667         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
30668         * doc/gnulib.texi (Windows sockets): Fix typo.
30669
30670 2010-09-25  Bruno Haible  <bruno@clisp.org>
30671
30672         Tests for module 'regex-quote'.
30673         * modules/regex-quote-tests: New file.
30674         * tests/test-regex-quote.c: New file.
30675
30676         New module 'regex-quote'.
30677         * lib/regex-quote.h: New file.
30678         * lib/regex-quote.c: New file.
30679         * modules/regex-quote: New file.
30680         Suggested by Reuben Thomas <rrt@sc3d.org>.
30681
30682 2010-09-24  Bruno Haible  <bruno@clisp.org>
30683
30684         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
30685         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
30686
30687 2010-09-23  Bruno Haible  <bruno@clisp.org>
30688
30689         setenv: Relax license.
30690         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
30691         Blake.
30692         Requested by Eric Blake.
30693
30694 2010-09-22  Bruno Haible  <bruno@clisp.org>
30695
30696         termios: Relax license.
30697         * modules/termios (License): Change to LGPLv2+.
30698         Requested by Eric Blake.
30699
30700 2010-09-22  Bruno Haible  <bruno@clisp.org>
30701
30702         threadlib: Allow the package to change the default to 'no'.
30703         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
30704         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
30705         Reported by Paul Eggert.
30706
30707 2010-09-22  Pádraig Brady  <P@draigbrady.com>
30708             Bruno Haible  <bruno@clisp.org>
30709
30710         Fix endless loop in mbmemcasecoll.
30711         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
30712         byte.
30713         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
30714
30715 2010-09-22  Bruno Haible  <bruno@clisp.org>
30716
30717         Tests for module 'memcoll'.
30718         * modules/memcoll-tests: New file.
30719         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
30720
30721         memcoll, xmemcoll: Clarify size vs. length.
30722         * modules/memcoll.c (memcoll0): Clarify specification.
30723         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
30724         passed to collate_error.
30725
30726 2010-09-22  Bruno Haible  <bruno@clisp.org>
30727
30728         Tests for module 'memcasecmp'.
30729         * modules/memcasecmp-tests: New file.
30730         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
30731
30732 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
30733
30734         * lib/pthread.in.h: Add split double-inclusion guard, and include
30735         system <pthread.h> if there is one.  Use @@-style as in other
30736         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
30737         pthread.h doesn't.
30738         (pthread_mutexattr_destroy, pthread_mutexattr_init):
30739         (pthread_mutexattr_settype, pthread_mutex_trylock):
30740         New static inline functions, if there's no system <pthread.h>.
30741         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
30742         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
30743         Approximate with mutexes if the system lacks spinlocks, as in
30744         MacOS.
30745         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
30746         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
30747         @@-style.  Check for spinlocks separately.
30748         (gl_PTHREAD_DEFAULTS): New macro.
30749         * modules/pthread: Redo to use a more typical style for in.h files.
30750
30751 2010-09-21  Eric Blake  <eblake@redhat.com>
30752
30753         net_if: enhance tests
30754         * tests/test-net_if.c (main): Move signature checks earlier.
30755         Print failures to stderr.
30756         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
30757         Document the bug that we do not yet fix.
30758
30759 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30760
30761         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
30762         about gnulib, not GSS.
30763
30764 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30765
30766         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
30767         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
30768         for Emacs.
30769         * build-aux/pmccabe2html: Make Makefile.am example code more
30770         cut-and-paste friendly.
30771
30772 2010-09-21  Simon Josefsson  <simon@josefsson.org>
30773
30774         * tests/test-net_if.c: New file.
30775         * modules/net_if-tests: New file.
30776
30777 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
30778
30779         pthread: add pthread_spin_destroy
30780         * lib/pthread.in.h (pthread_spin_destroy): New function.
30781
30782 2010-09-19  Bruno Haible  <bruno@clisp.org>
30783
30784         gnulib-tool: Fix --help output.
30785         * gnulib-tool (func_usage): Fix help message.
30786         Reported by Reuben Thomas <rrt@sc3d.org>.
30787
30788 2010-09-18  Jim Meyering  <meyering@redhat.com>
30789
30790         maint.mk: avoid unexpanded \n in two diagnostics
30791         * top/maint.mk (sc_prohibit_always_true_header_tests):
30792         Don't use a literal \n in a halt=... assignment.  It would not be
30793         expanded, and the two \n bytes would appear in the diagnostic output
30794         rather than the desired newline.  Use halt=$$(printf ... instead.
30795         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30796
30797 2010-09-18  Bruno Haible  <bruno@clisp.org>
30798
30799         netinet_in: Doc tweak.
30800         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
30801         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30802
30803 2010-09-18  Jim Meyering  <meyering@redhat.com>
30804
30805         init.sh: correct an outdated comment
30806         * tests/init.sh (create_exe_shims_):  s/function/alias/
30807
30808         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
30809         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
30810         a file named "*.exe" is removed between the glob expansion and the
30811         processing of that oddly named file.
30812
30813 2010-09-17  Eric Blake  <eblake@redhat.com>
30814
30815         mirbsd: add some more support
30816         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
30817         in BSD family.
30818         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
30819         devices as OpenBSD.
30820         * m4/host-os.m4 (mirbsd): Add MirBSD.
30821
30822         tests: fix unportable assumption on sys/wait.h
30823         * tests/test-sys_wait.c (main): Relax test.
30824         * tests/test-stdlib.c (main): Likewise.
30825
30826         init.sh: accommodate directory with no .exes
30827         * tests/init.sh: Accomodate directory containing only scripts.
30828
30829         tests: avoid compiler warning
30830         * tests/test-stdlib.c (main): Use the variable.
30831
30832         fdutimens, fdutimensat: update signature, again
30833         * lib/utimens.h (gl_futimens): Delete, and move signature...
30834         (fdutimens): ...here.
30835         (fdutimensat): Rearrange signature.
30836         (lutimensat): Rename variable for clarity.
30837         * lib/fdutimensat.c (fdutimensat): Update signature.
30838         * lib/utimens.c (fdutimens): Likewise.
30839         (gl_futimens): Delete.
30840         (utimens, lutimens): Update callers.
30841         * lib/futimens.c (futimens): Likewise.
30842         * tests/test-fdutimensat.c: Likewise.
30843         * tests/test-utimens.c: Likewise.
30844         * tests/test-futimens.h: Update comment.
30845         * NEWS: Mention this.
30846         Suggested by Paul Eggert.
30847
30848 2010-09-17  Bruno Haible  <bruno@clisp.org>
30849
30850         Take over the maintenance of some older macros from Autoconf.
30851         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
30852         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
30853         GNU Autoconf.
30854         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
30855         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
30856
30857 2010-09-17  Eric Blake  <eblake@redhat.com>
30858
30859         fdutimensat: drop atflag validation
30860         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
30861         with valid fd, to close a race scenario where futimens is
30862         unsupported and FILE was replaced by a symlink.
30863         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
30864         accordingly.
30865         Suggested by Paul Eggert.
30866
30867 2010-09-16  Bruno Haible  <bruno@clisp.org>
30868
30869         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
30870         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
30871
30872 2010-09-16  Bruno Haible  <bruno@clisp.org>
30873
30874         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
30875         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
30876         login_tty exists.
30877         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30878
30879 2010-09-16  Bruno Haible  <bruno@clisp.org>
30880
30881         login_tty: Make the replacement code work on BSD systems.
30882         * lib/login_tty.c: Include <sys/ioctl.h>.
30883         (login_tty): Use ioctl TIOCSCTTY when available.
30884         * modules/login_tty (Depends-on): Add sys_ioctl.
30885         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30886
30887 2010-09-16  Bruno Haible  <bruno@clisp.org>
30888
30889         login_tty: Stricter unit test.
30890         * modules/login_tty-tests (Depends-on): Add tcgetsid.
30891         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
30892         and tcgetsid() after login_tty.
30893         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30894
30895 2010-09-16  Bruno Haible  <bruno@clisp.org>
30896
30897         New module 'tcgetsid'.
30898         * lib/tcgetsid.c: New file.
30899         * m4/tcgetsid.m4: New file.
30900         * modules/tcgetsid: New file.
30901         * modules/termios (Depends-on): Add c++defs, warn-on-use.
30902         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
30903         GNULIB_TCGETSID, HAVE_TCGETSID.
30904         * lib/termios.in.h: Include <sys/types.h>.
30905         (tcgetsid): New declaration.
30906         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
30907         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
30908         * doc/posix-functions/tcgetsid.texi: Mention the new module.
30909         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
30910
30911 2010-09-16  Bruno Haible  <bruno@clisp.org>
30912
30913         Tests for module 'termios'.
30914         * modules/termios-c++-tests: New file.
30915         * modules/termios-tests: New file.
30916         * tests/test-termios-c++.cc: New file.
30917         * tests/test-termios.c: New file.
30918
30919         New module 'termios'.
30920         * modules/termios: New file.
30921         * lib/termios.in.h: New file.
30922         * m4/termios_h.m4: New file.
30923         * doc/posix-headers/termios.texi: Mention the new module.
30924
30925 2010-09-16  Eric Blake  <eblake@redhat.com>
30926
30927         fdutimensat: add an atflag parameter
30928         * lib/fdutimensat.c (fdutimensat): Add new parameter.
30929         * lib/utimens.h (fdutimensat): Update prototype.
30930         * tests/test-fdutimensat.c: Adjust test to match.
30931         * NEWS: Document the change.
30932         Suggested by Paul Eggert.
30933
30934 2010-09-16  Bruno Haible  <bruno@clisp.org>
30935
30936         Fix typos in comments.
30937         * lib/striconveh.h: Fix typo in comment.
30938         * lib/login_tty.c (login_tty): Likewise.
30939
30940 2010-09-15  Bruno Haible  <bruno@clisp.org>
30941
30942         stdlib: clarify MirBSD WEXITSTATUS bug
30943         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
30944         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30945
30946 2010-09-15  Eric Blake  <eblake@redhat.com>
30947
30948         stdlib: work around MirBSD WEXITSTATUS bug
30949         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
30950         * modules/stdlib (Depends-on): Add sys_wait.
30951         * tests/test-sys_wait.c (main): Enhance test.
30952         * tests/test-stdlib.c (main): Likewise.
30953         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
30954
30955         docs: mention MacOS issue with WEXITSTATUS(constant)
30956         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
30957         issue.
30958         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30959
30960         strnlen: add tests
30961         * modules/strnlen-tests: New file.
30962         * tests/test-strnlen.c: Likewise.
30963
30964 2010-09-14  Bruno Haible  <bruno@clisp.org>
30965
30966         unistr/base: Avoid link errors when module 'libunistring' is also used.
30967         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
30968         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
30969         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
30970         Declare also when HAVE_LIBUNISTRING is set.
30971         Reported by Pádraig Brady <P@draigbrady.com>.
30972
30973 2010-09-14  Eric Blake  <eblake@redhat.com>
30974
30975         test-rawmemchr: make more robust
30976         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
30977         (Depends-on, configure.ac): Add needed prerequisites to use it.
30978         * modules/memchr-tests (Files, Depends-on, configure.ac):
30979         Likewise, to avoid implicit reliance on memchr module prereqs.
30980         * tests/test-memchr.c (main): Ensure proper masking.
30981         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
30982         reads.
30983
30984         memchr: detect glibc Alpha bug
30985         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
30986         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
30987         Alpha.
30988         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
30989         * tests/test-memchr.c (main): Enhance test.
30990         Reported by Nelson H. F. Beebe.
30991
30992 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30993
30994         fts, getcwd, glob: audit for dirfd returning -1
30995         * lib/fts.c (opendir): Remove #define; no longer used.
30996         (opendirat): New arg PDIR_FD.  All callers changed.
30997         (fts_build, _opendir2): Use new opendirat to avoid the need for
30998         dirfd, or for checking whether dirfd returns a negative value.
30999         Don't use opendir; always use openat followed by fdopendir.
31000         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
31001         it.
31002         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
31003         returns -1 here.
31004         * modules/fts (Depends-on): Remove dirfd.
31005         * modules/getcwd (Depends-on): Likewise.
31006
31007 2010-09-13  Eric Blake  <eblake@redhat.com>
31008
31009         float: fix broken MirBSD header
31010         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
31011         * doc/posix-headers/float.texi (float.h): Document it.
31012
31013 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
31014
31015         fts: use O_NOFOLLOW to avoid race condition when opening a directory
31016         * lib/fts.c (opendirat): New arg extra_flags.
31017         (__opendir2): Use it to avoid following symlinks when opening
31018         a directory, if symlinks are not supposed to be followed.  See
31019         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
31020
31021         fdopendir: preserve argument fd before returning
31022         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
31023         (fdopendir_with_dup, fd_clone_opendir): New static functions.
31024         (fdopendir): Use them, arranging for FD to be open to the same
31025         directory that it was when it started.  (It might be temporarily
31026         closed while fdopendir is running, so this not thread- or
31027         signal-safe.)  Be careful to do the right thing even when file
31028         descriptors are scarce and dup fails with errno == EMFILE.  See
31029         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
31030
31031 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
31032
31033         regex: Pass the system regex if its only problem is 32-bit regoff_t.
31034         * NEWS: Document change.
31035         * m4/regex.m4: Disable test for regoff_t size.
31036
31037 2010-09-13  Jim Meyering  <meyering@redhat.com>
31038
31039         fts: don't operate on an invalid file descriptor after failed dup
31040         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
31041         negative file descriptor.
31042
31043 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
31044
31045         savedir: add streamsavedir, deprecate fdsavedir
31046         * NEWS: Mention deprecation of fdsavedir.
31047         * lib/savedir.c (streamsavedir): New extern function, whose name
31048         ends in "savedir" to be consistent with the others.  This differs
31049         from savedirstream in that it doesn't close its argument.  The
31050         next version of GNU tar will use this instead of fdsavedir, to
31051         avoid some race conditions and conserve file descriptors.
31052         (savedirstream): Reimplement as a wrapper around streamsavedir.
31053         (fdsavedir): Add a comment deprecating this function.  As far as
31054         I know, only GNU tar used it, and GNU tar doesn't need it any more.
31055         * lib/savedir.h (streamsavedir): New decl.
31056         (fdsavedir): Add a comment deprecating this.
31057
31058 2010-09-10  Bruno Haible  <bruno@clisp.org>
31059
31060         langinfo: Fix last commit.
31061         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
31062         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
31063         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31064
31065 2010-09-10  Bruno Haible  <bruno@clisp.org>
31066
31067         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
31068         * lib/progreloc.c (O_EXEC): Define fallback.
31069
31070 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
31071
31072         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
31073         * NEWS: Document recent changes to fcntl-h.
31074         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
31075         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
31076         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
31077         Similarly for O_SEARCH; this last was already true, but not documented.
31078         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
31079         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
31080         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
31081         Likewise.
31082         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
31083         is zero, not whether it is defined.
31084         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
31085         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
31086         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
31087
31088 2010-09-10  Bruno Haible  <bruno@clisp.org>
31089
31090         langinfo, nl_langinfo: Fix for IRIX 5.3.
31091         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
31092         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
31093         HAVE_LANGINFO_YESEXPR.
31094         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
31095         HAVE_LANGINFO_YESEXPR.
31096         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
31097         HAVE_LANGINFO_T_FMT_AMPM is 0.
31098         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
31099         HAVE_LANGINFO_YESEXPR is 0.
31100         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
31101         NOEXPR.
31102         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
31103         * doc/posix-functions/nl_langinfo.texi: Likewise.
31104         Reported by Eric Blake.
31105
31106 2010-09-10  Bruno Haible  <bruno@clisp.org>
31107
31108         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
31109         * doc/glibc-functions/login_tty.texi: Mention the include file problem
31110         on FreeBSD 8.0 and OpenBSD 4.6.
31111         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
31112         * m4/pty_h.m4 (gl_PTY_H): Likewise.
31113         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
31114         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
31115         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
31116         ac_includes_default.
31117         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
31118
31119 2010-09-09  Eric Blake  <eblake@redhat.com>
31120
31121         strsignal: work around NetBSD bug
31122         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
31123         * lib/string.in.h (includes): Likewise.
31124         * doc/posix-functions/strsignal.texi (strsignal): Document the
31125         bug.
31126         Reported by Nelson H. F. Beebe.
31127
31128         gnulib-tool: work with NetBSD /bin/sh
31129         * gnulib-tool (func_cache_var, func_cache_lookup_module)
31130         (func_get_description, func_get_comment, func_get_status)
31131         (func_get_notice, func_get_applicability, func_get_filelist)
31132         (func_get_dependencies, func_get_autoconf_early_snippet)
31133         (func_get_autoconf_snippet, func_get_automake_snippet)
31134         (func_get_include_directive, func_get_link_directive)
31135         (func_get_license, func_get_maintainer, func_import): Avoid
31136         shell syntax errors from parsing syntax extensions.
31137
31138 2010-09-09  Bruno Haible  <bruno@clisp.org>
31139
31140         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
31141         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
31142         a reliable way to determine whether the 'alias' command works.
31143
31144 2010-09-08  Jim Meyering  <meyering@redhat.com>
31145
31146         init.sh: penalize a set-x-impaired shell; don't disqualify it
31147         * tests/init.sh: Too many shells corrupt application stderr when
31148         you set -x, so we can't afford to disqualify them, since at least
31149         on Irix-6.5, that would disqualify all bourne shells.
31150         Instead, use a two-pass approach.
31151         On the first pass, try to find a shell that meets the stricter
31152         condition that set -x does not corrupt stderr.
31153         If no shell meets the stricter condition, retest each candidate
31154         shell, but without that extra condition.  Finally, when
31155         VERBOSE=yes is requested and set -x might cause trouble, simply
31156         issue a warning and refrain from enabling debug output.
31157
31158 2010-09-08  Eric Blake  <eblake@redhat.com>
31159
31160         unsetenv: fix OpenBSD bug
31161         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
31162         * doc/posix-functions/unsetenv.texi (unsetenv): Update
31163         documentation.
31164         Reported by Jim Meyering.
31165
31166         strtod: work around IRIX 6.5 bug
31167         * lib/strtod.c (strtod): Reparse number on shorter string if
31168         exponent parse was invalid.
31169         * tests/test-strtod.c (main): Add check for "0x1p 2".
31170         Reported by Tom G. Christensen.
31171
31172         getopt: optimize previous patch
31173         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
31174         empty variable.  Speed up awk script.
31175         Reported by Paolo Bonzini.
31176
31177 2010-09-08  Jim Meyering  <meyering@redhat.com>
31178
31179         test.sh: disqualify shells for which set -x corrupts stderr
31180         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
31181         and OpenBSD 4.7.  They make it so with "set -x", environment settings
31182         appear in stderr output.  For example, this command:
31183             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
31184         prints "P=1" on those two systems:
31185
31186 2010-09-08  Bruno Haible  <bruno@clisp.org>
31187
31188         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
31189         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
31190         commands, because some shells ignore redirections when there is an
31191         error in the command lookup.
31192         Reported by Eric Blake.
31193
31194 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
31195
31196         * lib/regex.h: Fix a mention of `regex_compile' (should be
31197         `re_compile_pattern').
31198         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
31199         (re_set_registers): Correct name of parameter in comment.
31200
31201         * doc/regex.texi: Add documentation for missing syntax flags.
31202         Remove commented-out documentation of defunct syntax option
31203         RE_NO_EMPTY_ALTS.
31204         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
31205         Add documentation of re_set_registers.
31206         Document trick to re-use a pattern buffer by setting fastmap manually.
31207         Update documentation of struct re_pattern_buffer per public members.
31208         Uncomment documentation of equivalence class operators and
31209         collating symbol operators, since they are now implemented,
31210         Explain leftmost-longest matching in relation to alternatives.
31211         Tidy documentation of substring matching.
31212         Remove POSIX documentation, which is done better in
31213         glibc, and refer the reader there. Keep BSD API documentation, as
31214         that is not readily available elsewhere.
31215
31216 2010-09-07  Eric Blake  <eblake@redhat.com>
31217
31218         getopt: handle POSIXLY_CORRECT set but not exported
31219         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
31220         export state of POSIXLY_CORRECT, due to bash set -o posix.
31221         Reported by Dustin J. Mitchell.
31222
31223 2010-09-05  Bruno Haible  <bruno@clisp.org>
31224
31225         gnulib-tool: Highlight the changed options.
31226         * gnulib-tool (func_usage): Display the --import, --add-import,
31227         --remove-import explanations in bold font.
31228
31229 2010-09-06  Karl Berry  <karl@gnu.org>
31230
31231         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
31232
31233 2010-09-05  Bruno Haible  <bruno@clisp.org>
31234
31235         uniwidth/width: Update comment.
31236         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
31237         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
31238
31239 2010-09-05  Bruno Haible  <bruno@clisp.org>
31240
31241         isinf, isnan: Relax license.
31242         * modules/isinf (License): Change from GPL to LGPL, with consent from
31243         Ben Pfaff.
31244         * modules/isnan (License): Likewise.
31245         Requested by Ludovic Courtès.
31246
31247 2010-09-04  Bruno Haible  <bruno@clisp.org>
31248
31249         gnulib-tool: Help migration from --import to --add-import or --update.
31250         * gnulib-tool: Emit a verbose error message when --import is used
31251         without any module name.
31252
31253 2010-09-04  Bruno Haible  <bruno@clisp.org>
31254
31255         Update doc about gnulib-tool.
31256         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
31257         'gnulib-tool --update' in more detail.
31258         Reported by Eric Blake.
31259
31260 2010-09-04  Bruno Haible  <bruno@clisp.org>
31261
31262         gnulib-tool: Change --import. New options --add/remove-import.
31263         * gnulib-tool: New options --add-import, --remove-import.
31264         (func_usage): Document them.
31265         (have_associative): Define always.
31266         (func_import): In import mode, don't merge the specified settings with
31267         the cached settings. Implement remove-import mode.
31268         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
31269         Explain when to use them versus --import.
31270         (Simple update): Use --add-import instead of --import.
31271         * NEWS: Mention the change.
31272
31273 2010-09-04  Bruno Haible  <bruno@clisp.org>
31274
31275         * doc/gnulib-tool.texi (Initial import): Update paragraph about
31276         separate gnulib.mk.
31277
31278 2010-09-04  Bruno Haible  <bruno@clisp.org>
31279
31280         gnulib-tool: Don't talk about CVS any more.
31281         * gnulib-tool (func_usage, func_import): Write "version control"
31282         instead of CVS.
31283
31284 2010-09-04  Jim Meyering  <meyering@redhat.com>
31285
31286         maint.mk: avoid obscure sc_copyright_check failure in coreutils
31287         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
31288         false positives (whose names may be ill-chosen) when searching
31289         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
31290         would cause a false-positive.
31291
31292         avoid coreutils "make distcheck" failure
31293         Coreutils tests with an absolute build directory name that contains
31294         a space.  Not quoting this directory name caused a failure.
31295         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
31296         * tests/test-vc-list-files-cvs.sh: Likewise.
31297
31298 2010-09-04  Bruno Haible  <bruno@clisp.org>
31299
31300         gnulib-tool: Avoid error when run in a package without Makefile.am.
31301         * gnulib-tool: When collecting the m4dirs in a package that does not
31302         have a Makefile.am, eliminate those directories that contain no
31303         gnulib-cache.m4. Fix expression that counts these directories.
31304
31305 2010-09-04  Bruno Haible  <bruno@clisp.org>
31306
31307         update-copyright test: Improve output when perl is missing or too old.
31308         * tests/test-update-copyright.sh: Move test of Perl version down after
31309         the test whether Perl exists. Provide an explanation relating Perl's
31310         error message to Automake's SKIP: message.
31311
31312 2010-09-04  Bruno Haible  <bruno@clisp.org>
31313
31314         Don't augment PATH in TESTS_ENVIRONMENT.
31315         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
31316         set abs_aux_dir instead of augmenting PATH.
31317         * modules/vc-list-files-tests (Makefile.am): Likewise.
31318         * tests/test-update-copyright.sh: Augment PATH here.
31319         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
31320         path_prepend_.
31321         * tests/test-vc-list-files-git.sh: Likewise.
31322
31323 2010-09-04  Jim Meyering  <meyering@redhat.com>
31324
31325         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
31326         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
31327
31328 2010-09-04  Bruno Haible  <bruno@clisp.org>
31329
31330         strdup: Fix compilation error in C++ mode.
31331         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
31332         the macro.
31333
31334 2010-09-04  Bruno Haible  <bruno@clisp.org>
31335
31336         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
31337         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
31338         macro into a function.
31339         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31340
31341 2010-09-04  Bruno Haible  <bruno@clisp.org>
31342
31343         Set PATH_SEPARATOR the same way autoconf does.
31344         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
31345         the value of PATH_SEPARATOR the same way autoconf-generated configure
31346         scripts do.
31347         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
31348         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
31349
31350 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
31351
31352         Set PATH_SEPARATOR the same way autoconf does.
31353         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
31354         the same way autoconf-generated configure scripts do.
31355         * posix-modules: Likewise.
31356
31357 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
31358
31359         hash: fix safe_hasher const typo
31360         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
31361         const; otherwise, there is a type error later.
31362
31363 2010-09-02  Jim Meyering  <meyering@redhat.com>
31364
31365         test-update-copyright.sh: require perl 5.8.0
31366         * tests/test-update-copyright.sh: Require 5.8.0,
31367         which Tom G. Christensen has confirmed is adequate,
31368         while 5.6.1 is not.
31369
31370 2010-09-02  Eric Blake  <eblake@redhat.com>
31371
31372         tests: init.sh improvements for re-exec'ing with zsh
31373         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
31374         -vx through shell re-exec.
31375         Reported by Tom G. Christensen.
31376
31377         wctype: fix typo in previous commit
31378         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
31379         Reported by Ludovic Courtès.
31380
31381 2010-09-02  Jim Meyering  <meyering@redhat.com>
31382
31383         test-update-copyright.sh: skip test if Perl is too old
31384         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
31385         Reported by Tom G. Christensen.
31386
31387 2010-09-02  Bruno Haible  <bruno@clisp.org>
31388
31389         wctype: Avoid compilation error on IRIX 6.5.30.
31390         * lib/wctype.in.h (iswblank): Declare with a replacement if
31391         REPLACE_ISWBLANK is set.
31392         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
31393         declared. Set REPLACE_ISWBLANK.
31394         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
31395         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
31396         * doc/posix-headers/wctype.texi: Likewise.
31397         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31398
31399 2010-09-01  Bruno Haible  <bruno@clisp.org>
31400
31401         New module 'socketlib'.
31402         * modules/socketlib: New file.
31403         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
31404         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
31405         * modules/sockets (Depends-on): Add socketlib.
31406         Suggested by Sam Steingold <sds@gnu.org>.
31407
31408 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
31409
31410         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
31411
31412         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
31413         when one needs search access to a directory but not read access.
31414         On systems where it is available, it works in some cases where
31415         O_RDONLY does not, namely on directories that are searchable but
31416         not readable, and which need only to be searchable.  If O_SEARCH
31417         is not available, fall back to the traditional method of using
31418         O_RDONLY.
31419
31420         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
31421         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
31422         when opening a directory that needs only to be searchable.
31423         * lib/chdir-safer.c (chdir_no_follow): Likewise.
31424         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
31425         * lib/openat-proc.c (openat_proc_name): Likewise.
31426         * lib/openat.c (openat_needs_fchdir): Likewise.
31427         * lib/save-cwd.c (save_cwd): Likewise.
31428         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
31429
31430 2010-08-28  Bruno Haible  <bruno@clisp.org>
31431
31432         New module 'host-cpu-c-abi'.
31433         * modules/host-cpu-c-abi: New file.
31434         * m4/host-cpu-c-abi.m4: New file, based on part of
31435         clisp/src/m4/general.m4.
31436         Requested by Sam Steingold <sds@gnu.org>.
31437
31438 2010-08-31  Eric Blake  <eblake@redhat.com>
31439         and Jim Meyering  <meyering@redhat.com>
31440
31441         hash: factor, and guard against misbehaving hasher function
31442         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
31443         of table->hasher's return value.  Also protect against a hash value
31444         so large that adding it to table->bucket results in a NULL pointer.
31445         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
31446         Use it in place of open-coded check-and-abort.
31447
31448 2010-08-30  Bruno Haible  <bruno@clisp.org>
31449
31450         hash: silence spurious clang warning
31451         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
31452         Reported by Eric Blake.
31453
31454 2010-08-30  Eric Blake  <eblake@redhat.com>
31455
31456         strstr, memmem, strcasestr: avoid leaked shell message
31457         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
31458         FreeBSD.
31459         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
31460         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
31461
31462         tests: silence clang warning
31463         * tests/test-malloca.c (do_allocation): Avoid dead store.
31464
31465 2010-08-29  Bruno Haible  <bruno@clisp.org>
31466
31467         gettext: Fix recent mistake.
31468         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
31469
31470 2010-08-29  Bruno Haible  <bruno@clisp.org>
31471
31472         selinux-h: Offer a --without-selinux option.
31473         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
31474         --without-selinux was specified, skip all tests and define
31475         HAVE_SELINUX_SELINUX_H to 0.
31476         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
31477         set LIB_SELINUX to empty.
31478         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
31479         gl_LIBSELINUX. If --without-selinux was specified, replace
31480         selinux/context.h.
31481         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
31482
31483 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
31484             Bruno Haible  <bruno@clisp.org>
31485
31486         Make the module 'realloc-gnu' work again on AIX and OSF/1.
31487         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
31488         of HAVE_REALLOC.
31489         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
31490         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
31491         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
31492         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
31493
31494 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
31495             Bruno Haible  <bruno@clisp.org>
31496
31497         Make the module 'calloc-gnu' work again on AIX and OSF/1.
31498         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
31499         HAVE_CALLOC.
31500         * lib/xmalloc.c: Update accordingly.
31501         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
31502         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
31503         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
31504
31505 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
31506             Bruno Haible  <bruno@clisp.org>
31507
31508         Make the module 'malloc-gnu' work again on AIX and OSF/1.
31509         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
31510         HAVE_MALLOC.
31511         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
31512         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
31513         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
31514
31515 2010-08-29  Bruno Haible  <bruno@clisp.org>
31516
31517         Update modules list.
31518         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
31519         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
31520         (String handling <string.h>): Add astrxfrm.
31521         (File system functions): Add readlinkat.
31522
31523 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31524
31525         Tests for module 'realloc-gnu'.
31526         * modules/realloc-gnu-tests: New file.
31527         * tests/test-realloc-gnu.c: New file.
31528
31529         Tests for module 'calloc-gnu'.
31530         * modules/calloc-gnu-tests: New file.
31531         * tests/test-calloc-gnu.c: New file.
31532
31533         Tests for module 'malloc-gnu'.
31534         * modules/malloc-gnu-tests: New file.
31535         * tests/test-malloc-gnu.c: New file.
31536
31537 2010-08-28  Bruno Haible  <bruno@clisp.org>
31538
31539         Rename module 'realloc' -> 'realloc-gnu'.
31540         * modules/realloc-gnu: New file, copied from modules/realloc.
31541         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
31542         obsolete.
31543         * modules/mgetgroups (Depends-on): Update.
31544         * doc/posix-functions/realloc.texi: Update.
31545         * NEWS: Mention the change.
31546
31547         Rename module 'calloc' -> 'calloc-gnu'.
31548         * modules/calloc-gnu: New file, copied from modules/calloc.
31549         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
31550         obsolete.
31551         * doc/posix-functions/calloc.texi: Update.
31552         * NEWS: Mention the change.
31553
31554         Rename module 'malloc' -> 'malloc-gnu'.
31555         * modules/malloc-gnu: New file, copied from modules/malloc.
31556         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
31557         obsolete.
31558         * modules/argp (Depends-on): Update.
31559         * modules/regex (Depends-on): Update.
31560         * doc/posix-functions/malloc.texi: Update.
31561         * NEWS: Mention the change.
31562
31563 2010-08-28  Eric Blake  <eblake@redhat.com>
31564
31565         pread, pwrite: add missing dependency
31566         * modules/pread (Depends-on): Add extensions.
31567         * modules/pwrite (Depends-on): Likewise.
31568
31569 2010-08-28  Bruno Haible  <bruno@clisp.org>
31570
31571         unistr/u*-strchr: Fix tests dependencies.
31572         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
31573         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
31574         Reported by Ian Beckwith <ianb@erislabs.net>.
31575
31576 2010-08-28  Bruno Haible  <bruno@clisp.org>
31577
31578         read-file: Don't occupy too much unused memory.
31579         * lib/read-file.c (fread_file): Shrink the buffer at the end.
31580
31581 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
31582             Eric Blake  <eblake@redhat.com>
31583             Bruno Haible  <bruno@clisp.org>
31584
31585         read-file: Avoid memory reallocations with regular files.
31586         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
31587         (fread_file): With regular files, use the remaining length as the
31588         initial buffer size.  Check against overflow.
31589         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
31590         sys_stat.
31591
31592 2010-08-28  Bruno Haible  <bruno@clisp.org>
31593
31594         ftello: Relax license.
31595         * modules/ftello (License): Relax to LGPLv2+.
31596         Reported by Eric Blake.
31597
31598 2010-08-28  Bruno Haible  <bruno@clisp.org>
31599
31600         Avoid relocwrapper link errors due to gnulib replacement functions.
31601         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
31602         function.
31603         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31604
31605 2010-08-28  Bruno Haible  <bruno@clisp.org>
31606
31607         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
31608         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
31609         defined.
31610         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
31611         Suggested by Eric Blake.
31612
31613 2010-08-28  Bruno Haible  <bruno@clisp.org>
31614
31615         sys_socket, netdb: Ensure socklen_t gets defined.
31616         * modules/sys_socket (Depends-on): Add socklen.
31617         * modules/netdb (Depends-on): Likewise.
31618         * modules/getaddrinfo (Depends-on): Remove socklen.
31619         * modules/getsockopt (Depends-on): Likewise.
31620         * modules/setsockopt (Depends-on): Likewise.
31621         * tests/test-sys_socket.c: Check that socklen_t is defined.
31622         * tests/test-netdb.c: Likewise.
31623         * m4/socklen.m4: Update comments.
31624         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31625
31626 2010-08-27  Eric Blake  <eblake@redhat.com>
31627
31628         login_tty: add missing dependency
31629         * modules/login_tty (Depends-on): Add pty.
31630
31631 2010-08-26  Eric Blake  <eblake@redhat.com>
31632
31633         lib-symbol-versions: fix m4 quoting
31634         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
31635         format for AC_LINK_IFELSE.
31636
31637         glob: fix compile test
31638         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
31639
31640         btowc: fix missing file
31641         * modules/btowc (Files): Also ship locale-fr.m4.
31642
31643         lseek: fix link test
31644         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
31645         AC_LINK_IFELSE.
31646
31647         include_next: silence autoconf 2.68 warning
31648         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
31649         AC_COMPILE_IFELSE as special.
31650         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
31651         autoconf < 2.68.
31652
31653         acl: fix compilation test
31654         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
31655         AC_COMPILE_IFELSE.
31656
31657 2010-08-26  Bruno Haible  <bruno@clisp.org>
31658
31659         Modernize AC_TRY_RUN invocations.
31660         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
31661         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
31662         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
31663         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
31664         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
31665         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31666         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
31667         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
31668         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31669         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
31670         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
31671         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
31672         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
31673         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31674         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
31675         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
31676         gl_MBRLEN_NUL_RETVAL): Likewise.
31677         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
31678         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
31679         Likewise.
31680         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
31681         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
31682         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
31683         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
31684         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
31685         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
31686         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
31687         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
31688         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
31689         Likewise.
31690         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
31691         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
31692         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
31693         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31694         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31695         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
31696         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
31697         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
31698         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
31699         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
31700
31701 2010-08-26  Bruno Haible  <bruno@clisp.org>
31702
31703         Modernize AC_TRY_LINK invocations.
31704         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
31705         AC_TRY_LINK.
31706         * m4/argp.m4 (gl_ARGP): Likewise.
31707         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
31708         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31709         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
31710         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
31711         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
31712         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
31713         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
31714         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
31715         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
31716         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
31717         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
31718         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
31719         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
31720         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31721         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31722         * m4/hostent.m4 (gl_HOSTENT): Likewise.
31723         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
31724         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
31725         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
31726         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
31727         Likewise.
31728         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
31729         Likewise.
31730         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
31731         Likewise.
31732         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
31733         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
31734         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
31735         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
31736         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
31737         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31738         * m4/servent.m4 (gl_SERVENT): Likewise.
31739         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
31740         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
31741         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
31742         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
31743         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31744         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
31745         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31746         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31747         * modules/tsearch-tests (configure.ac): Likewise.
31748
31749 2010-08-26  Bruno Haible  <bruno@clisp.org>
31750
31751         Modernize AC_TRY_COMPILE invocations.
31752         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
31753         AC_TRY_COMPILE.
31754         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
31755         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
31756         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
31757         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
31758         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
31759         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31760         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31761         * m4/lock.m4 (gl_LOCK): Likewise.
31762         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
31763         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31764         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
31765         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
31766         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
31767         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
31768         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
31769         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
31770         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
31771         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
31772         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
31773         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31774         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
31775         extraneous semicolon.
31776
31777 2010-08-26  Jim Meyering  <meyering@redhat.com>
31778
31779         stat-time: relax license LGPL
31780         * modules/stat-time (License): Change from GPL to LGPL,
31781         with consent from all contributors, for use in libguile.
31782         Requested by Ludovic Courtès.
31783
31784 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
31785
31786         poll: return immediately on POLLHUP.
31787         * lib/poll.c (poll): Always set timeout before wait_timeout is
31788         computed.
31789
31790 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31791
31792         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
31793         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
31794         rmdir ("dir/.//"), unlinkat.
31795
31796 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
31797
31798         stdbool: avoid spurious failure with modern xlc
31799         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31800
31801 2010-08-24  Bruno Haible  <bruno@clisp.org>
31802
31803         getloadavg: simplify code
31804         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
31805         gl_have_func. Update comments.
31806
31807 2010-08-24  Eric Blake  <eblake@redhat.com>
31808
31809         getloadavg: don't define SVR4 on cygwin
31810         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
31811         only define SVR4 when -lkvm is required.
31812         Reported by Yaakov Selkowitz.
31813
31814 2010-08-24  Bruno Haible  <bruno@clisp.org>
31815
31816         priv-set: fix comment
31817         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
31818
31819 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
31820
31821         priv-set: fix comments
31822         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
31823         to match code, as suggested by David Bartley in:
31824         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
31825
31826 2010-08-23  Eric Blake  <eblake@redhat.com>
31827
31828         stdbool: avoid rejecting clang
31829         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31830         * tests/test-stdbool.c: Enable more tests if using the system
31831         <stdbool.h> instead of the gnulib replacement.
31832         (main): Move xlc bug test to a runtime test for all compilers.
31833         Reported by Anders Kaseorg.
31834
31835         argz: fix shell quoting issue
31836         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
31837         Reported by Charles Wilson.
31838
31839 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
31840             Erik Faye-Lund <kusmabite@gmail.com>
31841
31842         poll, select: handle ERROR_BROKEN_PIPE.
31843         * lib/poll.c (win32_compute_revents): Return POLLHUP when
31844         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31845         * lib/select.c (win32_compute_revents): Do not mark a pipe
31846         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31847
31848 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
31849
31850         fts: allow compilation with C++
31851         * lib/fts_.h: Specify extern "C" linkage with C++.
31852
31853 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31854
31855         Fix gnulib-tool sed script de-commentation for AIX sed.
31856         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
31857         sed.
31858
31859 2010-08-17  Eric Blake  <eblake@redhat.com>
31860
31861         test-stddef: test for (some) offsetof bugs
31862         * tests/test-stddef.c: Enhance test to ensure correct type of
31863         offsetof.
31864         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
31865         that we are not fixing at this time.
31866
31867 2010-08-15  Bruno Haible  <bruno@clisp.org>
31868
31869         stpncpy: Allow stpncpy to be defined as a macro.
31870         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
31871         if it's already correctly declared.
31872         * lib/string.in.h (stpncpy): Undefine before redefining.
31873         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
31874
31875 2010-08-14  Bruno Haible  <bruno@clisp.org>
31876
31877         Rename module 'memxfrm' to 'amemxfrm'.
31878         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
31879         (amemxfrm): Renamed from memxfrm.
31880         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
31881         (amemxfrm): Renamed from memxfrm.
31882         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
31883         * NEWS: Mention the change.
31884         * MODULES.html.sh (String handling <string.h>): Update.
31885         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
31886         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
31887         * lib/unicase/u16-casexfrm.c: Likewise.
31888         * lib/unicase/u32-casexfrm.c: Likewise.
31889         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
31890         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
31891         * lib/uninorm/u16-normxfrm.c: Likewise.
31892         * lib/uninorm/u32-normxfrm.c: Likewise.
31893         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
31894         memxfrm.
31895         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
31896         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
31897         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
31898         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
31899         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
31900         Suggested by Paul Eggert.
31901
31902 2010-08-14  Bruno Haible  <bruno@clisp.org>
31903
31904         Tests for module 'astrxfrm'.
31905         * modules/astrxfrm-tests: New file.
31906         * tests/test-astrxfrm.c: New file.
31907
31908         New module 'astrxfrm'.
31909         * lib/astrxfrm.h: New file.
31910         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
31911         * modules/astrxfrm: New file.
31912
31913 2010-08-14  Reuben Thomas <rrt@sc3d.org>
31914
31915         regex: Tweak doc.
31916         * doc/regex.texi (Overview): Don't mention regex.c.
31917         (GNU Regular Expression Compiling): Likewise.
31918         (Match-end-of-line Operator): Mention 'not_eol'.
31919
31920 2010-08-14  Brian Gough  <bjg@gnu.org>
31921             Bruno Haible  <bruno@clisp.org>
31922
31923         git-merge-changelog: add doc relating to use with bzr and hg.
31924         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
31925
31926 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
31927
31928         pthread: fix pthread.h creation for srcdir != builddir
31929         * modules/pthread (Makefile.am): Fix the rule to work also in a
31930         non-srcdir build.
31931
31932 2010-08-13  Karl Berry  <karl@gnu.org>
31933
31934         * doc/regex.texi (Predefined Syntaxes): @smallexample.
31935         * doc/posix-*/*: force line break before @url of POSIX
31936         specifications.
31937         Suggested by Werner Lemberg.
31938
31939 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
31940
31941         strtod: fix const diagnostic
31942         * lib/strtod.c (strtod): Don't assign const char * to char *,
31943         as this elicits a warning from GCC when warnings are enabled.
31944
31945 2010-08-10  Pádraig Brady <P@draigbrady.com>
31946         and Eric Blake  <eblake@redhat.com>
31947
31948         copy-acl: ignore ENOTSUP on HP-UX
31949         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
31950         so that it is available for HP-UX.
31951         * lib/copy-acl.c (qcopy_acl): Use it.
31952         Reported by Patrick M. Callahan.
31953
31954 2010-08-10  Eric Blake  <eblake@redhat.com>
31955
31956         open, chown: relax license
31957         * modules/open (License): Change to LGPLv2+, with consent by all
31958         authors, for use in augeas.
31959         * modules/chown (License): Likewise.
31960         * modules/lchown (Likewise): Likewise.
31961         Requested by Adam Stokes.
31962
31963 2010-08-09  Karl Berry  <karl@gnu.org>
31964
31965         * build-aux/ar-lib: new file, import from Automake.
31966         * config/srclist.txt: autocheck for updates.
31967
31968 2010-08-09  Eric Blake  <eblake@redhat.com>
31969
31970         readlinkat: adjust client modules
31971         * modules/areadlinkat (Depends-on): Use readlinkat, not
31972         symlinkat.
31973         * modules/areadlinkat-with-size (Depends-on): Likewise.
31974
31975         mknod: be more vocal about danger of running tests as root
31976         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
31977         root, since that is just asking for problems.
31978         Suggested by Bruno Haible, based on a report by Rainer Tammer.
31979
31980         readlinkat: split into its own module
31981         * modules/symlinkat: Split readlinkat...
31982         * modules/readlinkat: ...into separate module.
31983         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
31984         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
31985         * lib/symlinkat.c (readlinkat): Move...
31986         * lib/readlinkat.c: ...into new file.
31987         * modules/symlinkat-tests: Split readlinkat test...
31988         * modules/readlinkat-tests: ...into separate module.
31989         * tests/test-symlinkat.c: Split...
31990         * tests/test-readlinkat.c: ...into new file.
31991         * NEWS: Document the split.
31992         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31993         * lib/unistd.in.h (readlinkat): Likewise.
31994         Suggested by Bruno Haible.
31995
31996 2010-08-08  Bruno Haible  <bruno@clisp.org>
31997
31998         memxfrm: Speed up.
31999         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
32000         that usually only one call to strxfrm is necessary for each string
32001         part.
32002         Reported by Paul Eggert <eggert@cs.ucla.edu>.
32003
32004 2010-08-07  Karl Berry  <karl@gnu.org>
32005
32006         * doc/posix-headers/limits.texi,
32007         * doc/posix-functions/malloc.texi,
32008         * doc/posix-functions/strsignal.texi: missing @item.
32009         * doc/ld-version-script.texi: spurious leading i.
32010         * doc/regex.texi (Interval Operators): no commas inside @var.
32011
32012 2010-08-01  Bruno Haible  <bruno@clisp.org>
32013
32014         Integrate the regex documentation.
32015         * doc/gnulib.texi: Define 'cn' index.
32016         (Regular expressions): New a chapter that includes regex.texi and
32017         regexprops-generic.texi.
32018         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
32019         syntax.
32020
32021         Whitespace cleanup.
32022         * doc/regex.texi: Remove trailing spaces.
32023
32024         Add regex documentation.
32025         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
32026         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
32027         Written by Kathy A. Hargreaves and Karl Berry.
32028
32029 2010-08-01  Bruno Haible  <bruno@clisp.org>
32030
32031         link: Update documentation.
32032         * doc/posix-functions/link.texi: Update regarding Solaris.
32033
32034 2010-07-31  Bruno Haible  <bruno@clisp.org>
32035
32036         Update modules list.
32037         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
32038         (String handling <string.h>): Add memcmp2, memxfrm.
32039         (Container data structures): Add xlist, xsublist, xoset.
32040         (Core language properties): Add alignof, unused-parameter.
32041         (Process control, Numeric conversion functions <stdlib.h>): Renamed
32042         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
32043         (Unibyte characters <ctype.h>): New section.
32044         (String handling <string.h>): New section.
32045         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
32046         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
32047         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
32048         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
32049         tan, tanh, tanl, y0, y1, yn.
32050         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
32051         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
32052         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
32053         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
32054         unlockpt, vdprintf, vdprintf-posix.
32055         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
32056         (File system functions): Add concat-filename, sys_file, sys_ioctl,
32057         xconcat-filename.
32058         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
32059         getdtablesize, pipe2, pipe2-safer.
32060         (Security): New section.
32061         (Networking functions): Add accept4.
32062         (Signal handling): Add sigpipe.
32063         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
32064         mbmemcasecoll.
32065         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
32066         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
32067         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
32068         pipe-filter-ii.
32069         (Misc): Add argp-version-etc, login_tty, parse-duration.
32070
32071 2010-07-31  Bruno Haible  <bruno@clisp.org>
32072
32073         Improve doc in MODULES.html.
32074         * modules/linkat (Description): Add the word "function".
32075         * modules/mkfifo (Description): Likewise.
32076         * modules/mknod (Description): Likewise.
32077         * modules/remove (Description): Likewise.
32078         * modules/renameat (Description): Likewise.
32079         * modules/stat (Description): Likewise.
32080         * modules/symlink (Description): Likewise.
32081         * modules/unlink (Description): Likewise.
32082
32083 2010-07-31  Bruno Haible  <bruno@clisp.org>
32084
32085         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
32086         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
32087         option --enable/disable-c++ instead of --enable/disable-cxx.
32088         * NEWS: Mention the change.
32089
32090 2010-07-31  Bruno Haible  <bruno@clisp.org>
32091
32092         readlink, areadlink: Relax test a bit.
32093         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
32094         alternative to ENOTDIR.
32095         * tests/test-areadlink.h (test_areadlink): Likewise.
32096         Reported by Rainer Tammer.
32097
32098 2010-07-31  Bruno Haible  <bruno@clisp.org>
32099
32100         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
32101         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
32102         character, perform the search using U_STRCHR.
32103         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
32104         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
32105         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
32106         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
32107         Suggested by Paolo Bonzini.
32108
32109 2010-07-31  Bruno Haible  <bruno@clisp.org>
32110
32111         unistr/u*-strstr: Fix dependencies.
32112         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
32113         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
32114         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
32115
32116 2010-07-31  Bruno Haible  <bruno@clisp.org>
32117
32118         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
32119         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
32120         the beginning of the loop.
32121         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
32122         cases in 'switch' statement.
32123
32124         unistr/u8-strchr: Fix several bugs.
32125         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
32126         the string. When not found, return NULL, not a pointer near the end.
32127
32128         More tests for unistr/u8-strchr.
32129         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
32130         that the function does not read past the first occurrence of the byte
32131         being searched.
32132         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
32133         * tests/unistr/test-u16-strchr.c (main): New function.
32134         * tests/unistr/test-u32-strchr.c (main): New function.
32135
32136 2010-07-31  Bruno Haible  <bruno@clisp.org>
32137
32138         posix-modules: Ignore backup files of documentation files.
32139         * posix-modules: grep only through files named *.texi.
32140
32141 2010-07-31  Bruno Haible  <bruno@clisp.org>
32142
32143         symlinkat: Fix documentation.
32144         * doc/posix-functions/readlinkat.texi: Fix module name.
32145
32146 2010-07-31  Bruno Haible  <bruno@clisp.org>
32147
32148         fchownat: Replace also when chown has the trailing slash bug.
32149         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
32150         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
32151         introduced on 2010-04-10.
32152         Reported by Rainer Tammer.
32153
32154 2010-07-31  Bruno Haible  <bruno@clisp.org>
32155
32156         linkat: Work around AIX 7.1 bug.
32157         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
32158         whether linkat handles trailing slash correctly. If not, replace linkat
32159         and define LINKAT_TRAILING_SLASH_BUG.
32160         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
32161         check whether (fd1,file1) points to a directory if file1 or file2 ends
32162         in a slash. Code taken from lib/link.c.
32163         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
32164         Reported by Rainer Tammer.
32165
32166 2010-07-31  Bruno Haible  <bruno@clisp.org>
32167
32168         Correctly determine whether pow is available in libc on AIX 7 with xlc.
32169         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
32170         This disables an xlc optimization that was causing wrong test results.
32171         Reported by Rainer Tammer.
32172
32173 2010-07-31  Bruno Haible  <bruno@clisp.org>
32174
32175         iconv: Work around AIX 6.1..7.1 bug.
32176         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
32177         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
32178         cross-compiling, guess no on all versions of AIX.
32179         Reported by Rainer Tammer.
32180
32181 2010-07-31  Bruno Haible  <bruno@clisp.org>
32182
32183         readlink: Relax test a bit.
32184         * tests/test-readlink.h (test_readlink): Allow different errno value
32185         when readlink is called with a file name that ends in / and refers to
32186         a file.
32187         Suggested by Eric Blake.
32188         Reported by Rainer Tammer.
32189
32190 2010-07-31  Bruno Haible  <bruno@clisp.org>
32191
32192         copysign: Does not require -lm on glibc systems.
32193         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
32194         gl_COMMON_DOUBLE_MATHFUNC.
32195         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
32196
32197 2010-07-31  Bruno Haible  <bruno@clisp.org>
32198
32199         duplocale: Work around AIX 7.1 bug.
32200         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
32201         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
32202         * lib/duplocale.c (rpl_duplocale): Update comment.
32203         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
32204         Reported by Rainer Tammer.
32205
32206 2010-07-30  Bruno Haible  <bruno@clisp.org>
32207
32208         dirfd: Avoid link error on AIX 7.1.
32209         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
32210         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
32211         exist, set REPLACE_DIRFD.
32212         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
32213         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
32214         * doc/posix-functions/dirfd.texi: Update.
32215         Reported by Rainer Tammer.
32216
32217 2010-07-30  Eric Blake  <eblake@redhat.com>
32218
32219         strtod: next round of AIX fixes
32220         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
32221         exponent.
32222         * tests/test-strtod.c (main): Enhance tests.
32223         * doc/posix-functions/strtod.texi (strtod): Document next bug.
32224         Reported by Rainer Tammer.
32225
32226         futimens: fix configure check
32227         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
32228         Reported by Bruno Haible.
32229
32230 2010-07-30  Bruno Haible  <bruno@clisp.org>
32231
32232         getline: Update regarding AIX.
32233         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
32234         Reported by Rainer Tammer.
32235
32236 2010-07-30  Bruno Haible  <bruno@clisp.org>
32237
32238         wcwidth: Drop replacement on AIX 7.
32239         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
32240         AIX 7.
32241         Reported by Rainer Tammer.
32242
32243 2010-07-30  Bruno Haible  <bruno@clisp.org>
32244
32245         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
32246         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
32247         a 'char *'.
32248         Reported by Rainer Tammer.
32249
32250 2010-07-30  Bruno Haible  <bruno@clisp.org>
32251
32252         unlink: Update regarding AIX.
32253         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
32254         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
32255         Reported by Rainer Tammer.
32256
32257 2010-07-30  Bruno Haible  <bruno@clisp.org>
32258
32259         symlink: Update regarding AIX.
32260         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
32261         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
32262         Reported by Rainer Tammer.
32263
32264 2010-07-30  Bruno Haible  <bruno@clisp.org>
32265
32266         strndup: Update regarding AIX.
32267         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
32268         AIX 7.
32269         Reported by Rainer Tammer.
32270
32271 2010-07-30  Bruno Haible  <bruno@clisp.org>
32272
32273         stat: Update regarding AIX.
32274         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
32275         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
32276         Reported by Rainer Tammer.
32277
32278 2010-07-30  Bruno Haible  <bruno@clisp.org>
32279
32280         truncl: Fix autoconf test.
32281         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
32282         whether truncl works.
32283         Reported by Rainer Tammer.
32284
32285 2010-07-30  Bruno Haible  <bruno@clisp.org>
32286
32287         round: Update regarding AIX.
32288         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
32289         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
32290         Reported by Rainer Tammer.
32291
32292 2010-07-30  Bruno Haible  <bruno@clisp.org>
32293
32294         rename: Update regarding AIX.
32295         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
32296         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
32297         Reported by Rainer Tammer.
32298
32299 2010-07-30  Bruno Haible  <bruno@clisp.org>
32300
32301         printf.m4: Update regarding AIX.
32302         * m4/printf.m4: Update comments regarding AIX.
32303         Reported by Rainer Tammer.
32304
32305 2010-07-30  Bruno Haible  <bruno@clisp.org>
32306
32307         iconv: Update regarding AIX.
32308         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
32309         AIX 7.
32310         Reported by Rainer Tammer.
32311
32312 2010-07-30  Bruno Haible  <bruno@clisp.org>
32313
32314         getopt: Update regarding AIX.
32315         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
32316         no on AIX.
32317         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
32318         Reported by Rainer Tammer.
32319
32320 2010-07-30  Bruno Haible  <bruno@clisp.org>
32321
32322         ldexpl; Update regarding AIX.
32323         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
32324         on AIX 7.
32325         Reported by Rainer Tammer.
32326
32327 2010-07-30  Bruno Haible  <bruno@clisp.org>
32328
32329         frexpl: Update regarding AIX.
32330         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
32331         on AIX 7.
32332         Reported by Rainer Tammer.
32333
32334 2010-07-30  Bruno Haible  <bruno@clisp.org>
32335
32336         open, fopen: Update regarding AIX.
32337         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
32338         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
32339         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
32340         * doc/posix-functions/fopen.texi: Likewise.
32341         Reported by Rainer Tammer.
32342
32343 2010-07-30  Bruno Haible  <bruno@clisp.org>
32344
32345         chown: Update doc regarding AIX.
32346         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
32347         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
32348         Reported by Rainer Tammer.
32349
32350 2010-07-30  Eric Blake  <eblake@redhat.com>
32351
32352         strtod: fix bug in replacement function on AIX
32353         * lib/strtod.c (strtod): Special case broken "0x" parse in
32354         underlying strtod.
32355         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
32356         * doc/posix-functions/strtod.texi (strtod): Likewise.
32357         Reported by Rainer Tammer.
32358
32359 2010-07-30  Bruno Haible  <bruno@clisp.org>
32360
32361         mbrlen: Fix cross-compilation guess for AIX.
32362         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
32363         guess. Leftover from 2008-12-22.
32364
32365 2010-07-30  Bruno Haible  <bruno@clisp.org>
32366
32367         mbrtowc: Fix cross-compilation guess for AIX.
32368         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
32369         guess. Leftover from 2008-12-21.
32370
32371 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
32372
32373         init.sh: work around trap limitation of some shells
32374         * tests/init.sh (setup_): Move exit trap outside of shell function.
32375
32376 2010-07-29  Eric Blake  <eblake@redhat.com>
32377
32378         strtod: aid debugging
32379         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
32380         understanding why strtod is rejected.
32381
32382 2010-07-28  Bruno Haible  <bruno@clisp.org>
32383
32384         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
32385         * lib/unistr/u8-chr.c: Include <string.h>.
32386         * tests/unistr/test-u8-chr.c: Likewise.
32387         * tests/unistr/test-u16-chr.c: Likewise.
32388         * tests/unistr/test-u32-chr.c: Likewise.
32389         * tests/unistr/test-u8-strchr.c: Likewise.
32390         * tests/unistr/test-u16-strchr.c: Likewise.
32391         * tests/unistr/test-u32-strchr.c: Likewise.
32392         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
32393         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
32394         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
32395         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
32396
32397 2010-07-28  Bruno Haible  <bruno@clisp.org>
32398
32399         Use spaces for indentation, not tabs.
32400         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
32401
32402 2010-07-27  Bruno Haible  <bruno@clisp.org>
32403
32404         mbspcasecmp: Fix function specification.
32405         * lib/string.in.h (mbspcasecmp): Fix specification comment.
32406         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
32407         Reported by Eric Blake <eblake@redhat.com>.
32408
32409 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
32410
32411         timespec: use cast and not conditional, as truncation isn't possible
32412         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
32413         instead of a conditional.  Comment about the situation in more detail.
32414         This undoes most of the 2009-10-29 patch.
32415
32416 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
32417
32418         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
32419         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
32420         * lib/unistr/u8-strchr.c: Likewise.
32421         * modules/unistr/u8-chr: Depend on memchr.
32422
32423         unistr/u*-strchr: add tests
32424         * modules/unistr/u8-strchr-tests: New file.
32425         * modules/unistr/u16-strchr-tests: New file.
32426         * modules/unistr/u32-strchr-tests: New file.
32427         * tests/unistr/test-strchr.h: New file.
32428         * tests/unistr/test-u8-strchr.c: New file.
32429         * tests/unistr/test-u16-strchr.c: New file.
32430         * tests/unistr/test-u32-strchr.c: New file.
32431
32432         unistr/u*-chr: test multibyte sequences more
32433         * tests/unistr/test-chr.h: Do complete testing of the characters in the
32434         test vector.
32435         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
32436         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
32437         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
32438
32439         unistr/u*-chr: test multibyte sequences
32440         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
32441
32442         unistr/u*-chr: prepare for multibyte tests
32443         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
32444         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
32445         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
32446         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
32447         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
32448         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
32449
32450 2010-07-18  Bruno Haible  <bruno@clisp.org>
32451
32452         unistr/u8-strchr: Optimize non-ASCII argument case.
32453         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
32454         because the first byte often matches anyway.
32455         Reported by Pádraig Brady <P@draigbrady.com>.
32456
32457 2010-07-15  Karl Berry  <karl@gnu.org>
32458
32459         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
32460
32461 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
32462
32463         getcwd: on Solaris, work better if ancestors are inaccessible
32464         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
32465         buffer and size, try again with a large buffer.  This works better
32466         on Solaris, since its getcwd succeeds even if the path to the root
32467         is inaccessible, and this is helpful in common cases such as .zfs
32468         hidden directories.  Problem reported by J Chapman Flack in
32469         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
32470         Use system getcwd if it's declared, not merely if it's partly
32471         working; use the partly-working test only to avoid needless effort
32472         if the system getcwd fails.
32473         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
32474         comment that was already obsolete and is now even more obsolete.
32475         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
32476         now might call strdup.
32477
32478 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
32479
32480         pthread: Add enough so that coreutils/src/sort.c compiles.
32481         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
32482         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
32483         gnulib. Include <sched.h> and <time.h>, as per POSIX.
32484         Include <sys/types.h>, in case it defines pthread_t.
32485         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
32486         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
32487         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
32488         (pthread_rwlockattr_t, pthread_spinlock_t):
32489         New typedefs, if HAVE_PTHREAD_T is not defined.
32490         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
32491         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
32492         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
32493         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
32494         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
32495         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
32496         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
32497         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
32498         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
32499         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
32500         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
32501         New macros.
32502         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
32503         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
32504         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
32505         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
32506         (pthread_spin_unlock): New dummy functions.
32507         (pthread_create): Return EAGAIN; don't set errno.
32508         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
32509         require AC_C_INLINE.
32510         * modules/pthread (Depends-on): Add sched, time.
32511         (pthread.h): Use AM_V_GEN.
32512
32513 2010-07-13  Bruno Haible  <bruno@clisp.org>
32514
32515         striconveh: Don't malloc memory if the result buffer is sufficient.
32516         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
32517         buffer if its size is sufficient.
32518         Reported by Ludovic Courtès <ludo@gnu.org>.
32519
32520 2010-07-13  Bruno Haible  <bruno@clisp.org>
32521
32522         strtod: Add safety check.
32523         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
32524
32525 2010-07-12  Bruno Haible  <bruno@clisp.org>
32526
32527         Unify tests that set gl_cv_func_ldexpl_no_libm.
32528         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
32529         gl_FUNC_LDEXPL.
32530         (gl_FUNC_LDEXPL): Invoke it.
32531         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32532
32533 2010-07-12  Bruno Haible  <bruno@clisp.org>
32534
32535         Unify tests that set gl_cv_func_ldexp_no_libm.
32536         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
32537         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
32538         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
32539         (configure.ac): Simply invoke gl_FUNC_LDEXP.
32540         * modules/strtod (Files): Add m4/ldexp.m4.
32541
32542 2010-07-12  Bruno Haible  <bruno@clisp.org>
32543
32544         Unify tests that set gl_cv_func_frexpl_no_libm.
32545         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
32546         gl_FUNC_FREXPL_NO_LIBM.
32547         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
32548         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32549
32550 2010-07-12  Bruno Haible  <bruno@clisp.org>
32551
32552         Unify tests that set gl_cv_func_frexp_no_libm.
32553         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
32554         gl_FUNC_FREXP_NO_LIBM.
32555         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
32556         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
32557
32558 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
32559
32560         memcoll: clarify sizes versus lengths, document better, and tweak perf
32561         * lib/memcoll.c (strcoll_loop, memcoll0):
32562         Improve quality of descriptive comments.  Name variables
32563         consistently as to whether they are lengths (which do not include
32564         terminating null) versus sizes (which do).
32565         * lib/xmemcoll.c (xmemcoll0): Likewise.
32566         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
32567         returned when s1size == 0; this is easier to compile and saves
32568         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
32569
32570 2010-07-12  Bruno Haible  <bruno@clisp.org>
32571
32572         Tests for module '_Exit'.
32573         * modules/_Exit-tests: New file.
32574         * tests/test-_Exit.sh: New file.
32575         * tests/test-_Exit.c: New file.
32576
32577         New module '_Exit'.
32578         * lib/stdlib.in.h (__attribute__): New macro.
32579         (_Exit): New declaration.
32580         * lib/_Exit.c: New file.
32581         * m4/_Exit.m4: New file.
32582         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
32583         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
32584         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
32585         * modules/_Exit: New file.
32586         * tests/test-stdlib-c++.cc (_Exit): Check signature.
32587         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
32588
32589 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
32590
32591         strtod: make it more-accurate typically, and don't require libm
32592         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
32593         Include limits.h.  Don't include string.h.
32594         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
32595         (locale_isspace): New function, so that no casts are needed to
32596         check whether *s is a space.
32597         (ldexp): Provide an unused dummy if not available.
32598         (scale_radix_exp, parse_number, underlying_strtod): New functions.
32599         (strtod): Use them.  This implementation prefers to use the
32600         underlying strtod if available, falling back on our own code
32601         only to fix known bugs.  This is more likely to produce an
32602         accurate result.  Also, it avoids the use of libm functions.
32603         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
32604         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
32605         was absent, but it caused a test failure with coreutils.
32606         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
32607         with libm.
32608         * modules/strtod (Makefile.am, Link): libm is no longer needed.
32609         * modules/strtod-tests (Makefile.am): Likewise.
32610
32611 2010-07-11  Pádraig Brady  <P@draigBrady.com>
32612             Bruno Haible  <bruno@clisp.org>
32613
32614         unistr/u8-strchr: Optimize ASCII argument case.
32615         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
32616
32617 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
32618
32619         (x)memcoll: minor tweaks
32620         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
32621         is after the type that it qualifies.
32622         (memcoll0): Likewise.
32623         * lib/memcoll.h (memcoll0): Likewise.
32624         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
32625         * lib/xmemcoll.h (xmemcoll0): Likewise.
32626         * lib/memcoll.c (memcoll0): Correct the comment.  This function
32627         differs from memcoll in that the NUL byte is part of the argument.
32628         Omit the abort-checks, as performance is a real issue here.  Plus,
32629         the checks were wrong anyway (an off-by-one error).  Omit local
32630         variable 'diff', as it's a bit clearer that way.
32631         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
32632         no longer needed.
32633
32634 2010-07-08  Chen Guo <chenguo4@yahoo.com>
32635
32636         (x)memcoll: speedup when input is known to be NUL delimited
32637         * lib/memcoll.c: Include stdlib.
32638         (memcoll0): New function.
32639         (strcoll_loop): New function, refactored for use in both memcoll
32640         and memcoll0.
32641         * lib/memcoll.h (memcoll0): Add prototype.
32642         * lib/xmemcoll.c (xmemcoll0): New function.
32643         (collate_error): New function, refactored for use in both xmemcoll
32644         and xmemcoll0.
32645         * lib/xmemcoll.h (xmemcoll0): Add prototype.
32646         * m4/memcoll.m4: add inline invocation.
32647
32648 2010-07-06  Pádraig Brady  <P@draigBrady.com>
32649
32650         * build-aux/bootstrap: Remove any local translations
32651         from the translation project synchronization directory,
32652         so that local only translations are not distributed.
32653
32654 2010-07-04  Bruno Haible  <bruno@clisp.org>
32655
32656         fsusage: Clarify which code applies to which platforms.
32657         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
32658         platform.
32659         * lib/fsusage.c (get_fs_usage): Likewise.
32660
32661 2010-07-04  Bruno Haible  <bruno@clisp.org>
32662
32663         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
32664         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
32665         Reported by Martin Lambers <marlam@marlam.de>.
32666
32667 2010-07-04  Jim Meyering  <meyering@redhat.com>
32668
32669         hash: once again explicitly disallow insertion of NULL
32670         * lib/hash.c (hash_insert0): Reinstate just-removed test:
32671         inserting a NULL pointer cannot work with these functions.
32672         Add a comment with details.
32673         This reverts part of the 2010-07-01 commit, 5bef1a35
32674         "hash: extend module to deal with non-pointer keys".
32675
32676 2010-07-01  Bruno Haible  <bruno@clisp.org>
32677
32678         stdbool: Update doc.
32679         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
32680         Info from Christian Weisgerber <naddy@mips.inka.de>.
32681
32682 2010-07-01  Jim Meyering  <meyering@redhat.com>
32683
32684         hash: extend module to deal with non-pointer keys
32685         * lib/hash.c (hash_insert0): New interface, much like hash_insert
32686         but that allows insertion of non-pointer entries.
32687         Do not disallow an ENTRY value of NULL.
32688         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
32689         * lib/hash.h (hash_insert0): Declare.
32690
32691 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
32692
32693         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
32694         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
32695         not present (i.e. with autoconf 2.59 and when using gettextize, not
32696         gnulib), require AC_GNU_SOURCE instead.
32697
32698 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
32699
32700         idpriv-drop: Fix tests.
32701         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
32702         not to the test-idpriv-droptemp program.
32703
32704 2010-06-29  Bruno Haible  <bruno@clisp.org>
32705
32706         string: Fix syntax error with g++ 2.96.
32707         * lib/string.in.h (__pure__): Remove definition.
32708         (_GL_ATTRIBUTE_PURE): New macro.
32709         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
32710         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
32711         Reported by Christian Weisgerber <naddy@mips.inka.de>.
32712
32713 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
32714
32715         unitypes: Fix bug introduced on 2010-05-18.
32716         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
32717
32718 2010-06-22  Eric Blake  <eblake@redhat.com>
32719
32720         memmem: slight optimization
32721         * lib/str-two-way.h (critical_factorization): Update comments.
32722         Reduce work during factorization phase.
32723         Reported by Carlos Bueno <carlos@bueno.org>.
32724
32725 2010-06-21  Bruno Haible  <bruno@clisp.org>
32726
32727         Fix HAVE_CALLOC_POSIX misnomer.
32728         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
32729         !HAVE_CALLOC_POSIX.
32730         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
32731         HAVE_CALLOC_POSIX.
32732         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
32733         instead of HAVE_CALLOC_POSIX.
32734         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
32735         HAVE_CALLOC_POSIX.
32736
32737         Use modern idiom for calloc() replacement.
32738         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
32739         AC_FUNC_CALLOC.
32740         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
32741         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
32742         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32743         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
32744         (gl_REPLACE_CALLOC): New macro.
32745
32746 2010-06-21  Bruno Haible  <bruno@clisp.org>
32747
32748         Fix HAVE_REALLOC_POSIX misnomer.
32749         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
32750         !HAVE_REALLOC_POSIX.
32751         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
32752         HAVE_REALLOC_POSIX.
32753         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
32754         instead of HAVE_REALLOC_POSIX.
32755         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
32756         HAVE_REALLOC_POSIX.
32757
32758         Use modern idiom for realloc() replacement.
32759         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
32760         AC_FUNC_REALLOC.
32761         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
32762         Autoconf's AC_FUNC_REALLOC.
32763         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32764         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
32765         (gl_REPLACE_REALLOC): New macro.
32766         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32767
32768 2010-06-21  Bruno Haible  <bruno@clisp.org>
32769
32770         Fix HAVE_MALLOC_POSIX misnomer.
32771         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
32772         !HAVE_MALLOC_POSIX.
32773         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
32774         HAVE_MALLOC_POSIX.
32775         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
32776         instead of HAVE_MALLOC_POSIX.
32777         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
32778         HAVE_MALLOC_POSIX.
32779
32780         Use modern idiom for malloc() replacement.
32781         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
32782         AC_FUNC_MALLOC.
32783         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
32784         Autoconf's AC_FUNC_MALLOC.
32785         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32786         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
32787         (gl_REPLACE_MALLOC): New macro.
32788         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32789
32790 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
32791
32792         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
32793         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
32794         This macro takes 3 arguments, not 4.
32795
32796 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
32797
32798         ipv6: fix detection under mingw
32799         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
32800         in6_addr.
32801
32802 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
32803
32804         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
32805         that strtod() works when cross-compiling to a glibc version known
32806         to work.
32807
32808 2010-06-15  Bruno Haible  <bruno@clisp.org>
32809
32810         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
32811
32812 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
32813
32814         select: Correct timeout.
32815         * lib/select.c (rpl_select): Compute wait_timeout correctly.
32816
32817 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32818
32819         git-version-gen: init shell var to avoid env var influence
32820         * build-aux/git-version-gen (v): Init shell var to empty.
32821
32822 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
32823
32824         priv-set: Don't assume that priv.h exists merely because getppriv does.
32825         See Jan Andersen's bug report about AIX 5L in
32826         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
32827         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
32828         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
32829         * lib/priv-set.h: Likewise.
32830         * tests/test-priv-set.c: Likewise.
32831
32832 2010-06-13  Bruno Haible  <bruno@clisp.org>
32833
32834         relocatable: Make it easier to test whether to install wrappers.
32835         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
32836         RELOCATABLE_VIA_WRAPPER.
32837
32838 2010-06-13  Bruno Haible  <bruno@clisp.org>
32839
32840         gnulib-tool: Display specified modules and dependencies differently.
32841         * gnulib-tool (func_show_module_list): New function.
32842         (func_import, func_create_testdir): Invoke it.
32843         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32844
32845 2010-06-13  Bruno Haible  <bruno@clisp.org>
32846
32847         gnulib-tool: Align code of func_import and func_create_testdir.
32848         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
32849         specified_modules.
32850
32851 2010-06-12  Jim Meyering  <meyering@redhat.com>
32852
32853         test-inttostr: avoid spurious failure on Solaris 9
32854         * tests/test-inttostr.c (main): Skip the test when snprintf fails
32855         to accept "%ju".  Reported by Bruno Haible.
32856
32857 2010-06-11  Jim Meyering  <meyering@redhat.com>
32858
32859         test-sys_socket: mark variables as used more readably
32860         * tests/test-sys_socket.c (main): Mark otherwise unused variables
32861         as "used" explicitly via (void) statement casts.  This is more
32862         readable than using them in an artificial return expression.
32863         Suggestion from Bruno Haible.
32864
32865 2010-06-11  Bruno Haible  <bruno@clisp.org>
32866
32867         Avoid some more warnings from "gcc -Wwrite-strings".
32868         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
32869         to 'const char *'.
32870         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
32871         * tests/test-c-strcasestr.c (main): Likewise.
32872         * tests/test-mbscasestr1.c (main): Likewise.
32873         * tests/test-mbscasestr2.c (main): Likewise.
32874         * tests/test-memmem.c (main): Likewise.
32875         * tests/test-strstr.c (main): Likewise.
32876         * tests/test-strcasestr.c (main): Likewise.
32877
32878 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32879
32880         init.sh: change framework_failure_ to fail with status 99, not 1
32881         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
32882         automake's parallel-tests rule that this is an unexpected failure,
32883         even if the test is listed in XFAIL_TESTS.
32884
32885 2010-06-11  Jim Meyering  <meyering@redhat.com>
32886
32887         test-inttostr: avoid warnings about 4-6KB literal strings
32888         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
32889         Include "macros.h", for its definition of ASSERT.
32890         (CK): s/assert/ASSERT/
32891         * modules/inttostr-tests (Files): Add macros.h.
32892
32893         init.sh: don't use $ME_ or skip_ before they are defined
32894         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
32895         their first uses.  Also hoist their companions: warn_, fail_,
32896         framework_failure_, $stderr_fileno.  Prompted by a patch from
32897         Stefano Lattarini.
32898
32899         test-sys_socket: avoid set-but-not-used warnings from gcc
32900         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
32901         avoid warning about set-but-not-used variables.
32902
32903         test-xvasprintf: avoid 'const' discard warnings
32904         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
32905         "const" when assigning from literal strings.
32906         (test_xasprintf): Add "void" in function argument list to placate
32907         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
32908
32909         tests: avoid compilation warnings in argmatch and exclude tests...
32910         in packages that define ARGMATCH_DIE_DECL, like coreutils.
32911         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
32912         Since it always exits, declare with the "noreturn" attribute.
32913         * tests/test-argmatch.c: Likewise.
32914
32915         tests: avoid 'const' discard warnings in mbsstr tests
32916         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
32917         * tests/test-mbsstr2.c (main): Likewise.
32918
32919         test-verify: avoid warning from gcc's -Wmissing-declarations
32920         * tests/test-verify.c (function): Declare to be static.
32921
32922         test-inttostr.c: include <string.h> for use of strcmp
32923         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
32924
32925         test-linkat: avoid failed assertion on "other" architectures
32926         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
32927         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
32928         sparc: https://bugs.launchpad.net/bugs/591968
32929
32930 2010-06-11  Jim Meyering  <meyering@redhat.com>
32931
32932         printf.m4: avoid autoconf's "Expanded Before Required" warning
32933         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
32934         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
32935         autoconf warning.
32936
32937 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
32938
32939         Replacement header templates are now named with ".in", not "_".
32940         * doc/gnulib-intro.texi: Correct.
32941
32942 2010-06-10  Jim Meyering  <meyering@redhat.com>
32943
32944         inttostr-tests: depend on snprintf, not snprintf-posix
32945         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
32946         snprintf-posix, to avoid this aclocal failure:
32947           missing file gnulib-tests/vasnprintf.c
32948           configure.ac:45: error: expected source file, required through \
32949           AC_LIBSOURCES, not found
32950
32951 2010-06-10  Jim Meyering  <meyering@redhat.com>
32952
32953         inttostr: add a new function, inttostr, and tests
32954         The namesake function was not available.  The existence of the
32955         template file, inttostr.c makes its addition nontrivial.
32956         * lib/anytostr.c: Rename from inttostr.c.
32957         (anytostr): Rename from inttostr.
32958         * lib/inttostr.c: New file.
32959         * modules/inttostr (Files): Add anytostr.c.
32960         (Makefile.am): Set lib_SOURCES instead of ...
32961         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
32962         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
32963         * lib/offtostr.c: Likewise.
32964         * lib/uinttostr.c: Likewise.
32965         * lib/umaxtostr.c: Likewise.
32966         * modules/inttostr-tests: New file.
32967         * tests/test-inttostr.c: New file.  Test these functions.
32968
32969 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
32970             Bruno Haible  <bruno@clisp.org>
32971
32972         Add "Extending Gnulib" chapter to manual.
32973         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
32974         chapter.
32975         (Extending Gnulib): New chapter.
32976         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
32977         chapter.
32978
32979 2010-06-09  Bruno Haible  <bruno@clisp.org>
32980
32981         Avoid relocwrapper link errors due to gnulib replacement functions.
32982         * lib/areadlink.c: Use the system's malloc, realloc functions.
32983         (areadlink): Set errno to ENOMEM explicitly.
32984         * modules/areadlink (Depends-on): Remove malloc-posix.
32985         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32986
32987 2010-06-09  Bruno Haible  <bruno@clisp.org>
32988
32989         Avoid relocwrapper link errors due to gnulib replacement functions.
32990         * lib/canonicalize-lgpl.c: Use the system's malloc function.
32991         * lib/malloca.c: Likewise.
32992         * lib/relocatable.c: Likewise.
32993         * lib/progreloc.c: Use the system's malloc, sprintf functions.
32994         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
32995         * lib/setenv.c: Use the system's malloc, realloc functions.
32996         * lib/strerror.c: Use the system's sprintf function.
32997         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32998
32999 2010-06-04  Bruno Haible  <bruno@clisp.org>
33000
33001         Prefer documented low-level autoconf macro names.
33002         * m4/lib-link.m4: Use m4_translit instead of translit.
33003         * m4/environ.m4: Likewise.
33004         * m4/mathfunc.m4: Likewise.
33005         * m4/onceonly.m4: Likewise.
33006         * m4/stdint.m4: Likewise.
33007         Suggested by Eric Blake.
33008
33009 2010-06-04  Martin Lambers  <marlam@marlam.de>
33010             Bruno Haible  <bruno@clisp.org>
33011
33012         havelib: Allow library names with '+' characters.
33013         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
33014         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
33015
33016 2010-06-09  Bruno Haible  <bruno@clisp.org>
33017
33018         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
33019         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
33020         realloc failed.
33021
33022 2010-06-08  Peter Simons  <simons@cryp.to>
33023
33024         maint.mk: make the news-check rule more configurable
33025         * top/maint.mk (news-check-lines-spec): New variable.
33026         (news-check): Use "sed -n 1,10p" in place of "head".
33027
33028 2010-06-07  Jim Meyering  <meyering@redhat.com>
33029
33030         do-release-commit-and-tag: fix typo in --help
33031         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
33032
33033         regex: avoid new dead-code warning with gcc-4.6.0
33034         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
33035         if-block containing a while-loop.  It's been unused for at least
33036         5 years.
33037
33038 2010-06-05  Bruno Haible  <bruno@clisp.org>
33039
33040         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
33041         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
33042
33043 2010-06-04  Bruno Haible  <bruno@clisp.org>
33044
33045         Update to GNU gettext 0.18.1.
33046         * modules/gettext (configure.ac): Require gettext infrastructure from
33047         version 0.18.1.
33048
33049 2010-06-03  Bruno Haible  <bruno@clisp.org>
33050
33051         Don't use AC_LIBOBJ with file names in subdirectories.
33052         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
33053         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
33054         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
33055         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
33056         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
33057         gl_LIBUNISTRING_LIBSOURCE.
33058         (Makefile.am): Augment lib_SOURCES here, conditionally.
33059         * NEWS: Drop requirement for Automake option 'subdir-objects'.
33060
33061 2010-06-03  Bruno Haible  <bruno@clisp.org>
33062
33063         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
33064         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
33065         expansion does not end with a newline.
33066         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
33067         unnecessary newline.
33068
33069 2010-06-03  Bruno Haible  <bruno@clisp.org>
33070
33071         Reduce dependencies.
33072         * tests/test-quotearg.h: New file, extracted from
33073         tests/test-quotearg.c.
33074         * tests/test-quotearg-simple.c: New file, extracted from
33075         tests/test-quotearg.c.
33076         * tests/test-quotearg.c: Don't include <ctype.h>.
33077         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
33078         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
33079         use_quote_double_quotes, use_quotearg_colon): Moved to
33080         tests/test-quotearg.h.
33081         (results_g, flag_results, custom_quotes, custom_results): Moved
33082         to tests/test-quotearg-simple.c.
33083         (main): Moved the part that does not depend on gettext to
33084         tests/test-quotearg-simple.c. Return 77 if the test cannot be
33085         performed.
33086         * modules/quotearg-simple: New file.
33087         * modules/quotearg-simple-tests: New file.
33088         * modules/quotearg (Depends-on): Add quotearg-simple.
33089         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
33090         (Files): Add tests/test-quotearg.h.
33091         Reported by Paolo Bonzini.
33092
33093 2010-06-03  Bruno Haible  <bruno@clisp.org>
33094
33095         Reduce dependencies.
33096         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
33097
33098 2010-06-03  Bruno Haible  <bruno@clisp.org>
33099
33100         time: Undefine more broken macros.
33101         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
33102         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
33103         Reported by Eric Blake.
33104
33105 2010-06-03  Bruno Haible  <bruno@clisp.org>
33106
33107         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
33108         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
33109         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
33110         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
33111         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
33112         Reported by Ludovic Courtès <ludo@gnu.org>.
33113
33114 2010-06-02  Eric Blake  <eblake@redhat.com>
33115
33116         time: work with mingw + pthreads-win32 library
33117         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
33118         if timespec is defined only in pthread.h.
33119         * modules/time (Makefile.am): Substitute it.
33120         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
33121         <pthread.h>, when needed.
33122         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
33123         from the library.
33124
33125 2010-05-31  Bruno Haible  <bruno@clisp.org>
33126
33127         Avoid expanding two macros in the wrong order.
33128         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
33129         gl_LIBUNISTRING if it is defined.
33130         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
33131         autoconf >= 2.64.
33132         Reported by Ludovic Courtès <ludo@gnu.org>.
33133
33134 2010-05-27  Jim Meyering  <meyering@redhat.com>
33135
33136         maint.mk: also prohibit "#undef" of always-defined symbols
33137         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
33138         Allow more than one space before the symbol name.
33139         (sc_prohibit_always-defined_macros): Use grep's -E, now that
33140         the regexp uses alternation.
33141
33142 2010-05-26  Eric Blake  <eblake@redhat.com>
33143
33144         maint.mk: avoid echo -e
33145         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
33146         Convert all uses of echo -* to printf.
33147         Reported by Matthias Bolte.
33148
33149 2010-05-25  Bruno Haible  <bruno@clisp.org>
33150
33151         Update to GNU gettext 0.18, part 2.
33152         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
33153         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
33154
33155 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33156
33157         Add missing include in test-pwrite.c.
33158         * tests/test-pwrite.c: Include string.h, for strcmp.
33159
33160 2010-05-24  Bruno Haible  <bruno@clisp.org>
33161
33162         * NEWS: Mention requirement for Automake option 'subdir-objects'.
33163
33164 2010-05-24  Bruno Haible  <bruno@clisp.org>
33165
33166         Don't use conversion with transliteration in u{8,16,32}_strcoll.
33167         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
33168         iconveh_error argument.
33169         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
33170         U_STRCONV_TO_LOCALE.
33171         * lib/unistr/u16-strcoll.c: Likewise.
33172         * lib/unistr/u32-strcoll.c: Likewise.
33173         * modules/unistr/u8-strcoll (Depends-on): Add
33174         uniconv/u8-strconv-to-enc, localcharset. Remove
33175         uniconv/u8-strconv-to-locale.
33176         (configure.ac): Bump version number.
33177         * modules/unistr/u16-strcoll (Depends-on): Add
33178         uniconv/u16-strconv-to-enc, localcharset. Remove
33179         uniconv/u16-strconv-to-locale.
33180         (configure.ac): Bump version number.
33181         * modules/unistr/u32-strcoll (Depends-on): Add
33182         uniconv/u32-strconv-to-enc, localcharset. Remove
33183         uniconv/u32-strconv-to-locale.
33184         (configure.ac): Bump version number.
33185
33186 2010-05-24  Bruno Haible  <bruno@clisp.org>
33187
33188         Avoid a test failure on NetBSD 5.0.
33189         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
33190         an iconv() bug.
33191
33192 2010-05-24  Bruno Haible  <bruno@clisp.org>
33193
33194         Adjust #include directive style.
33195         * modules/regex (Includes): Recommend to write <regex.h>.
33196
33197 2010-05-24  Bruno Haible  <bruno@clisp.org>
33198
33199         regex: Don't require alloca.
33200         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
33201         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
33202         only inside if (0).
33203
33204 2010-05-23  Jim Meyering  <meyering@redhat.com>
33205
33206         test-renameat.c: include <sys/stat.h>
33207         * tests/test-renameat.c: Include <sys/stat.h>; required for
33208         definition of S_IS* macros.
33209
33210 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
33211
33212         Update maintainer documentation for 'relocatable-prog' module.
33213         * doc/relocatable-maint.texi: Update.
33214         Comments by Bruno Haible.
33215
33216 2010-05-23  Bruno Haible  <bruno@clisp.org>
33217
33218         git-merge-changelog: Enable --split-merged-entry by default.
33219         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
33220         (usage): Don't mention this option any more.
33221         Reported by Ralf Wildenhues.
33222
33223 2010-05-23  Jim Meyering  <meyering@redhat.com>
33224
33225         test-pwrite: do not leave behind a test file named "out"
33226         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
33227         The trivial-looking use of init.sh is really necessary.
33228         It ensures that the temporary file, "out", is created in
33229         a temporary directory, and removed upon termination.
33230         * tests/test-pwrite.sh: Re-add file.
33231         * modules/pwrite-tests: Reference it.
33232
33233 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33234
33235         Fix output redirection buglet in init.sh.
33236         * tests/init.sh: Fix redirection of stderr.
33237
33238 2010-05-20  Simon Josefsson  <simon@josefsson.org>
33239
33240         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
33241
33242 2010-05-17  Simon Josefsson  <simon@josefsson.org>
33243
33244         * modules/valgrind-tests: New file.
33245         * m4/valgrind-tests.m4: New file.
33246         * doc/valgrind-tests.texi: New file.
33247         * doc/gnulib.texi (Running self-tests under valgrind): New
33248         section.
33249
33250 2010-05-19  Bruno Haible  <bruno@clisp.org>
33251
33252         Clean up dead code in recent commit.
33253         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
33254         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
33255         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
33256         Suggested by Paolo Bonzini.
33257
33258 2010-05-19  Bruno Haible  <bruno@clisp.org>
33259
33260         Avoid valgrind error reports from libunistring.
33261         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
33262         * modules/libunistring (Files): Add it.
33263         * modules/libunistring-optional (Files): Likewise.
33264
33265 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
33266             Bruno Haible  <bruno@clisp.org>
33267
33268         New module 'libunistring-optional'.
33269         * modules/libunistring-optional: New file.
33270         * m4/libunistring-base.m4: New file.
33271         * m4/libunistring-optional.m4: New file.
33272         * lib/unicase.in.h: Renamed from lib/unicase.h.
33273         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
33274         * lib/unictype.in.h: Renamed from lib/unictype.h.
33275         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
33276         * lib/uniname.in.h: Renamed from lib/uniname.h.
33277         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
33278         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
33279         * lib/unistr.in.h: Renamed from lib/unistr.h.
33280         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
33281         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
33282         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
33283         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
33284         gl_LIBUNISTRING. If the library was found, determine the installed
33285         version and set LIBUNISTRING_VERSION.
33286         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
33287         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
33288         handle a configuration option --with-included-libunistring.
33289         * modules/libunistring (Files): Add m4/absolute-header.m4.
33290         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
33291         Add m4/libunistring-base.m4.
33292         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33293         (Makefile.am): Build unicase.h from unicase.in.h.
33294         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
33295         Add m4/libunistring-base.m4.
33296         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33297         (Makefile.am): Build uniconv.h from uniconv.in.h.
33298         * modules/unictype/base (Files): Use unictype.in.h instead of
33299         unictype.h. Add m4/libunistring-base.m4.
33300         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33301         (Makefile.am): Build unictype.h from unictype.in.h.
33302         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
33303         Add m4/libunistring-base.m4.
33304         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33305         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
33306         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
33307         Add m4/libunistring-base.m4.
33308         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33309         (Makefile.am): Build uniname.h from uniname.in.h.
33310         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
33311         Add m4/libunistring-base.m4.
33312         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33313         (Makefile.am): Build uninorm.h from uninorm.in.h.
33314         * modules/unistdio/base (Files): Use unistdio.in.h instead of
33315         unistdio.h. Add m4/libunistring-base.m4.
33316         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33317         (Makefile.am): Build unistdio.h from unistdio.in.h.
33318         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
33319         Add m4/libunistring-base.m4.
33320         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33321         (Makefile.am): Build unistr.h from unistr.in.h.
33322         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
33323         Add m4/libunistring-base.m4.
33324         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33325         (Makefile.am): Build unitypes.h from unitypes.in.h.
33326         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
33327         Add m4/libunistring-base.m4.
33328         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33329         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
33330         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
33331         uniwidth.h. Add m4/libunistring-base.m4.
33332         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33333         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
33334         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
33335         instead of augmenting lib_SOURCES.
33336         * modules/unicase/empty-suffix-context: Likewise.
33337         * modules/unicase/locale-language: Likewise.
33338         * modules/unicase/tolower: Likewise.
33339         * modules/unicase/totitle: Likewise.
33340         * modules/unicase/toupper: Likewise.
33341         * modules/unicase/u8-casecmp: Likewise.
33342         * modules/unicase/u8-casecoll: Likewise.
33343         * modules/unicase/u8-casefold: Likewise.
33344         * modules/unicase/u8-casexfrm: Likewise.
33345         * modules/unicase/u8-ct-casefold: Likewise.
33346         * modules/unicase/u8-ct-tolower: Likewise.
33347         * modules/unicase/u8-ct-totitle: Likewise.
33348         * modules/unicase/u8-ct-toupper: Likewise.
33349         * modules/unicase/u8-is-cased: Likewise.
33350         * modules/unicase/u8-is-casefolded: Likewise.
33351         * modules/unicase/u8-is-lowercase: Likewise.
33352         * modules/unicase/u8-is-titlecase: Likewise.
33353         * modules/unicase/u8-is-uppercase: Likewise.
33354         * modules/unicase/u8-prefix-context: Likewise.
33355         * modules/unicase/u8-suffix-context: Likewise.
33356         * modules/unicase/u8-tolower: Likewise.
33357         * modules/unicase/u8-totitle: Likewise.
33358         * modules/unicase/u8-toupper: Likewise.
33359         * modules/unicase/u16-casecmp: Likewise.
33360         * modules/unicase/u16-casecoll: Likewise.
33361         * modules/unicase/u16-casefold: Likewise.
33362         * modules/unicase/u16-casexfrm: Likewise.
33363         * modules/unicase/u16-ct-casefold: Likewise.
33364         * modules/unicase/u16-ct-tolower: Likewise.
33365         * modules/unicase/u16-ct-totitle: Likewise.
33366         * modules/unicase/u16-ct-toupper: Likewise.
33367         * modules/unicase/u16-is-cased: Likewise.
33368         * modules/unicase/u16-is-casefolded: Likewise.
33369         * modules/unicase/u16-is-lowercase: Likewise.
33370         * modules/unicase/u16-is-titlecase: Likewise.
33371         * modules/unicase/u16-is-uppercase: Likewise.
33372         * modules/unicase/u16-prefix-context: Likewise.
33373         * modules/unicase/u16-suffix-context: Likewise.
33374         * modules/unicase/u16-tolower: Likewise.
33375         * modules/unicase/u16-totitle: Likewise.
33376         * modules/unicase/u16-toupper: Likewise.
33377         * modules/unicase/u32-casecmp: Likewise.
33378         * modules/unicase/u32-casecoll: Likewise.
33379         * modules/unicase/u32-casefold: Likewise.
33380         * modules/unicase/u32-casexfrm: Likewise.
33381         * modules/unicase/u32-ct-casefold: Likewise.
33382         * modules/unicase/u32-ct-tolower: Likewise.
33383         * modules/unicase/u32-ct-totitle: Likewise.
33384         * modules/unicase/u32-ct-toupper: Likewise.
33385         * modules/unicase/u32-is-cased: Likewise.
33386         * modules/unicase/u32-is-casefolded: Likewise.
33387         * modules/unicase/u32-is-lowercase: Likewise.
33388         * modules/unicase/u32-is-titlecase: Likewise.
33389         * modules/unicase/u32-is-uppercase: Likewise.
33390         * modules/unicase/u32-prefix-context: Likewise.
33391         * modules/unicase/u32-suffix-context: Likewise.
33392         * modules/unicase/u32-tolower: Likewise.
33393         * modules/unicase/u32-totitle: Likewise.
33394         * modules/unicase/u32-toupper: Likewise.
33395         * modules/unicase/ulc-casecmp: Likewise.
33396         * modules/unicase/ulc-casecoll: Likewise.
33397         * modules/unicase/ulc-casexfrm: Likewise.
33398         * modules/uniconv/u8-conv-from-enc: Likewise.
33399         * modules/uniconv/u8-conv-to-enc: Likewise.
33400         * modules/uniconv/u8-strconv-from-enc: Likewise.
33401         * modules/uniconv/u8-strconv-from-locale: Likewise.
33402         * modules/uniconv/u8-strconv-to-enc: Likewise.
33403         * modules/uniconv/u8-strconv-to-locale: Likewise.
33404         * modules/uniconv/u16-conv-from-enc: Likewise.
33405         * modules/uniconv/u16-conv-to-enc: Likewise.
33406         * modules/uniconv/u16-strconv-from-enc: Likewise.
33407         * modules/uniconv/u16-strconv-from-locale: Likewise.
33408         * modules/uniconv/u16-strconv-to-enc: Likewise.
33409         * modules/uniconv/u16-strconv-to-locale: Likewise.
33410         * modules/uniconv/u32-conv-from-enc: Likewise.
33411         * modules/uniconv/u32-conv-to-enc: Likewise.
33412         * modules/uniconv/u32-strconv-from-enc: Likewise.
33413         * modules/uniconv/u32-strconv-from-locale: Likewise.
33414         * modules/uniconv/u32-strconv-to-enc: Likewise.
33415         * modules/uniconv/u32-strconv-to-locale: Likewise.
33416         * modules/unictype/bidicategory-byname: Likewise.
33417         * modules/unictype/bidicategory-name: Likewise.
33418         * modules/unictype/bidicategory-of: Likewise.
33419         * modules/unictype/bidicategory-test: Likewise.
33420         * modules/unictype/block-list: Likewise.
33421         * modules/unictype/block-test: Likewise.
33422         * modules/unictype/category-C: Likewise.
33423         * modules/unictype/category-Cc: Likewise.
33424         * modules/unictype/category-Cf: Likewise.
33425         * modules/unictype/category-Cn: Likewise.
33426         * modules/unictype/category-Co: Likewise.
33427         * modules/unictype/category-Cs: Likewise.
33428         * modules/unictype/category-L: Likewise.
33429         * modules/unictype/category-Ll: Likewise.
33430         * modules/unictype/category-Lm: Likewise.
33431         * modules/unictype/category-Lo: Likewise.
33432         * modules/unictype/category-Lt: Likewise.
33433         * modules/unictype/category-Lu: Likewise.
33434         * modules/unictype/category-M: Likewise.
33435         * modules/unictype/category-Mc: Likewise.
33436         * modules/unictype/category-Me: Likewise.
33437         * modules/unictype/category-Mn: Likewise.
33438         * modules/unictype/category-N: Likewise.
33439         * modules/unictype/category-Nd: Likewise.
33440         * modules/unictype/category-Nl: Likewise.
33441         * modules/unictype/category-No: Likewise.
33442         * modules/unictype/category-P: Likewise.
33443         * modules/unictype/category-Pc: Likewise.
33444         * modules/unictype/category-Pd: Likewise.
33445         * modules/unictype/category-Pe: Likewise.
33446         * modules/unictype/category-Pf: Likewise.
33447         * modules/unictype/category-Pi: Likewise.
33448         * modules/unictype/category-Po: Likewise.
33449         * modules/unictype/category-Ps: Likewise.
33450         * modules/unictype/category-S: Likewise.
33451         * modules/unictype/category-Sc: Likewise.
33452         * modules/unictype/category-Sk: Likewise.
33453         * modules/unictype/category-Sm: Likewise.
33454         * modules/unictype/category-So: Likewise.
33455         * modules/unictype/category-Z: Likewise.
33456         * modules/unictype/category-Zl: Likewise.
33457         * modules/unictype/category-Zp: Likewise.
33458         * modules/unictype/category-Zs: Likewise.
33459         * modules/unictype/category-and: Likewise.
33460         * modules/unictype/category-and-not: Likewise.
33461         * modules/unictype/category-byname: Likewise.
33462         * modules/unictype/category-name: Likewise.
33463         * modules/unictype/category-none: Likewise.
33464         * modules/unictype/category-of: Likewise.
33465         * modules/unictype/category-or: Likewise.
33466         * modules/unictype/category-test: Likewise.
33467         * modules/unictype/combining-class: Likewise.
33468         * modules/unictype/ctype-alnum: Likewise.
33469         * modules/unictype/ctype-alpha: Likewise.
33470         * modules/unictype/ctype-blank: Likewise.
33471         * modules/unictype/ctype-cntrl: Likewise.
33472         * modules/unictype/ctype-digit: Likewise.
33473         * modules/unictype/ctype-graph: Likewise.
33474         * modules/unictype/ctype-lower: Likewise.
33475         * modules/unictype/ctype-print: Likewise.
33476         * modules/unictype/ctype-punct: Likewise.
33477         * modules/unictype/ctype-space: Likewise.
33478         * modules/unictype/ctype-upper: Likewise.
33479         * modules/unictype/ctype-xdigit: Likewise.
33480         * modules/unictype/decimal-digit: Likewise.
33481         * modules/unictype/digit: Likewise.
33482         * modules/unictype/mirror: Likewise.
33483         * modules/unictype/numeric: Likewise.
33484         * modules/unictype/property-alphabetic: Likewise.
33485         * modules/unictype/property-ascii-hex-digit: Likewise.
33486         * modules/unictype/property-bidi-arabic-digit: Likewise.
33487         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
33488         * modules/unictype/property-bidi-block-separator: Likewise.
33489         * modules/unictype/property-bidi-boundary-neutral: Likewise.
33490         * modules/unictype/property-bidi-common-separator: Likewise.
33491         * modules/unictype/property-bidi-control: Likewise.
33492         * modules/unictype/property-bidi-embedding-or-override: Likewise.
33493         * modules/unictype/property-bidi-eur-num-separator: Likewise.
33494         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
33495         * modules/unictype/property-bidi-european-digit: Likewise.
33496         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
33497         * modules/unictype/property-bidi-left-to-right: Likewise.
33498         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
33499         * modules/unictype/property-bidi-other-neutral: Likewise.
33500         * modules/unictype/property-bidi-pdf: Likewise.
33501         * modules/unictype/property-bidi-segment-separator: Likewise.
33502         * modules/unictype/property-bidi-whitespace: Likewise.
33503         * modules/unictype/property-byname: Likewise.
33504         * modules/unictype/property-combining: Likewise.
33505         * modules/unictype/property-composite: Likewise.
33506         * modules/unictype/property-currency-symbol: Likewise.
33507         * modules/unictype/property-dash: Likewise.
33508         * modules/unictype/property-decimal-digit: Likewise.
33509         * modules/unictype/property-default-ignorable-code-point: Likewise.
33510         * modules/unictype/property-deprecated: Likewise.
33511         * modules/unictype/property-diacritic: Likewise.
33512         * modules/unictype/property-extender: Likewise.
33513         * modules/unictype/property-format-control: Likewise.
33514         * modules/unictype/property-grapheme-base: Likewise.
33515         * modules/unictype/property-grapheme-extend: Likewise.
33516         * modules/unictype/property-grapheme-link: Likewise.
33517         * modules/unictype/property-hex-digit: Likewise.
33518         * modules/unictype/property-hyphen: Likewise.
33519         * modules/unictype/property-id-continue: Likewise.
33520         * modules/unictype/property-id-start: Likewise.
33521         * modules/unictype/property-ideographic: Likewise.
33522         * modules/unictype/property-ids-binary-operator: Likewise.
33523         * modules/unictype/property-ids-trinary-operator: Likewise.
33524         * modules/unictype/property-ignorable-control: Likewise.
33525         * modules/unictype/property-iso-control: Likewise.
33526         * modules/unictype/property-join-control: Likewise.
33527         * modules/unictype/property-left-of-pair: Likewise.
33528         * modules/unictype/property-line-separator: Likewise.
33529         * modules/unictype/property-logical-order-exception: Likewise.
33530         * modules/unictype/property-lowercase: Likewise.
33531         * modules/unictype/property-math: Likewise.
33532         * modules/unictype/property-non-break: Likewise.
33533         * modules/unictype/property-not-a-character: Likewise.
33534         * modules/unictype/property-numeric: Likewise.
33535         * modules/unictype/property-other-alphabetic: Likewise.
33536         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
33537         * modules/unictype/property-other-grapheme-extend: Likewise.
33538         * modules/unictype/property-other-id-continue: Likewise.
33539         * modules/unictype/property-other-id-start: Likewise.
33540         * modules/unictype/property-other-lowercase: Likewise.
33541         * modules/unictype/property-other-math: Likewise.
33542         * modules/unictype/property-other-uppercase: Likewise.
33543         * modules/unictype/property-paired-punctuation: Likewise.
33544         * modules/unictype/property-paragraph-separator: Likewise.
33545         * modules/unictype/property-pattern-syntax: Likewise.
33546         * modules/unictype/property-pattern-white-space: Likewise.
33547         * modules/unictype/property-private-use: Likewise.
33548         * modules/unictype/property-punctuation: Likewise.
33549         * modules/unictype/property-quotation-mark: Likewise.
33550         * modules/unictype/property-radical: Likewise.
33551         * modules/unictype/property-sentence-terminal: Likewise.
33552         * modules/unictype/property-soft-dotted: Likewise.
33553         * modules/unictype/property-space: Likewise.
33554         * modules/unictype/property-terminal-punctuation: Likewise.
33555         * modules/unictype/property-test: Likewise.
33556         * modules/unictype/property-titlecase: Likewise.
33557         * modules/unictype/property-unassigned-code-value: Likewise.
33558         * modules/unictype/property-unified-ideograph: Likewise.
33559         * modules/unictype/property-uppercase: Likewise.
33560         * modules/unictype/property-variation-selector: Likewise.
33561         * modules/unictype/property-white-space: Likewise.
33562         * modules/unictype/property-xid-continue: Likewise.
33563         * modules/unictype/property-xid-start: Likewise.
33564         * modules/unictype/property-zero-width: Likewise.
33565         * modules/unictype/scripts: Likewise.
33566         * modules/unictype/syntax-c-ident: Likewise.
33567         * modules/unictype/syntax-c-whitespace: Likewise.
33568         * modules/unictype/syntax-java-ident: Likewise.
33569         * modules/unictype/syntax-java-whitespace: Likewise.
33570         * modules/unilbrk/u8-possible-linebreaks: Likewise.
33571         * modules/unilbrk/u8-width-linebreaks: Likewise.
33572         * modules/unilbrk/u16-possible-linebreaks: Likewise.
33573         * modules/unilbrk/u16-width-linebreaks: Likewise.
33574         * modules/unilbrk/u32-possible-linebreaks: Likewise.
33575         * modules/unilbrk/u32-width-linebreaks: Likewise.
33576         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
33577         * modules/unilbrk/ulc-width-linebreaks: Likewise.
33578         * modules/uniname/uniname: Likewise.
33579         * modules/uninorm/canonical-decomposition: Likewise.
33580         * modules/uninorm/composition: Likewise.
33581         * modules/uninorm/decomposing-form: Likewise.
33582         * modules/uninorm/decomposition: Likewise.
33583         * modules/uninorm/filter: Likewise.
33584         * modules/uninorm/nfc: Likewise.
33585         * modules/uninorm/nfd: Likewise.
33586         * modules/uninorm/nfkc: Likewise.
33587         * modules/uninorm/nfkd: Likewise.
33588         * modules/uninorm/u8-normalize: Likewise.
33589         * modules/uninorm/u8-normcmp: Likewise.
33590         * modules/uninorm/u8-normcoll: Likewise.
33591         * modules/uninorm/u8-normxfrm: Likewise.
33592         * modules/uninorm/u16-normalize: Likewise.
33593         * modules/uninorm/u16-normcmp: Likewise.
33594         * modules/uninorm/u16-normcoll: Likewise.
33595         * modules/uninorm/u16-normxfrm: Likewise.
33596         * modules/uninorm/u32-normalize: Likewise.
33597         * modules/uninorm/u32-normcmp: Likewise.
33598         * modules/uninorm/u32-normcoll: Likewise.
33599         * modules/uninorm/u32-normxfrm: Likewise.
33600         * modules/unistdio/u8-asnprintf: Likewise.
33601         * modules/unistdio/u8-asprintf: Likewise.
33602         * modules/unistdio/u8-snprintf: Likewise.
33603         * modules/unistdio/u8-sprintf: Likewise.
33604         * modules/unistdio/u8-u8-asnprintf: Likewise.
33605         * modules/unistdio/u8-u8-asprintf: Likewise.
33606         * modules/unistdio/u8-u8-snprintf: Likewise.
33607         * modules/unistdio/u8-u8-sprintf: Likewise.
33608         * modules/unistdio/u8-u8-vasnprintf: Likewise.
33609         * modules/unistdio/u8-u8-vasprintf: Likewise.
33610         * modules/unistdio/u8-u8-vsnprintf: Likewise.
33611         * modules/unistdio/u8-u8-vsprintf: Likewise.
33612         * modules/unistdio/u8-vasnprintf: Likewise.
33613         * modules/unistdio/u8-vasprintf: Likewise.
33614         * modules/unistdio/u8-vsnprintf: Likewise.
33615         * modules/unistdio/u8-vsprintf: Likewise.
33616         * modules/unistdio/u16-asnprintf: Likewise.
33617         * modules/unistdio/u16-asprintf: Likewise.
33618         * modules/unistdio/u16-snprintf: Likewise.
33619         * modules/unistdio/u16-sprintf: Likewise.
33620         * modules/unistdio/u16-u16-asnprintf: Likewise.
33621         * modules/unistdio/u16-u16-asprintf: Likewise.
33622         * modules/unistdio/u16-u16-snprintf: Likewise.
33623         * modules/unistdio/u16-u16-sprintf: Likewise.
33624         * modules/unistdio/u16-u16-vasnprintf: Likewise.
33625         * modules/unistdio/u16-u16-vasprintf: Likewise.
33626         * modules/unistdio/u16-u16-vsnprintf: Likewise.
33627         * modules/unistdio/u16-u16-vsprintf: Likewise.
33628         * modules/unistdio/u16-vasnprintf: Likewise.
33629         * modules/unistdio/u16-vasprintf: Likewise.
33630         * modules/unistdio/u16-vsnprintf: Likewise.
33631         * modules/unistdio/u16-vsprintf: Likewise.
33632         * modules/unistdio/u32-asnprintf: Likewise.
33633         * modules/unistdio/u32-asprintf: Likewise.
33634         * modules/unistdio/u32-snprintf: Likewise.
33635         * modules/unistdio/u32-sprintf: Likewise.
33636         * modules/unistdio/u32-u32-asnprintf: Likewise.
33637         * modules/unistdio/u32-u32-asprintf: Likewise.
33638         * modules/unistdio/u32-u32-snprintf: Likewise.
33639         * modules/unistdio/u32-u32-sprintf: Likewise.
33640         * modules/unistdio/u32-u32-vasnprintf: Likewise.
33641         * modules/unistdio/u32-u32-vasprintf: Likewise.
33642         * modules/unistdio/u32-u32-vsnprintf: Likewise.
33643         * modules/unistdio/u32-u32-vsprintf: Likewise.
33644         * modules/unistdio/u32-vasnprintf: Likewise.
33645         * modules/unistdio/u32-vasprintf: Likewise.
33646         * modules/unistdio/u32-vsnprintf: Likewise.
33647         * modules/unistdio/u32-vsprintf: Likewise.
33648         * modules/unistdio/ulc-asnprintf: Likewise.
33649         * modules/unistdio/ulc-asprintf: Likewise.
33650         * modules/unistdio/ulc-fprintf: Likewise.
33651         * modules/unistdio/ulc-snprintf: Likewise.
33652         * modules/unistdio/ulc-sprintf: Likewise.
33653         * modules/unistdio/ulc-vasnprintf: Likewise.
33654         * modules/unistdio/ulc-vasprintf: Likewise.
33655         * modules/unistdio/ulc-vfprintf: Likewise.
33656         * modules/unistdio/ulc-vsnprintf: Likewise.
33657         * modules/unistdio/ulc-vsprintf: Likewise.
33658         * modules/unistr/u8-check: Likewise.
33659         * modules/unistr/u8-chr: Likewise.
33660         * modules/unistr/u8-cmp: Likewise.
33661         * modules/unistr/u8-cmp2: Likewise.
33662         * modules/unistr/u8-cpy: Likewise.
33663         * modules/unistr/u8-cpy-alloc: Likewise.
33664         * modules/unistr/u8-endswith: Likewise.
33665         * modules/unistr/u8-mblen: Likewise.
33666         * modules/unistr/u8-mbsnlen: Likewise.
33667         * modules/unistr/u8-mbtouc: Likewise.
33668         * modules/unistr/u8-mbtouc-unsafe: Likewise.
33669         * modules/unistr/u8-mbtoucr: Likewise.
33670         * modules/unistr/u8-move: Likewise.
33671         * modules/unistr/u8-next: Likewise.
33672         * modules/unistr/u8-prev: Likewise.
33673         * modules/unistr/u8-set: Likewise.
33674         * modules/unistr/u8-startswith: Likewise.
33675         * modules/unistr/u8-stpcpy: Likewise.
33676         * modules/unistr/u8-stpncpy: Likewise.
33677         * modules/unistr/u8-strcat: Likewise.
33678         * modules/unistr/u8-strchr: Likewise.
33679         * modules/unistr/u8-strcmp: Likewise.
33680         * modules/unistr/u8-strcoll: Likewise.
33681         * modules/unistr/u8-strcpy: Likewise.
33682         * modules/unistr/u8-strcspn: Likewise.
33683         * modules/unistr/u8-strdup: Likewise.
33684         * modules/unistr/u8-strlen: Likewise.
33685         * modules/unistr/u8-strmblen: Likewise.
33686         * modules/unistr/u8-strmbtouc: Likewise.
33687         * modules/unistr/u8-strncat: Likewise.
33688         * modules/unistr/u8-strncmp: Likewise.
33689         * modules/unistr/u8-strncpy: Likewise.
33690         * modules/unistr/u8-strnlen: Likewise.
33691         * modules/unistr/u8-strpbrk: Likewise.
33692         * modules/unistr/u8-strrchr: Likewise.
33693         * modules/unistr/u8-strspn: Likewise.
33694         * modules/unistr/u8-strstr: Likewise.
33695         * modules/unistr/u8-strtok: Likewise.
33696         * modules/unistr/u8-to-u16: Likewise.
33697         * modules/unistr/u8-to-u32: Likewise.
33698         * modules/unistr/u8-uctomb: Likewise.
33699         * modules/unistr/u16-check: Likewise.
33700         * modules/unistr/u16-chr: Likewise.
33701         * modules/unistr/u16-cmp: Likewise.
33702         * modules/unistr/u16-cmp2: Likewise.
33703         * modules/unistr/u16-cpy: Likewise.
33704         * modules/unistr/u16-cpy-alloc: Likewise.
33705         * modules/unistr/u16-endswith: Likewise.
33706         * modules/unistr/u16-mblen: Likewise.
33707         * modules/unistr/u16-mbsnlen: Likewise.
33708         * modules/unistr/u16-mbtouc: Likewise.
33709         * modules/unistr/u16-mbtouc-unsafe: Likewise.
33710         * modules/unistr/u16-mbtoucr: Likewise.
33711         * modules/unistr/u16-move: Likewise.
33712         * modules/unistr/u16-next: Likewise.
33713         * modules/unistr/u16-prev: Likewise.
33714         * modules/unistr/u16-set: Likewise.
33715         * modules/unistr/u16-startswith: Likewise.
33716         * modules/unistr/u16-stpcpy: Likewise.
33717         * modules/unistr/u16-stpncpy: Likewise.
33718         * modules/unistr/u16-strcat: Likewise.
33719         * modules/unistr/u16-strchr: Likewise.
33720         * modules/unistr/u16-strcmp: Likewise.
33721         * modules/unistr/u16-strcoll: Likewise.
33722         * modules/unistr/u16-strcpy: Likewise.
33723         * modules/unistr/u16-strcspn: Likewise.
33724         * modules/unistr/u16-strdup: Likewise.
33725         * modules/unistr/u16-strlen: Likewise.
33726         * modules/unistr/u16-strmblen: Likewise.
33727         * modules/unistr/u16-strmbtouc: Likewise.
33728         * modules/unistr/u16-strncat: Likewise.
33729         * modules/unistr/u16-strncmp: Likewise.
33730         * modules/unistr/u16-strncpy: Likewise.
33731         * modules/unistr/u16-strnlen: Likewise.
33732         * modules/unistr/u16-strpbrk: Likewise.
33733         * modules/unistr/u16-strrchr: Likewise.
33734         * modules/unistr/u16-strspn: Likewise.
33735         * modules/unistr/u16-strstr: Likewise.
33736         * modules/unistr/u16-strtok: Likewise.
33737         * modules/unistr/u16-to-u32: Likewise.
33738         * modules/unistr/u16-to-u8: Likewise.
33739         * modules/unistr/u16-uctomb: Likewise.
33740         * modules/unistr/u32-check: Likewise.
33741         * modules/unistr/u32-chr: Likewise.
33742         * modules/unistr/u32-cmp: Likewise.
33743         * modules/unistr/u32-cmp2: Likewise.
33744         * modules/unistr/u32-cpy: Likewise.
33745         * modules/unistr/u32-cpy-alloc: Likewise.
33746         * modules/unistr/u32-endswith: Likewise.
33747         * modules/unistr/u32-mblen: Likewise.
33748         * modules/unistr/u32-mbsnlen: Likewise.
33749         * modules/unistr/u32-mbtouc: Likewise.
33750         * modules/unistr/u32-mbtouc-unsafe: Likewise.
33751         * modules/unistr/u32-mbtoucr: Likewise.
33752         * modules/unistr/u32-move: Likewise.
33753         * modules/unistr/u32-next: Likewise.
33754         * modules/unistr/u32-prev: Likewise.
33755         * modules/unistr/u32-set: Likewise.
33756         * modules/unistr/u32-startswith: Likewise.
33757         * modules/unistr/u32-stpcpy: Likewise.
33758         * modules/unistr/u32-stpncpy: Likewise.
33759         * modules/unistr/u32-strcat: Likewise.
33760         * modules/unistr/u32-strchr: Likewise.
33761         * modules/unistr/u32-strcmp: Likewise.
33762         * modules/unistr/u32-strcoll: Likewise.
33763         * modules/unistr/u32-strcpy: Likewise.
33764         * modules/unistr/u32-strcspn: Likewise.
33765         * modules/unistr/u32-strdup: Likewise.
33766         * modules/unistr/u32-strlen: Likewise.
33767         * modules/unistr/u32-strmblen: Likewise.
33768         * modules/unistr/u32-strmbtouc: Likewise.
33769         * modules/unistr/u32-strncat: Likewise.
33770         * modules/unistr/u32-strncmp: Likewise.
33771         * modules/unistr/u32-strncpy: Likewise.
33772         * modules/unistr/u32-strnlen: Likewise.
33773         * modules/unistr/u32-strpbrk: Likewise.
33774         * modules/unistr/u32-strrchr: Likewise.
33775         * modules/unistr/u32-strspn: Likewise.
33776         * modules/unistr/u32-strstr: Likewise.
33777         * modules/unistr/u32-strtok: Likewise.
33778         * modules/unistr/u32-to-u16: Likewise.
33779         * modules/unistr/u32-to-u8: Likewise.
33780         * modules/unistr/u32-uctomb: Likewise.
33781         * modules/uniwbrk/u8-wordbreaks: Likewise.
33782         * modules/uniwbrk/u16-wordbreaks: Likewise.
33783         * modules/uniwbrk/u32-wordbreaks: Likewise.
33784         * modules/uniwbrk/ulc-wordbreaks: Likewise.
33785         * modules/uniwbrk/wordbreak-property: Likewise.
33786         * modules/uniwidth/u8-strwidth: Likewise.
33787         * modules/uniwidth/u8-width: Likewise.
33788         * modules/uniwidth/u16-strwidth: Likewise.
33789         * modules/uniwidth/u16-width: Likewise.
33790         * modules/uniwidth/u32-strwidth: Likewise.
33791         * modules/uniwidth/u32-width: Likewise.
33792         * modules/uniwidth/width: Likewise.
33793         * modules/unicase/cased-tests (Makefile.am): Link all test programs
33794         with $(LIBUNISTRING).
33795         * modules/unicase/ignorable-tests: Likewise.
33796         * modules/unicase/locale-language-tests: Likewise.
33797         * modules/unicase/tolower-tests: Likewise.
33798         * modules/unicase/totitle-tests: Likewise.
33799         * modules/unicase/toupper-tests: Likewise.
33800         * modules/unicase/u8-casecmp-tests: Likewise.
33801         * modules/unicase/u8-casecoll-tests: Likewise.
33802         * modules/unicase/u8-casefold-tests: Likewise.
33803         * modules/unicase/u8-is-cased-tests: Likewise.
33804         * modules/unicase/u8-is-casefolded-tests: Likewise.
33805         * modules/unicase/u8-is-lowercase-tests: Likewise.
33806         * modules/unicase/u8-is-titlecase-tests: Likewise.
33807         * modules/unicase/u8-is-uppercase-tests: Likewise.
33808         * modules/unicase/u8-tolower-tests: Likewise.
33809         * modules/unicase/u8-totitle-tests: Likewise.
33810         * modules/unicase/u8-toupper-tests: Likewise.
33811         * modules/unicase/u16-casecmp-tests: Likewise.
33812         * modules/unicase/u16-casecoll-tests: Likewise.
33813         * modules/unicase/u16-casefold-tests: Likewise.
33814         * modules/unicase/u16-is-cased-tests: Likewise.
33815         * modules/unicase/u16-is-casefolded-tests: Likewise.
33816         * modules/unicase/u16-is-lowercase-tests: Likewise.
33817         * modules/unicase/u16-is-titlecase-tests: Likewise.
33818         * modules/unicase/u16-is-uppercase-tests: Likewise.
33819         * modules/unicase/u16-tolower-tests: Likewise.
33820         * modules/unicase/u16-totitle-tests: Likewise.
33821         * modules/unicase/u16-toupper-tests: Likewise.
33822         * modules/unicase/u32-casecmp-tests: Likewise.
33823         * modules/unicase/u32-casecoll-tests: Likewise.
33824         * modules/unicase/u32-casefold-tests: Likewise.
33825         * modules/unicase/u32-is-cased-tests: Likewise.
33826         * modules/unicase/u32-is-casefolded-tests: Likewise.
33827         * modules/unicase/u32-is-lowercase-tests: Likewise.
33828         * modules/unicase/u32-is-titlecase-tests: Likewise.
33829         * modules/unicase/u32-is-uppercase-tests: Likewise.
33830         * modules/unicase/u32-tolower-tests: Likewise.
33831         * modules/unicase/u32-totitle-tests: Likewise.
33832         * modules/unicase/u32-toupper-tests: Likewise.
33833         * modules/unicase/ulc-casecmp-tests: Likewise.
33834         * modules/unicase/ulc-casecoll-tests: Likewise.
33835         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
33836         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
33837         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
33838         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
33839         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
33840         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
33841         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
33842         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
33843         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
33844         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
33845         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
33846         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
33847         * modules/unictype/bidicategory-byname-tests: Likewise.
33848         * modules/unictype/bidicategory-name-tests: Likewise.
33849         * modules/unictype/bidicategory-of-tests: Likewise.
33850         * modules/unictype/bidicategory-test-tests: Likewise.
33851         * modules/unictype/block-list-tests: Likewise.
33852         * modules/unictype/block-of-tests: Likewise.
33853         * modules/unictype/block-test-tests: Likewise.
33854         * modules/unictype/category-C-tests: Likewise.
33855         * modules/unictype/category-Cc-tests: Likewise.
33856         * modules/unictype/category-Cf-tests: Likewise.
33857         * modules/unictype/category-Cn-tests: Likewise.
33858         * modules/unictype/category-Co-tests: Likewise.
33859         * modules/unictype/category-Cs-tests: Likewise.
33860         * modules/unictype/category-L-tests: Likewise.
33861         * modules/unictype/category-Ll-tests: Likewise.
33862         * modules/unictype/category-Lm-tests: Likewise.
33863         * modules/unictype/category-Lo-tests: Likewise.
33864         * modules/unictype/category-Lt-tests: Likewise.
33865         * modules/unictype/category-Lu-tests: Likewise.
33866         * modules/unictype/category-M-tests: Likewise.
33867         * modules/unictype/category-Mc-tests: Likewise.
33868         * modules/unictype/category-Me-tests: Likewise.
33869         * modules/unictype/category-Mn-tests: Likewise.
33870         * modules/unictype/category-N-tests: Likewise.
33871         * modules/unictype/category-Nd-tests: Likewise.
33872         * modules/unictype/category-Nl-tests: Likewise.
33873         * modules/unictype/category-No-tests: Likewise.
33874         * modules/unictype/category-P-tests: Likewise.
33875         * modules/unictype/category-Pc-tests: Likewise.
33876         * modules/unictype/category-Pd-tests: Likewise.
33877         * modules/unictype/category-Pe-tests: Likewise.
33878         * modules/unictype/category-Pf-tests: Likewise.
33879         * modules/unictype/category-Pi-tests: Likewise.
33880         * modules/unictype/category-Po-tests: Likewise.
33881         * modules/unictype/category-Ps-tests: Likewise.
33882         * modules/unictype/category-S-tests: Likewise.
33883         * modules/unictype/category-Sc-tests: Likewise.
33884         * modules/unictype/category-Sk-tests: Likewise.
33885         * modules/unictype/category-Sm-tests: Likewise.
33886         * modules/unictype/category-So-tests: Likewise.
33887         * modules/unictype/category-Z-tests: Likewise.
33888         * modules/unictype/category-Zl-tests: Likewise.
33889         * modules/unictype/category-Zp-tests: Likewise.
33890         * modules/unictype/category-Zs-tests: Likewise.
33891         * modules/unictype/category-and-not-tests: Likewise.
33892         * modules/unictype/category-and-tests: Likewise.
33893         * modules/unictype/category-byname-tests: Likewise.
33894         * modules/unictype/category-name-tests: Likewise.
33895         * modules/unictype/category-none-tests: Likewise.
33896         * modules/unictype/category-of-tests: Likewise.
33897         * modules/unictype/category-or-tests: Likewise.
33898         * modules/unictype/category-test-withtable-tests: Likewise.
33899         * modules/unictype/combining-class-tests: Likewise.
33900         * modules/unictype/ctype-alnum-tests: Likewise.
33901         * modules/unictype/ctype-alpha-tests: Likewise.
33902         * modules/unictype/ctype-blank-tests: Likewise.
33903         * modules/unictype/ctype-cntrl-tests: Likewise.
33904         * modules/unictype/ctype-digit-tests: Likewise.
33905         * modules/unictype/ctype-graph-tests: Likewise.
33906         * modules/unictype/ctype-lower-tests: Likewise.
33907         * modules/unictype/ctype-print-tests: Likewise.
33908         * modules/unictype/ctype-punct-tests: Likewise.
33909         * modules/unictype/ctype-space-tests: Likewise.
33910         * modules/unictype/ctype-upper-tests: Likewise.
33911         * modules/unictype/ctype-xdigit-tests: Likewise.
33912         * modules/unictype/decimal-digit-tests: Likewise.
33913         * modules/unictype/digit-tests: Likewise.
33914         * modules/unictype/mirror-tests: Likewise.
33915         * modules/unictype/numeric-tests: Likewise.
33916         * modules/unictype/property-alphabetic-tests: Likewise.
33917         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
33918         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
33919         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
33920         * modules/unictype/property-bidi-block-separator-tests: Likewise.
33921         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
33922         * modules/unictype/property-bidi-common-separator-tests: Likewise.
33923         * modules/unictype/property-bidi-control-tests: Likewise.
33924         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
33925         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
33926         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
33927         * modules/unictype/property-bidi-european-digit-tests: Likewise.
33928         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
33929         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
33930         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
33931         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
33932         * modules/unictype/property-bidi-pdf-tests: Likewise.
33933         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
33934         * modules/unictype/property-bidi-whitespace-tests: Likewise.
33935         * modules/unictype/property-byname-tests: Likewise.
33936         * modules/unictype/property-combining-tests: Likewise.
33937         * modules/unictype/property-composite-tests: Likewise.
33938         * modules/unictype/property-currency-symbol-tests: Likewise.
33939         * modules/unictype/property-dash-tests: Likewise.
33940         * modules/unictype/property-decimal-digit-tests: Likewise.
33941         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
33942         * modules/unictype/property-deprecated-tests: Likewise.
33943         * modules/unictype/property-diacritic-tests: Likewise.
33944         * modules/unictype/property-extender-tests: Likewise.
33945         * modules/unictype/property-format-control-tests: Likewise.
33946         * modules/unictype/property-grapheme-base-tests: Likewise.
33947         * modules/unictype/property-grapheme-extend-tests: Likewise.
33948         * modules/unictype/property-grapheme-link-tests: Likewise.
33949         * modules/unictype/property-hex-digit-tests: Likewise.
33950         * modules/unictype/property-hyphen-tests: Likewise.
33951         * modules/unictype/property-id-continue-tests: Likewise.
33952         * modules/unictype/property-id-start-tests: Likewise.
33953         * modules/unictype/property-ideographic-tests: Likewise.
33954         * modules/unictype/property-ids-binary-operator-tests: Likewise.
33955         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
33956         * modules/unictype/property-ignorable-control-tests: Likewise.
33957         * modules/unictype/property-iso-control-tests: Likewise.
33958         * modules/unictype/property-join-control-tests: Likewise.
33959         * modules/unictype/property-left-of-pair-tests: Likewise.
33960         * modules/unictype/property-line-separator-tests: Likewise.
33961         * modules/unictype/property-logical-order-exception-tests: Likewise.
33962         * modules/unictype/property-lowercase-tests: Likewise.
33963         * modules/unictype/property-math-tests: Likewise.
33964         * modules/unictype/property-non-break-tests: Likewise.
33965         * modules/unictype/property-not-a-character-tests: Likewise.
33966         * modules/unictype/property-numeric-tests: Likewise.
33967         * modules/unictype/property-other-alphabetic-tests: Likewise.
33968         * modules/unictype/property-other-default-ignorable-code-point-tests:
33969         Likewise.
33970         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
33971         * modules/unictype/property-other-id-continue-tests: Likewise.
33972         * modules/unictype/property-other-id-start-tests: Likewise.
33973         * modules/unictype/property-other-lowercase-tests: Likewise.
33974         * modules/unictype/property-other-math-tests: Likewise.
33975         * modules/unictype/property-other-uppercase-tests: Likewise.
33976         * modules/unictype/property-paired-punctuation-tests: Likewise.
33977         * modules/unictype/property-paragraph-separator-tests: Likewise.
33978         * modules/unictype/property-pattern-syntax-tests: Likewise.
33979         * modules/unictype/property-pattern-white-space-tests: Likewise.
33980         * modules/unictype/property-private-use-tests: Likewise.
33981         * modules/unictype/property-punctuation-tests: Likewise.
33982         * modules/unictype/property-quotation-mark-tests: Likewise.
33983         * modules/unictype/property-radical-tests: Likewise.
33984         * modules/unictype/property-sentence-terminal-tests: Likewise.
33985         * modules/unictype/property-soft-dotted-tests: Likewise.
33986         * modules/unictype/property-space-tests: Likewise.
33987         * modules/unictype/property-terminal-punctuation-tests: Likewise.
33988         * modules/unictype/property-test-tests: Likewise.
33989         * modules/unictype/property-titlecase-tests: Likewise.
33990         * modules/unictype/property-unassigned-code-value-tests: Likewise.
33991         * modules/unictype/property-unified-ideograph-tests: Likewise.
33992         * modules/unictype/property-uppercase-tests: Likewise.
33993         * modules/unictype/property-variation-selector-tests: Likewise.
33994         * modules/unictype/property-white-space-tests: Likewise.
33995         * modules/unictype/property-xid-continue-tests: Likewise.
33996         * modules/unictype/property-xid-start-tests: Likewise.
33997         * modules/unictype/property-zero-width-tests: Likewise.
33998         * modules/unictype/scripts-tests: Likewise.
33999         * modules/unictype/syntax-c-ident-tests: Likewise.
34000         * modules/unictype/syntax-c-whitespace-tests: Likewise.
34001         * modules/unictype/syntax-java-ident-tests: Likewise.
34002         * modules/unictype/syntax-java-whitespace-tests: Likewise.
34003         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
34004         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
34005         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
34006         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
34007         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
34008         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
34009         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
34010         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
34011         * modules/uniname/uniname-tests: Likewise.
34012         * modules/uninorm/canonical-decomposition-tests: Likewise.
34013         * modules/uninorm/compat-decomposition-tests: Likewise.
34014         * modules/uninorm/composition-tests: Likewise.
34015         * modules/uninorm/decomposing-form-tests: Likewise.
34016         * modules/uninorm/decomposition-tests: Likewise.
34017         * modules/uninorm/filter-tests: Likewise.
34018         * modules/uninorm/nfc-tests: Likewise.
34019         * modules/uninorm/nfd-tests: Likewise.
34020         * modules/uninorm/nfkc-tests: Likewise.
34021         * modules/uninorm/nfkd-tests: Likewise.
34022         * modules/uninorm/u8-normcmp-tests: Likewise.
34023         * modules/uninorm/u8-normcoll-tests: Likewise.
34024         * modules/uninorm/u16-normcmp-tests: Likewise.
34025         * modules/uninorm/u16-normcoll-tests: Likewise.
34026         * modules/uninorm/u32-normcmp-tests: Likewise.
34027         * modules/uninorm/u32-normcoll-tests: Likewise.
34028         * modules/unistdio/u8-asnprintf-tests: Likewise.
34029         * modules/unistdio/u8-vasnprintf-tests: Likewise.
34030         * modules/unistdio/u8-vasprintf-tests: Likewise.
34031         * modules/unistdio/u8-vsnprintf-tests: Likewise.
34032         * modules/unistdio/u8-vsprintf-tests: Likewise.
34033         * modules/unistdio/u16-asnprintf-tests: Likewise.
34034         * modules/unistdio/u16-vasnprintf-tests: Likewise.
34035         * modules/unistdio/u16-vasprintf-tests: Likewise.
34036         * modules/unistdio/u16-vsnprintf-tests: Likewise.
34037         * modules/unistdio/u16-vsprintf-tests: Likewise.
34038         * modules/unistdio/u32-asnprintf-tests: Likewise.
34039         * modules/unistdio/u32-vasnprintf-tests: Likewise.
34040         * modules/unistdio/u32-vasprintf-tests: Likewise.
34041         * modules/unistdio/u32-vsnprintf-tests: Likewise.
34042         * modules/unistdio/u32-vsprintf-tests: Likewise.
34043         * modules/unistdio/ulc-asnprintf-tests: Likewise.
34044         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
34045         * modules/unistdio/ulc-vasprintf-tests: Likewise.
34046         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
34047         * modules/unistdio/ulc-vsprintf-tests: Likewise.
34048         * modules/unistr/u8-check-tests: Likewise.
34049         * modules/unistr/u8-chr-tests: Likewise.
34050         * modules/unistr/u8-cmp-tests: Likewise.
34051         * modules/unistr/u8-cmp2-tests: Likewise.
34052         * modules/unistr/u8-cpy-alloc-tests: Likewise.
34053         * modules/unistr/u8-cpy-tests: Likewise.
34054         * modules/unistr/u8-mblen-tests: Likewise.
34055         * modules/unistr/u8-mbsnlen-tests: Likewise.
34056         * modules/unistr/u8-mbtouc-tests: Likewise.
34057         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
34058         * modules/unistr/u8-mbtoucr-tests: Likewise.
34059         * modules/unistr/u8-move-tests: Likewise.
34060         * modules/unistr/u8-next-tests: Likewise.
34061         * modules/unistr/u8-prev-tests: Likewise.
34062         * modules/unistr/u8-set-tests: Likewise.
34063         * modules/unistr/u8-stpcpy-tests: Likewise.
34064         * modules/unistr/u8-stpncpy-tests: Likewise.
34065         * modules/unistr/u8-strcat-tests: Likewise.
34066         * modules/unistr/u8-strcmp-tests: Likewise.
34067         * modules/unistr/u8-strcoll-tests: Likewise.
34068         * modules/unistr/u8-strcpy-tests: Likewise.
34069         * modules/unistr/u8-strdup-tests: Likewise.
34070         * modules/unistr/u8-strlen-tests: Likewise.
34071         * modules/unistr/u8-strmblen-tests: Likewise.
34072         * modules/unistr/u8-strmbtouc-tests: Likewise.
34073         * modules/unistr/u8-strncat-tests: Likewise.
34074         * modules/unistr/u8-strncmp-tests: Likewise.
34075         * modules/unistr/u8-strncpy-tests: Likewise.
34076         * modules/unistr/u8-strnlen-tests: Likewise.
34077         * modules/unistr/u8-to-u16-tests: Likewise.
34078         * modules/unistr/u8-to-u32-tests: Likewise.
34079         * modules/unistr/u8-uctomb-tests: Likewise.
34080         * modules/unistr/u16-check-tests: Likewise.
34081         * modules/unistr/u16-chr-tests: Likewise.
34082         * modules/unistr/u16-cmp-tests: Likewise.
34083         * modules/unistr/u16-cmp2-tests: Likewise.
34084         * modules/unistr/u16-cpy-alloc-tests: Likewise.
34085         * modules/unistr/u16-cpy-tests: Likewise.
34086         * modules/unistr/u16-mblen-tests: Likewise.
34087         * modules/unistr/u16-mbsnlen-tests: Likewise.
34088         * modules/unistr/u16-mbtouc-tests: Likewise.
34089         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
34090         * modules/unistr/u16-mbtoucr-tests: Likewise.
34091         * modules/unistr/u16-move-tests: Likewise.
34092         * modules/unistr/u16-next-tests: Likewise.
34093         * modules/unistr/u16-prev-tests: Likewise.
34094         * modules/unistr/u16-set-tests: Likewise.
34095         * modules/unistr/u16-stpcpy-tests: Likewise.
34096         * modules/unistr/u16-stpncpy-tests: Likewise.
34097         * modules/unistr/u16-strcat-tests: Likewise.
34098         * modules/unistr/u16-strcmp-tests: Likewise.
34099         * modules/unistr/u16-strcoll-tests: Likewise.
34100         * modules/unistr/u16-strcpy-tests: Likewise.
34101         * modules/unistr/u16-strdup-tests: Likewise.
34102         * modules/unistr/u16-strlen-tests: Likewise.
34103         * modules/unistr/u16-strmblen-tests: Likewise.
34104         * modules/unistr/u16-strmbtouc-tests: Likewise.
34105         * modules/unistr/u16-strncat-tests: Likewise.
34106         * modules/unistr/u16-strncmp-tests: Likewise.
34107         * modules/unistr/u16-strncpy-tests: Likewise.
34108         * modules/unistr/u16-strnlen-tests: Likewise.
34109         * modules/unistr/u16-to-u32-tests: Likewise.
34110         * modules/unistr/u16-to-u8-tests: Likewise.
34111         * modules/unistr/u16-uctomb-tests: Likewise.
34112         * modules/unistr/u32-check-tests: Likewise.
34113         * modules/unistr/u32-chr-tests: Likewise.
34114         * modules/unistr/u32-cmp-tests: Likewise.
34115         * modules/unistr/u32-cmp2-tests: Likewise.
34116         * modules/unistr/u32-cpy-alloc-tests: Likewise.
34117         * modules/unistr/u32-cpy-tests: Likewise.
34118         * modules/unistr/u32-mblen-tests: Likewise.
34119         * modules/unistr/u32-mbsnlen-tests: Likewise.
34120         * modules/unistr/u32-mbtouc-tests: Likewise.
34121         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
34122         * modules/unistr/u32-mbtoucr-tests: Likewise.
34123         * modules/unistr/u32-move-tests: Likewise.
34124         * modules/unistr/u32-next-tests: Likewise.
34125         * modules/unistr/u32-prev-tests: Likewise.
34126         * modules/unistr/u32-set-tests: Likewise.
34127         * modules/unistr/u32-stpcpy-tests: Likewise.
34128         * modules/unistr/u32-stpncpy-tests: Likewise.
34129         * modules/unistr/u32-strcat-tests: Likewise.
34130         * modules/unistr/u32-strcmp-tests: Likewise.
34131         * modules/unistr/u32-strcoll-tests: Likewise.
34132         * modules/unistr/u32-strcpy-tests: Likewise.
34133         * modules/unistr/u32-strdup-tests: Likewise.
34134         * modules/unistr/u32-strlen-tests: Likewise.
34135         * modules/unistr/u32-strmblen-tests: Likewise.
34136         * modules/unistr/u32-strmbtouc-tests: Likewise.
34137         * modules/unistr/u32-strncat-tests: Likewise.
34138         * modules/unistr/u32-strncmp-tests: Likewise.
34139         * modules/unistr/u32-strncpy-tests: Likewise.
34140         * modules/unistr/u32-strnlen-tests: Likewise.
34141         * modules/unistr/u32-to-u16-tests: Likewise.
34142         * modules/unistr/u32-to-u8-tests: Likewise.
34143         * modules/unistr/u32-uctomb-tests: Likewise.
34144         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
34145         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
34146         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
34147         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
34148         * modules/uniwidth/u8-strwidth-tests: Likewise.
34149         * modules/uniwidth/u8-width-tests: Likewise.
34150         * modules/uniwidth/u16-strwidth-tests: Likewise.
34151         * modules/uniwidth/u16-width-tests: Likewise.
34152         * modules/uniwidth/u32-strwidth-tests: Likewise.
34153         * modules/uniwidth/u32-width-tests: Likewise.
34154         * modules/uniwidth/width-tests: Likewise.
34155
34156 2010-05-18  Richard Jones  <rjones@redhat.com>
34157
34158         doc: users.txt: list hivex
34159         * users.txt: Add hivex.
34160
34161 2010-05-18  Richard Jones  <rjones@redhat.com>
34162
34163         doc: users.txt: list febootstrap
34164         * users.txt: Add febootstrap.
34165
34166 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
34167
34168         bootstrap: fix an error when gnulib is not used as a git submodule
34169         * build-aux/bootstrap (gnulib_path): If its length is zero then
34170         assign "gnulib" to it.
34171         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
34172
34173 2010-05-16  Bruno Haible  <bruno@clisp.org>
34174
34175         Avoid autoconf warnings about AM_ICONV.
34176         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
34177         2.64.
34178
34179 2010-05-16  Bruno Haible  <bruno@clisp.org>
34180
34181         absolute-header: Make the macro usable in more situations.
34182         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
34183         from gl_ABSOLUTE_HEADER.
34184         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
34185
34186 2010-05-16  James Youngman  <jay@gnu.org>
34187
34188         doc: update users.txt
34189         * users.txt: Add CSSC.
34190
34191 2010-05-16  Jim Meyering  <meyering@redhat.com>
34192
34193         init.sh: fix an error in the previous change; add more comments
34194         * tests/init.sh: Compare exit code in loop against 9, not 2.
34195         Patch by Bruno Haible.
34196         Make the two tests more similar by adding an empty "then" clause.
34197         Add comments.
34198
34199         init.sh: avoid unnecessary shell re-exec
34200         * tests/init.sh: Improve the re-exec-required check to first test the
34201         current shell.  If it passes the test, do not search for a shell that
34202         does pass, and do not re-exec.  This test is particularly contorted to
34203         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
34204         of $(...) evokes a syntax error and causes immediate shell exit with
34205         status 2.  Bruno Haible reported that the re-exec made it impossible
34206         to single-step through any init.sh-using script.
34207
34208 2010-05-16  Bruno Haible  <bruno@clisp.org>
34209
34210         Fix collision between gnulib's and libintl's printf replacements.
34211         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
34212         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
34213         (printf): When using GNU C, map the __printf__ function to rpl_printf
34214         via __asm__. When not using GNU C, define rpl_printf instead of
34215         __printf__.
34216         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
34217         commit.
34218         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
34219         commit.
34220         * m4/asm-underscore.m4: New file.
34221         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
34222         * modules/stdio (Files): Add m4/asm-underscore.m4.
34223         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
34224         Reported by Ben Pfaff.
34225
34226 2010-05-16  Bruno Haible  <bruno@clisp.org>
34227
34228         verify: Avoid skipping the test on openSUSE 11.0.
34229         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
34230
34231 2010-05-13  Bruno Haible  <bruno@clisp.org>
34232
34233         Avoid useless warnings from G++.
34234         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
34235         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
34236         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34237
34238 2010-05-11  Jim Meyering  <meyering@redhat.com>
34239
34240         maint.mk: tweak preceding change
34241         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
34242         regexps tighter by anchoring at EOL, and make the new group "shy"
34243         for slightly decreased overhead.
34244
34245 2010-05-11  Eric Blake  <eblake@redhat.com>
34246
34247         maint.mk: gnulib doesn't guarantee NSIG
34248         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
34249
34250 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
34251
34252         test-pwrite.c: Remove unused variable declaration.
34253         * tests/test-pwrite.c (main): Remove read_buf declaration.
34254
34255         Remove useless test-pwrite.sh file.
34256         * tests/test-pwrite.sh: Delete file.
34257         * modules/pwrite-tests: Remove references.
34258         Reported by Bruno Haible.
34259
34260 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
34261
34262         init.sh: fix a typo
34263         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
34264
34265 2010-05-10  Jim Meyering  <meyering@redhat.com>
34266
34267         maint.mk: avoid using a temporary file in the always-defined-macros check
34268         * top/maint.mk (.re-defmac): Remove rule.
34269         (gl_trap_): Remove definition.
34270         (sc_prohibit_always-defined_macros): Rewrite not to create and
34271         depend on a temporary file.  Instead, depend on GNU grep's ability
34272         to read a list of regular expressions from stdin when given "-f -".
34273
34274 2010-05-09  Bruno Haible  <bruno@clisp.org>
34275
34276         Update to GNU gettext 0.18, part 1.
34277         * m4/gettext.m4: Update to GNU gettext 0.18.
34278         * m4/intl.m4: Likewise.
34279         * m4/po.m4: Likewise.
34280         * modules/gettext (Files): Add m4/fcntl-o.m4.
34281         (configure.ac): Require gettext infrastructure from version 0.18.
34282
34283 2010-05-09  Jim Meyering  <meyering@redhat.com>
34284
34285         init.sh: enable MALLOC_PERTURB_
34286         * tests/init.sh: Enable glibc's malloc-perturbing option.
34287
34288         maint.mk: improve sc_cross_check_PATH_usage_in_tests
34289         With my recent change in init.sh from the two-line form:
34290             -#   : ${srcdir=.}
34291             -#   . "$srcdir/init.sh"; path_prepend_ .
34292             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
34293         I noticed that using the one-line form would cause this test
34294         to fail with a false-positive, or to stop working altogether,
34295         depending on whether help-version changed or all the tests did.
34296         * top/maint.mk (_hv_regex): Remove this definition.
34297         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
34298         (_hv_regex_strong): Use a stronger regex to check for conformance.
34299         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
34300         Give a separate diagnostic for lack of conforming use.
34301
34302         maint.mk: prohibit definition of symbols defined by gnulib
34303         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
34304         definition of symbols defined by gnulib.
34305
34306 2010-05-09  Bruno Haible  <bruno@clisp.org>
34307
34308         acl: Avoid test failure on Cygwin-hosted mingw.
34309         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
34310
34311 2010-05-09  Bruno Haible  <bruno@clisp.org>
34312
34313         error: Use system's fcntl function.
34314         * lib/error.c (fcntl): Undefine.
34315
34316 2010-05-09  Jim Meyering  <meyering@redhat.com>
34317
34318         verify: adjust formatting to be more consistent
34319         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
34320         argument-list '('s, and after one comma.
34321
34322 2010-05-09  Bruno Haible  <bruno@clisp.org>
34323
34324         error: More reliable output on mingw.
34325         * lib/error.c: Include <windows.h>.
34326         (is_open): New function.
34327         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
34328         defined.
34329
34330 2010-05-09  Bruno Haible  <bruno@clisp.org>
34331
34332         vasnprintf: Fix syntax errors in libintl build on mingw.
34333         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
34334         pad_ourselves and prec_ourselves after use.
34335
34336 2010-05-08  Bruno Haible  <bruno@clisp.org>
34337
34338         * lib/config.charset: Update comments for Cygwin 1.7.
34339         * lib/localcharset.c: Likewise.
34340
34341 2010-05-07  Jim Meyering  <meyering@redhat.com>
34342
34343         init.sh: improve comments
34344         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
34345         . "${srcdir=.}/init.sh"; path_prepend_ .
34346         Add a note about path_prepend_ and the alternative of using
34347         TESTS_ENVIRONMENT.
34348
34349 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
34350
34351         exclude: Unescape hashed patterns in wildcard mode.
34352         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
34353         to the hash list.
34354         * tests/test-exclude8.sh: New test case.
34355         * modules/exclude-tests: Add new test.
34356
34357 2010-05-05  Eric Blake  <eblake@redhat.com>
34358
34359         verify: automate tests
34360         * modules/verify-tests: New module.
34361         * tests/test-verify.sh: New file.
34362         * tests/test-verify.c: Guard each negative test with a unique id.
34363         Also avoid warning about unused left hand of comma expressions.
34364
34365 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
34366
34367         Further improvements to verify.h, suggested by Eric Blake.
34368         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
34369         the GL_* versions, to avoid collision with OpenGL.
34370         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
34371         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
34372         than testing merely whether it's defined.
34373
34374         Modify verify.h to pacify gcc -Wredundant_decls.
34375         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
34376         These use the prefix "GL_" since they're likely to be useful elsewhere.
34377         We may need to break them out into a different .h file.
34378         (__COUNTER__): Define to 0 if the compiler doesn't support it.
34379         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
34380         of verify_function__.
34381
34382 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
34383
34384         Tests for module pwrite.
34385         * modules/pwrite-tests: New file.
34386         * tests/test-pwrite.sh: New file.
34387         * tests/test-pwrite.c: New file.
34388
34389         New module pwrite.
34390         * lib/unistd.in.h (pwrite): New declaration.
34391         * lib/pwrite.c: New file, from glibc with modifications.
34392         * m4/pwrite.m4: New file.
34393         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
34394         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
34395         REPLACE_PWRITE.
34396         * modules/pwrite: New file.
34397         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
34398         REPLACE_PWRITE.
34399         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
34400         * doc/posix-functions/pwrite.texi: Mention the new module.
34401
34402 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
34403
34404         pread: Update documentation.
34405         * doc/posix-functions/pread.texi: Mention the 'pread' module.
34406
34407 2010-05-04  Eric Blake  <eblake@redhat.com>
34408
34409         docs: update cygwin progress
34410         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
34411         this bug.
34412         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
34413         Added in cygwin 1.7.2.
34414         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
34415         Likewise.
34416         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
34417         Likewise.
34418         * doc/glibc-functions/dup3.texi (dup3): Likewise.
34419         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
34420         * doc/glibc-functions/accept4.texi (accept4): Likewise.
34421         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
34422         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
34423         Mention nproc module.
34424         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
34425         bug in cygwin 1.7.5 addition.
34426         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
34427         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
34428         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
34429         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
34430         1.7.5.
34431         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
34432         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
34433         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
34434         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
34435         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
34436         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
34437         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
34438         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
34439         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
34440         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
34441         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
34442         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
34443         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
34444         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
34445         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
34446         Likewise.
34447         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
34448         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
34449         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
34450         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
34451         Likewise.
34452         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
34453         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
34454         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
34455         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
34456         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
34457         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
34458         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
34459         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
34460         Likewise.
34461         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
34462         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
34463         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
34464         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
34465         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
34466         Likewise.
34467         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
34468         Likewise.
34469         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
34470         Likewise.
34471         * doc/glibc-functions/xdrrec_endofrecord.texi
34472         (xdrrec_endofrecord): Likewise.
34473         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
34474         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
34475         Likewise.
34476         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
34477         Likewise.
34478
34479 2010-05-04  Jim Meyering  <meyering@redhat.com>
34480
34481         gendocs.sh: make its "-s FILE" option more useful
34482         * build-aux/gendocs.sh: When honoring the -s FILE option, update
34483         $PACKAGE to reflect the probably-different basename of "FILE".
34484
34485 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
34486
34487         bootstrap: don't ignore download_po_files failure
34488         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
34489         failure.
34490
34491 2010-05-03  Jim Meyering  <meyering@redhat.com>
34492
34493         maint.mk: allow to pass options to gendocs.sh
34494         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
34495         (gendocs_options_): New overridable variable.
34496
34497         gnu-web-doc-update: don't ignore configure or build failure
34498         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
34499
34500         announce-gen: backslash-escape '@'s in --help output
34501         * build-aux/announce-gen: Fix syntax errors.
34502
34503         maint.mk, announce-gen: allow project-specific announcement mail headers
34504         * top/maint.mk (translation_project_): Define default.
34505         (announcement_Cc_, announcement_mail_headers_): Likewise.
34506         (announcement): Invoke announce-gen with new --mail-headers option.
34507         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
34508
34509         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
34510         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
34511         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
34512         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
34513         line in the "err2" output file when running "make check" in verbose
34514         mode (i.e., with set -x enabled).
34515
34516 2010-05-03  Bruno Haible  <bruno@clisp.org>
34517
34518         wctob: Fix for weird platforms.
34519         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
34520         argument value.
34521
34522 2010-05-03  Jim Meyering  <meyering@redhat.com>
34523
34524         maint.mk: prohibit unwarranted use of <strings.h>
34525         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
34526         strings.h in a file that does not also use strcasecmp, strncasecmp,
34527         ffs or ffsll.
34528
34529         maint.mk: remove obsolete comments
34530         * top/maint.mk: Remove stale, commented-out rules.
34531
34532 2010-05-02  Bruno Haible  <bruno@clisp.org>
34533
34534         wcwidth: Declare also when it's aliased.
34535         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
34536         macro.
34537
34538 2010-05-02  Bruno Haible  <bruno@clisp.org>
34539
34540         Fix regression from 2010-04-25.
34541         * gnulib-tool (func_modules_transitive_closure): Check the status of
34542         all modules, not only of the tests that are of the form foo-tests where
34543         foo is a module.
34544
34545 2010-05-02  Bruno Haible  <bruno@clisp.org>
34546
34547         wctob: Work around nasty Cygwin 1.7.2 bug.
34548         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
34549         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
34550
34551 2010-05-01  Bruno Haible  <bruno@clisp.org>
34552
34553         fpurge: Sharper test.
34554         * tests/test-fpurge.c (main): Add one more ftell check.
34555         * modules/fpurge-tests (Depends-on): Add ftell.
34556         Suggested by Eric Blake.
34557
34558 2010-05-01  Bruno Haible  <bruno@clisp.org>
34559
34560         ftello: Another test.
34561         * tests/test-ftello3.c: New file.
34562         * modules/ftello-tests (Files): Add it.
34563         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
34564         MOSTLYCLEANFILES.
34565
34566         ftell: Another test.
34567         * tests/test-ftell3.c: New file.
34568         * modules/ftell-tests (Files): Add it.
34569         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
34570         MOSTLYCLEANFILES.
34571
34572 2010-05-01  Bruno Haible  <bruno@clisp.org>
34573
34574         ftell, ftello: Work around Solaris bug.
34575         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
34576         * lib/ftello.c: Include stdio-impl.h.
34577         (ftello): On Solaris, when _IOWRT is set, compute the result without
34578         looking at _IOREAD.
34579         * modules/ftello (Files): Add lib/stdio-impl.h.
34580         * doc/posix-functions/ftell.texi: Mention Solaris bug.
34581         * doc/posix-functions/ftello.texi: Likewise.
34582         Reported by Eric Blake.
34583
34584 2010-05-01  Bruno Haible  <bruno@clisp.org>
34585
34586         freading: Adapt to special meaning of _IOREAD flag on Solaris.
34587         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
34588         the _IOWRT flag is also set.
34589
34590 2010-05-01  Bruno Haible  <bruno@clisp.org>
34591
34592         Fix doc about a HP-UX stdio bug.
34593         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
34594         * doc/posix-functions/ftello.texi: Likewise.
34595
34596 2010-05-01  Bruno Haible  <bruno@clisp.org>
34597
34598         lseek test: Fix failure on Solaris.
34599         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
34600         output.
34601
34602 2010-04-30  Jim Meyering  <meyering@redhat.com>
34603
34604         bootstrap: don't ignore failure to generate po*/Makevars
34605         * build-aux/bootstrap (with_gettext): Don't ignore failure
34606         to create po/Makevars or runtime-po/Makevars.
34607
34608 2010-04-29  Eric Blake  <eblake@redhat.com>
34609
34610         headers: relax license to LGPLv2+
34611         * modules/fcntl-h (License): Relax license.
34612         * modules/getopt-posix (License): Likewise.
34613         * modules/locale (License): Likewise.
34614         * modules/math (License): Likewise.
34615         * modules/pty (License): Likewise.
34616         * modules/sched (License): Likewise.
34617         * modules/search (License): Likewise.
34618         * modules/spawn (License): Likewise.
34619         * modules/stdarg (License): Likewise.
34620         * modules/sysexits (License): Likewise.
34621
34622 2010-04-29  Jim Meyering  <meyering@redhat.com>
34623
34624         inttypes: relax license to LGPLv2+
34625         * modules/inttypes (License): Relax license.
34626
34627 2010-04-29  Simon Josefsson  <simon@josefsson.org>
34628
34629         * top/maint.mk (indent): Run twice to produce idempotent results.
34630
34631 2010-04-28  Bruno Haible  <bruno@clisp.org>
34632
34633         getdate: Generate getdate.c in the source directory.
34634         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
34635         MOSTLYCLEANFILES.
34636         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
34637
34638 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
34639
34640         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
34641         is not declared as a const *; avoid warnings in that case.
34642
34643 2010-04-28  Eric Blake  <eblake@redhat.com>
34644
34645         canonicalize-lgpl: avoid compiler warning
34646         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
34647         declaration' / 'extraneous semicolon' warning with some compilers.
34648         Reported by Andreas Gruenbacher.
34649
34650 2010-04-28  Jim Meyering  <meyering@redhat.com>
34651
34652         init.sh: ensure a more reliable exit status when exiting via trap
34653         * tests/init.sh (setup_): Don't rely on $? in signal handler.
34654         Inspired by patches from Dmitry V. Levin.
34655         Also trap on signal 3 (SIGQUIT).
34656
34657 2010-04-27  Bruno Haible  <bruno@clisp.org>
34658
34659         Update doc about utimes().
34660         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
34661         'utimens' module.
34662         Reported by Andreas Gruenbacher <agruen@suse.de>.
34663
34664 2010-04-27  Eric Blake  <eblake@redhat.com>
34665
34666         full-read, full-write: relax license
34667         * modules/full-read (License): Drop to LGPLv2+.
34668         * modules/full-write (License): Likewise.
34669         * modules/safe-read (License): Likewise.
34670         * modules/safe-write (License): Likewise.
34671
34672         pthread: mention library for linking
34673         * modules/pthread (Link): Mention $(LIB_PTHREAD).
34674
34675 2010-04-27  Jim Meyering  <meyering@redhat.com>
34676
34677         maint.mk: fix a bug introduced in last change
34678         * top/maint.mk (gl_assured_headers_): Now that all names are on
34679         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
34680         is not anchored to end of word, it should be adequate.
34681
34682         maint.mk: avoid side-effect in latest syntax-check
34683         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
34684         to run commands via $(shell...), and hence to incur cost only when
34685         the new rule is actually run.
34686
34687         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
34688         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
34689         and use that to create a regexp used to detect all #if HAVE_..._H uses.
34690         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
34691         (gl_assured_headers_, az_, AZ_): Define.
34692         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
34693
34694 2010-04-26  Jim Meyering  <jim@meyering.net>
34695             Bruno Haible  <bruno@clisp.org>
34696
34697         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
34698         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
34699         Prompted by an exchange with Gilles Espinasse.
34700
34701 2010-04-26  Jim Meyering  <meyering@redhat.com>
34702
34703         git-version-gen: aesthetic tweak
34704         * build-aux/git-version-gen: Use "$nl" rather than a literal,
34705         so that the command remains on a single line.
34706
34707 2010-04-26  Eric Blake  <eblake@redhat.com>
34708
34709         git-version-gen: allow use on EBCDIC hosts
34710         * build-aux/git-version-gen (dirty): Use literal rather than tying
34711         ourselves to ascii.
34712         Reported by Steve Goetze.
34713
34714 2010-04-25  Bruno Haible  <bruno@clisp.org>
34715
34716         netdb: Add support for GNULIB_POSIXCHECK.
34717         * lib/netdb.in.h: Include warn-on-use.h.
34718         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
34719         functions are used when GNULIB_POSIXCHECK is defined and the
34720         getaddrinfo module is not in use.
34721         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
34722         freeaddrinfo, gai_strerror, getnameinfo are declared.
34723         * modules/netdb (Depends-on): Add warn-on-use.
34724         (Makefile.am): Include warn-on-use.h in netdb.h.
34725
34726 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
34727
34728         build: avoid "make check" failure without .git/ directory
34729         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
34730         there is no .git/ directory.
34731
34732 2010-04-25  Bruno Haible  <bruno@clisp.org>
34733
34734         ptsname: Fix misuse of ttyname_r.
34735         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
34736         of errno.
34737
34738 2010-04-25  Bruno Haible  <bruno@clisp.org>
34739
34740         ttyname_r: Make it work on Solaris 10.
34741         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
34742         if the system function has the POSIX declaration. Test whether the
34743         function fails if the buffer is less than 128 bytes large.
34744         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
34745         system's ttyname_r function. Provide a reasonably large buffer.
34746         * modules/ttyname_r (Depends-on): Add extensions.
34747         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
34748
34749 2010-04-25  Bruno Haible  <bruno@clisp.org>
34750
34751         Use the 'extensions' module for some more functions on Solaris.
34752         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
34753         module.
34754         * doc/posix-functions/ctime_r.texi: Likewise.
34755         * doc/posix-functions/getgrgid_r.texi: Likewise.
34756         * doc/posix-functions/getgrnam_r.texi: Likewise.
34757         * doc/posix-functions/getpwnam_r.texi: Likewise.
34758         * doc/posix-functions/getpwuid_r.texi: Likewise.
34759         * doc/posix-functions/readdir_r.texi: Likewise.
34760         * doc/posix-functions/sigwait.texi: Likewise.
34761         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
34762         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
34763
34764 2010-04-25  Bruno Haible  <bruno@clisp.org>
34765
34766         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
34767         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
34768         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
34769         * lib/ttyname_r.c: Include <limits.h>.
34770         (ttyname_r): Define using the system's ttyname_r function, if it exists
34771         and not on Solaris.
34772         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
34773         set.
34774         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
34775         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
34776         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
34777         Reported by Simon Josefsson.
34778
34779 2010-04-25  Bruno Haible  <bruno@clisp.org>
34780
34781         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
34782         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
34783         * doc/posix-functions/ctime_r.texi: Likewise.
34784         * doc/posix-functions/getgrgid_r.texi: Likewise.
34785         * doc/posix-functions/getgrnam_r.texi: Likewise.
34786         * doc/posix-functions/getlogin_r.texi: Likewise.
34787         * doc/posix-functions/getpwnam_r.texi: Likewise.
34788         * doc/posix-functions/getpwuid_r.texi: Likewise.
34789         * doc/posix-functions/readdir_r.texi: Likewise.
34790         * doc/posix-functions/sigwait.texi: Likewise.
34791         * doc/posix-functions/ttyname_r.texi: Likewise.
34792         Reported by Simon Josefsson.
34793
34794 2010-04-25  Bruno Haible  <bruno@clisp.org>
34795
34796         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
34797         * gnulib-tool (func_usage): Document that --with-*-tests options apply
34798         also to --create-testdir.
34799         (func_acceptable): Don't consider the status of *-tests modules here.
34800         (func_modules_transitive_closure): Consider it here, before including a
34801         test module.
34802         (func_import, func_create_testdir): Set inc_all_direct_tests,
34803         inc_all_indirect_tests.
34804         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
34805         --create-testdir and --create-megatestdir.
34806
34807 2010-04-25  Bruno Haible  <bruno@clisp.org>
34808
34809         gnulib-tool: Add --without-*-tests options.
34810         * gnulib-tool (func_usage): Document the --without-*-tests options.
34811         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
34812         excl_unportable_tests): New variables.
34813         Fail if they are specified with --import or --update.
34814         (func_acceptable): Respect the excl_*_tests variables.
34815         (func_import): Set the excl_*_tests variables to empty.
34816
34817 2010-04-25  Simon Josefsson  <simon@josefsson.org>
34818             Bruno Haible  <bruno@clisp.org>
34819
34820         Work around a MacOS X 10.4 bug with openpty.
34821         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
34822         * tests/test-openpty.c (main): Close the master side explicitly.
34823
34824 2010-04-25  Bruno Haible  <bruno@clisp.org>
34825
34826         strnlen: Fix a C++ test error on MacOS X and Solaris.
34827         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
34828         the function is not declared.
34829         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
34830         Simon Josefsson.
34831
34832 2010-04-24  Bruno Haible  <bruno@clisp.org>
34833
34834         Avoid a gcc warning.
34835         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
34836         of correct type for %08lx directive.
34837         Reported by Eric Blake.
34838
34839 2010-04-24  Bruno Haible  <bruno@clisp.org>
34840
34841         vasnprintf: Correct errno value in case of out-of-memory.
34842         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
34843         or sprintf. Use the errno value from SNPRINTF or sprintf.
34844         Reported by Ian Beckwith <ianb@erislabs.net>.
34845
34846 2010-04-24  Bruno Haible  <bruno@clisp.org>
34847
34848         ansi-c++-opt: Find correct compiler when cross-compiling.
34849         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
34850         AC_CHECK_PROGS.
34851         Reported by Simon Josefsson.
34852
34853 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
34854
34855         vc-list-files: Add support for subversion
34856         * build-aux/vc-list-files: Use "svn list" to generate the list of
34857         files controlled by subversion.
34858
34859 2010-04-23  Jim Meyering  <meyering@redhat.com>
34860
34861         vc-list-files tests: convert to use init.sh
34862         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
34863         path_prepend_.
34864         Use Exit, not exit.
34865         Use skip_ rather than open coding it.
34866         Remove trap set-up and compare definitions.
34867         * tests/test-vc-list-files-git.sh: Likewise.
34868         * modules/vc-list-files-tests (Files): Add tests/init.sh.
34869
34870 2010-04-22  Simon Josefsson  <simon@josefsson.org>
34871
34872         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
34873         backup files.
34874
34875 2010-04-21  Simon Josefsson  <simon@josefsson.org>
34876
34877         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
34878
34879 2010-04-20  Eric Blake  <eblake@redhat.com>
34880
34881         tests: be robust to ignored SIGPIPE
34882         * tests/test-select-in.sh: Consume all output.
34883         * tests/test-lseek.sh: Check correct exit status, while avoiding
34884         EPIPE.
34885
34886 2010-04-20  Simon Josefsson  <simon@josefsson.org>
34887             Bruno Haible  <bruno@clisp.org>
34888
34889         visibility: Don't use -fvisibility if it leads to a warning.
34890         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
34891         yes, don't pretend that visibility works if it leads to a warning.
34892         Reported by Mike Gran <spk121@yahoo.com>.
34893
34894 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
34895
34896         * build-aux/bootstrap: Use "git -h" for testing for supported options
34897         instead of "git --help".  The short-form option only shows a summary,
34898         and doesn't layout the full man page.  Grep for the full option name
34899         in the summary, too.
34900
34901 2010-04-19  Bruno Haible  <bruno@clisp.org>
34902
34903         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
34904         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
34905         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
34906         mention of RELOCATABLE_STRIP.
34907         Reported by Sylvain Beucler <beuc@beuc.net>.
34908
34909 2010-04-19  Bruno Haible  <bruno@clisp.org>
34910
34911         * lib/diffseq.h: Fix typo in comment.
34912         Reported by Eric Blake.
34913
34914 2010-04-19  Bruno Haible  <bruno@clisp.org>
34915
34916         ioctl: Move autoconf macro to a .m4 file.
34917         * m4/ioctl.m4: New file, extracted from modules/ioctl.
34918         * modules/ioctl (Files): Add it.
34919         (configure.ac): Simply invoke gl_FUNC_IOCTL.
34920         Reported by Ian Beckwith <ianb@erislabs.net>.
34921
34922 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
34923             Bruno Haible  <bruno@clisp.org>
34924
34925         diffseq: Accommodate use-case with abstract arrays.
34926         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
34927         is not defined.
34928         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
34929         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
34930
34931 2010-04-18  Bruno Haible  <bruno@clisp.org>
34932
34933         * doc/posix-headers/stdbool.texi: More precise wording.
34934
34935 2010-04-17  Jim Meyering  <meyering@redhat.com>
34936
34937         maint.mk: use gnu-style indentation in an embedded perl script
34938         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
34939         Rename variable: s/two/last_two_bytes/
34940
34941 2010-04-16  Eric Blake  <eblake@redhat.com>
34942
34943         test-stdbool: skip test that fails with Solaris CC
34944         * tests/test-stdbool.c (f): Skip test that causes compilation
34945         error under buggy C++ compiler.
34946         * lib/stdbool.in.h: Document the limitation.
34947         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
34948
34949         setenv: allow compilation with C++
34950         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
34951         register keyword.
34952
34953         stdint: allow test to pass with C++
34954         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
34955
34956         getopt: allow compilation with C++
34957         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
34958         struct.
34959         * lib/getopt.c (_getopt_internal_r): Use correct type.
34960         Reported by Dagobert Michelson, via Joel E. Denny.
34961
34962 2010-04-16  Bruno Haible  <bruno@clisp.org>
34963
34964         Override netdb.h always.
34965         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
34966         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
34967         Reported by Ludovic Courtès <ludo@gnu.org>.
34968
34969 2010-04-15  Bruno Haible  <bruno@clisp.org>
34970
34971         openpty: Fix mistake from 2010-03-21.
34972         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
34973         Reported by Simon Josefsson.
34974
34975 2010-04-15  Eric Blake  <eblake@redhat.com>
34976
34977         test-forkpty: fix expected signature
34978         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
34979         Reported by Simon Josefsson.
34980
34981 2010-04-15  Jim Meyering  <meyering@redhat.com>
34982
34983         maint.mk: texinfo_suffix_re_: correct the default regexp
34984         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
34985
34986         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
34987         make it configurable via texinfo_suffix_re_.
34988
34989 2010-04-14  Eric Blake  <eblake@redhat.com>
34990
34991         strtok_r: relax license to LGPLv2+
34992         * modules/strtok_r (License): Relax license.
34993         Reported by Matthias Bolte.
34994
34995 2010-04-14  Simon Josefsson  <simon@josefsson.org>
34996
34997         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
34998         version 1.4.4 by default instead of requiring the libgcrypt
34999         version used during build.  This makes it possible to use the
35000         application with older but still binary compatible libgcrypt
35001         versions.
35002
35003 2010-04-13  Eric Blake  <eblake@redhat.com>
35004
35005         getopt-gnu: match recent glibc fixes and posix ruling
35006         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
35007         '+' handling, when requesting extensions.
35008         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
35009         'W;' handling.
35010         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
35011         * doc/posix-functions/getopt.texi (getopt): Document this.
35012         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
35013         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35014         Likewise.
35015
35016         getopt: merge bug fixes from glibc
35017         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
35018         diagnostics.  Honor '+:' correctly.  Reject ';'.
35019
35020         getopt-posix: detect MacOS bug
35021         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
35022         optind when missing a required argument.
35023         * doc/posix-functions/getopt.texi (getopt): Document the bug.
35024         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
35025         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35026         Likewise.
35027
35028         getopt-posix: avoid spurious failure on Solaris
35029         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
35030         an indicator that setting optind=1 is sufficient for reset.
35031
35032         getopt-posix: avoid spurious failure on FreeBSD
35033         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
35034         in POSIX mode, since the m4 test uses it.
35035
35036         gnulib-tool: silence warning on BSD sh
35037         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
35038
35039 2010-04-13  Jim Meyering  <meyering@redhat.com>
35040
35041         doc: users.txt: GNU patch now uses gnulib
35042         * users.txt: Add patch.
35043
35044 2010-04-12  Jim Meyering  <meyering@redhat.com>
35045
35046         maint.mk: generate more concise timing data for syntax-check rules
35047         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
35048         " done" from each line that reports a syntax-check test duration.
35049
35050 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
35051
35052         git-version-gen: use "git update-index..." rather than "git status"
35053         * build-aux/git-version-gen: Use git update-index --refresh, not
35054         "git status".  With some versions of git, "git status" would fail
35055         to update the index and result in an unwarranted "-dirty" suffix.
35056
35057 2010-04-11  Jim Meyering  <meyering@redhat.com>
35058
35059         openat: correct formatting (no semantic change)
35060         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
35061         Suggested by Bruno Haible.
35062
35063 2010-04-11  Bruno Haible  <bruno@clisp.org>
35064
35065         Stricter declaration checking in testdirs.
35066         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35067         If for_tests is true, augment AM_CPPFLAGS to define
35068         GNULIB_STRICT_CHECKING.
35069         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
35070         GNULIB_STRICT_CHECKING is defined, verify that the function is
35071         declared.
35072
35073 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
35074             Bruno Haible  <bruno@clisp.org>
35075
35076         libunistring: Improve configure output.
35077         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
35078         Don't say "consider installing GNU libunistring" when checking again
35079         with libiconv.
35080
35081 2010-04-11  Bruno Haible  <bruno@clisp.org>
35082
35083         libunistring: Correct value of $LTLIBUNISTRING.
35084         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
35085         correct the value of $LTLIBUNISTRING.
35086
35087 2010-04-11  Bruno Haible  <bruno@clisp.org>
35088
35089         havelib: Add static libraries to LIBS in the right order.
35090         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
35091         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
35092
35093 2010-04-11  Bruno Haible  <bruno@clisp.org>
35094
35095         libunistring: Detect libunistring also when it depends on libiconv.
35096         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
35097         the second AC_LIB_HAVE_LINKFLAGS invocation.
35098
35099 2010-04-11  James Youngman  <jay@gnu.org>
35100
35101         close-stream: declare local scalars to be "const"
35102         * lib/close-stream.c (close_stream): Make boolean variables const
35103         to document the fact that we set but do not change them.
35104
35105 2010-04-11  Bruno Haible  <bruno@clisp.org>
35106
35107         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
35108
35109 2010-04-11  Jim Meyering  <meyering@redhat.com>
35110
35111         maint.mk: don't include dist-check.mk
35112         * top/maint.mk: Remove bogus include directive.
35113
35114         maint.mk: improve empty-line-at-EOF check
35115         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
35116         solution, rather than tail+Perl-based one.  The latter would read
35117         a few kilobytes from the end of each file, and did not handle empty
35118         files properly.
35119
35120         maint.mk: print the elapsed time for each syntax-check rule
35121         * top/maint.mk (sc_m_rules_): Save start time in a file.
35122         (sc_z_rules_): New rules: remove temp file and print elapsed time.
35123         (local-check): Interpose the .z rules
35124
35125 2010-04-11  Jim Meyering  <meyering@redhat.com>
35126
35127         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
35128         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
35129         empty file with one that ends in an empty line.
35130
35131 2010-04-10  Bruno Haible  <bruno@clisp.org>
35132
35133         mkdir: Make it work on mingw64.
35134         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
35135         * lib/mkdir.c: Update comment.
35136         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
35137
35138 2010-04-10  Bruno Haible  <bruno@clisp.org>
35139
35140         Don't override improved macro from newer autoconf.
35141         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
35142         autoconf >= 2.62.
35143         Reported by Joel E. Denny <jdenny@clemson.edu>.
35144
35145 2010-04-10  Jim Meyering  <meyering@redhat.com>
35146
35147         maint.mk: new syntax-check rule: prohibit empty lines at end of file
35148         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
35149
35150         maint.mk: correct a diagnostic
35151         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
35152         in diagnostic; now use $prohibit.
35153
35154 2010-04-10  Bruno Haible  <address@hidden>
35155
35156         fchownat: Fix a C++ test error on Solaris 8.
35157         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
35158         the function does not exist.
35159
35160 2010-04-10  Bruno Haible  <bruno@clisp.org>
35161
35162         vasnprintf: Add more tests.
35163         * tests/test-vasnprintf-posix.c: Include <errno.h>.
35164         (test_function): Test converting an invalid wide string.
35165
35166         vasnprintf: Correct handling of unconvertible wide string arguments.
35167         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
35168         VASNPRINTF.
35169         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
35170         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
35171         smaller than the expected maximum need for the directive. Set errno to
35172         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
35173         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
35174         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
35175         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
35176         * modules/vasnprintf (Files): Add m4/printf.m4.
35177         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
35178
35179 2010-04-10  Bruno Haible  <bruno@clisp.org>
35180
35181         vasnprintf: Fix crash in %ls directive.
35182         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
35183         string is passed as argument to %ls, with no precision and no width.
35184         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
35185
35186 2010-04-10  Bruno Haible  <bruno@clisp.org>
35187
35188         vasnprintf: Fix multiple test failures on mingw.
35189         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
35190         _snprintf, or snwprintf, not _snwprintf.
35191
35192 2010-04-10  Bruno Haible  <bruno@clisp.org>
35193
35194         write: Fix a C++ test error on mingw.
35195         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
35196
35197 2010-04-10  Bruno Haible  <bruno@clisp.org>
35198
35199         vasnprintf test: Reduce code duplication.
35200         * tests/test-vasnprintf.c (test_function): New function, extracted from
35201         test_vasnprintf.
35202         (test_vasnprintf, test_asnprintf): Invoke it.
35203
35204 2010-04-10  Bruno Haible  <bruno@clisp.org>
35205
35206         strnlen: Fix warning in C++ mode on MacOS X.
35207         * lib/string.in.h (strnlen): Use the modern idiom.
35208         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
35209         defining strnlen as a macro already in <config.h>.
35210         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35211         REPLACE_STRNLEN.
35212         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
35213         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
35214
35215 2010-04-08  James Youngman  <jay@gnu.org>
35216
35217         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
35218         the example.
35219
35220 2010-04-09  Jim Meyering  <meyering@redhat.com>
35221
35222         maint.mk: print better diagnostic when there is no $(_hv_file)
35223         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
35224         announce that when $(_hv_file) (aka help-version) does not exist.
35225
35226         init.sh: run tr in the "C" locale to avoid multibyte interpretation
35227         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
35228         not try to interpret its random input bytes.  Jarno Rajahalme reported
35229         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
35230         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
35231         (mktempd_): Likewise, just in case.
35232
35233         ftruncate: add two years to projected module removal date: 2012
35234         * m4/ftruncate.m4: Adjust comments.
35235
35236         ftruncate: mark module as obsolete; even MinGW provides it, now
35237         * modules/ftruncate (Status): Obsolete.
35238         (Notice): Say that.
35239         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
35240         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
35241
35242 2010-04-08  Bruno Haible  <bruno@clisp.org>
35243
35244         Fix side effects from tests-related modules.
35245         * modules/dprintf-posix (Comment): New section.
35246         * modules/fprintf-posix (Comment): Likewise.
35247         * modules/obstack-printf-posix (Comment): Likewise.
35248         * modules/printf-posix (Comment): Likewise.
35249         * modules/snprintf-posix (Comment): Likewise.
35250         * modules/sprintf-posix (Comment): Likewise.
35251         * modules/vasnprintf-posix (Comment): Likewise.
35252         * modules/vasprintf-posix (Comment): Likewise.
35253         * modules/vdprintf-posix (Comment): Likewise.
35254         * modules/vfprintf-posix (Comment): Likewise.
35255         * modules/vprintf-posix (Comment): Likewise.
35256         * modules/vsnprintf-posix (Comment): Likewise.
35257         * modules/vsprintf-posix (Comment): Likewise.
35258         * modules/xprintf-posix (Comment): Likewise.
35259         * modules/xvasprintf-posix (Comment): Likewise.
35260         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
35261         * modules/floorf-tests (Depends-on): Likewise.
35262         * modules/round-tests (Depends-on): Likewise.
35263         * modules/roundf-tests (Depends-on): Likewise.
35264         * modules/trunc-tests (Depends-on): Likewise.
35265         * modules/truncf-tests (Depends-on): Likewise.
35266         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
35267         'fprintf-posix' module is not present.
35268         * tests/test-floorf2.c (check): Likewise.
35269         * tests/test-trunc2.c (check): Likewise.
35270         * tests/test-truncf2.c (check): Likewise.
35271         * tests/test-round2.c (equal): Likewise.
35272         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
35273
35274 2010-04-07  Karl Berry  <karl@gnu.org>
35275
35276         * config/srclist.txt,
35277         * config/srclistvars.sh,
35278         * config/srclist-update: doc fixes.
35279
35280 2010-04-07  Jim Meyering  <meyering@redhat.com>
35281
35282         maint.mk: add a PATH crosschecking syntax-check rule
35283         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
35284         Useful if you use a test like the one in help-version (coreutils,
35285         diffutils, grep, gzip) that ensures $(VERSION) matches what is
35286         printed by prog --version.
35287
35288 2010-04-06  Bruno Haible  <bruno@clisp.org>
35289
35290         Fix link error on mingw.
35291         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
35292         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
35293
35294 2010-04-06  Bruno Haible  <bruno@clisp.org>
35295
35296         Assume rmdir exists.
35297         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
35298
35299 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
35300
35301         doc: update users.txt
35302         * users.txt: Add gcal.
35303
35304 2010-04-06  Jim Meyering  <meyering@redhat.com>
35305
35306         init.sh: simply unset TMPDIR rather than risking env -i
35307         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
35308         although it probably works fine on all Unix-based systems, some
35309         systems (Cygwin?) cannot tolerate a totally cleared environment.
35310         Suggestion from Eric Blake.
35311
35312 2010-04-06  Jim Meyering  <meyering@redhat.com>
35313
35314         init.sh: portability fix: use env's POSIX-specified -i option not -u
35315         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
35316         than unportable env -u.  Solaris 5.11's env lacks support for -u.
35317
35318 2010-04-05  Bruno Haible  <bruno@clisp.org>
35319
35320         btowc: Work around Cygwin 1.7.2 bug.
35321         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
35322         does not map NUL to 0.
35323         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
35324
35325 2010-04-05  Bruno Haible  <bruno@clisp.org>
35326
35327         Make the multithread modules work on Cygwin 1.7.2.
35328         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
35329         imported symbols can be declared weak, so that it returns "no" on
35330         Cygwin 1.7.2.
35331
35332 2010-04-05  Bruno Haible  <bruno@clisp.org>
35333
35334         Use the module 'strncat'.
35335         * modules/unistr/u8-strncat (Depends-on): Add strncat.
35336
35337         Tests for module 'strncat'.
35338         * modules/strncat-tests: New file.
35339         * tests/test-strncat.c: New file.
35340
35341         New module 'strncat'.
35342         * lib/string.in.h (strncat): New declaration.
35343         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
35344         * m4/strncat.m4: New file, based on m4/memchr.m4.
35345         * modules/strncat: New file.
35346         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
35347         is declared.
35348         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
35349         REPLACE_STRNCAT.
35350         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
35351         REPLACE_STRNCAT.
35352         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
35353         module.
35354         * tests/test-string-c++.cc: Check signature of strncat.
35355
35356 2010-04-05  Jim Meyering  <meyering@redhat.com>
35357
35358         xstrtoumax-tests: convert to use init.sh
35359         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
35360         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
35361         Use Exit, not exit.
35362         Remove uses of $EXEEXT and "./" to run a program in the current dir.
35363
35364         xstrtoimax-tests: convert to use init.sh
35365         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
35366         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
35367         Use Exit, not exit.
35368         Remove uses of $EXEEXT and "./" to run a program in the current dir.
35369
35370 2010-04-05  Bruno Haible  <bruno@clisp.org>
35371
35372         sys_socket: Avoid #define replacements in C++ mode.
35373         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
35374         warning to the function if possible, rather than #defining the symbol
35375         to a dysfunctional alias.
35376
35377 2010-04-05  Bruno Haible  <bruno@clisp.org>
35378
35379         fseeko: Fix C++ test error on mingw.
35380         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
35381         gl_FUNC_FSEEKO.
35382         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
35383         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
35384         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
35385         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
35386
35387 2010-04-05  Bruno Haible  <bruno@clisp.org>
35388
35389         duplocale: Improve test output.
35390         * tests/test-duplocale.c (main): Print reason for skipped test.
35391
35392 2010-04-05  Bruno Haible  <bruno@clisp.org>
35393
35394         Assume rmdir exists.
35395         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
35396         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
35397
35398 2010-04-05  Bruno Haible  <bruno@clisp.org>
35399
35400         Fix link error on Solaris 8 with cc.
35401         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
35402
35403 2010-04-05  Bruno Haible  <bruno@clisp.org>
35404
35405         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
35406         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
35407
35408 2010-04-05  Bruno Haible  <bruno@clisp.org>
35409
35410         vasprintf: Update documentation.
35411         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
35412
35413 2010-04-05  Bruno Haible  <bruno@clisp.org>
35414
35415         ptsname: Improve test.
35416         * tests/test-ptsname.c (main): Also try the various master names of BSD
35417         systems.
35418
35419 2010-04-05  Bruno Haible  <bruno@clisp.org>
35420
35421         memchr: Avoid a possible C++ test error.
35422         * lib/string.in.h (memchr): Provide declaration if function is missing.
35423         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
35424         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
35425         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
35426         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
35427
35428 2010-04-05  Bruno Haible  <bruno@clisp.org>
35429
35430         strtok_r: Improve idiom.
35431         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
35432         AC_LIBOBJ is used.
35433
35434 2010-04-05  Bruno Haible  <bruno@clisp.org>
35435
35436         strdup: Improve idiom.
35437         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
35438         AC_LIBOBJ is used.
35439         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
35440         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
35441         when AC_LIBOBJ is used.
35442
35443 2010-04-05  Bruno Haible  <bruno@clisp.org>
35444
35445         mbsinit, mbrtowc, wcrtomb: Improve idioms.
35446         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
35447         don't set REPLACE_MBSINIT to 1.
35448         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
35449         don't set REPLACE_MBRTOWC to 1.
35450         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
35451         exist, don't set REPLACE_MBSRTOWCS to 1.
35452         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
35453         exist, don't set REPLACE_MBSNRTOWCS to 1.
35454         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
35455         don't set REPLACE_WCRTOMB to 1.
35456         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
35457         exist, don't set REPLACE_WCSRTOMBS to 1.
35458         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
35459         exist, don't set REPLACE_WCSNRTOMBS to 1.
35460
35461 2010-04-05  Bruno Haible  <bruno@clisp.org>
35462
35463         ldexpl: Improve idiom.
35464         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
35465         make sure to set HAVE_DECL_LDEXPL to 0.
35466
35467 2010-04-05  Jim Meyering  <meyering@redhat.com>
35468
35469         xstrtol-tests: convert to use init.sh
35470         * modules/xstrtol-tests (Files): Add tests/init.sh.
35471         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
35472         Use Exit, not exit.
35473         Remove uses of $EXEEXT and "./" to run a program in the current dir.
35474
35475         atexit-tests: convert to use init.sh
35476         * modules/atexit-tests (Files): Add tests/init.sh.
35477         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
35478         Use Exit, not exit.
35479         Remove uses of $EXEEXT and "./" to run a program in the current dir.
35480
35481         init.sh: fix typo
35482         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
35483
35484         init.sh: make it easier for a test script to write to the tty, ...
35485         when using automake's parallel-tests mode.
35486         * tests/init.sh (stderr_fileno_): Define overridable variable.
35487         (warn_): New function, to use it.
35488         (fail_, skip_, framework_failure_): Use warn_.
35489
35490 2010-04-04  Bruno Haible  <bruno@clisp.org>
35491
35492         btowc: Avoid warning.
35493         * lib/btowc.c: Include <stdlib.h>.
35494         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
35495
35496 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
35497             Bruno Haible  <bruno@clisp.org>
35498
35499         wchar: Port to NetBSD 1.5.
35500         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
35501         * lib/wctype.in.h (WEOF): Likewise.
35502
35503 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
35504             Bruno Haible  <bruno@clisp.org>
35505
35506         Port extended stdio to NetBSD 1.5.
35507         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
35508         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
35509         older.
35510
35511 2010-04-04  Bruno Haible  <bruno@clisp.org>
35512
35513         string: Remove unused substitution.
35514         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
35515         HAVE_DECL_STRERROR.
35516         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
35517
35518 2010-04-04  Bruno Haible  <bruno@clisp.org>
35519
35520         strtod: Avoid a possible C++ test error.
35521         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
35522         set REPLACE_STRTOD.
35523
35524 2010-04-04  Bruno Haible  <bruno@clisp.org>
35525
35526         strerror: Update documentation.
35527         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
35528
35529 2010-04-04  Bruno Haible  <bruno@clisp.org>
35530
35531         stdio: Fix some C++ test errors on Solaris 8 with GCC.
35532         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
35533         _GL_CXXALIAS_SYS_CAST.
35534
35535 2010-04-04  Bruno Haible  <bruno@clisp.org>
35536
35537         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
35538         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
35539         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
35540         REPLACE_FREXPL to 1.
35541         * doc/posix-functions/frexpl.texi: Update documentation.
35542
35543 2010-04-04  Bruno Haible  <bruno@clisp.org>
35544
35545         math: Fix some C++ test errors on Solaris 8 and Cygwin.
35546         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
35547
35548 2010-04-04  Bruno Haible  <bruno@clisp.org>
35549
35550         Implement nanosleep for native Windows.
35551         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
35552
35553 2010-04-04  Bruno Haible  <bruno@clisp.org>
35554
35555         math: Fix some C++ test errors on Solaris 8.
35556         * lib/math.in.h (truncf, trunc): Use simpler idiom.
35557
35558 2010-04-04  Bruno Haible  <bruno@clisp.org>
35559
35560         math: Fix some C++ test errors on Cygwin.
35561         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
35562         truncl): Provide declaration if the system does not have it.
35563         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
35564         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
35565         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
35566         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
35567         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
35568         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
35569         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
35570         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
35571         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
35572         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
35573         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
35574         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
35575         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
35576         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
35577         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
35578         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
35579         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
35580         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
35581         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
35582         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
35583         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
35584         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
35585
35586 2010-04-04  Bruno Haible  <bruno@clisp.org>
35587
35588         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
35589         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
35590         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
35591         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
35592         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
35593         * m4/isinf.m4 (gl_ISINF): Likewise.
35594         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
35595
35596 2010-04-04  Bruno Haible  <bruno@clisp.org>
35597
35598         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
35599         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
35600
35601 2010-04-04  Bruno Haible  <bruno@clisp.org>
35602
35603         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
35604         * modules/tmpfile (configure.ac): Update.
35605
35606         tmpfile: Fix C++ test error on mingw.
35607         * lib/stdio.in.h (tmpfile): New declaration.
35608         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
35609         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
35610         * modules/tmpfile (Depends-on): Add stdio.
35611         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
35612         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
35613         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
35614         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
35615         REPLACE_TMPFILE.
35616         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
35617
35618 2010-04-04  Bruno Haible  <bruno@clisp.org>
35619
35620         ioctl: Fix C++ test error on mingw.
35621         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
35622         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
35623         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
35624
35625 2010-04-03  Bruno Haible  <bruno@clisp.org>
35626
35627         wcwidth: Fix C++ test error on mingw.
35628         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
35629         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
35630         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
35631
35632 2010-04-03  Bruno Haible  <bruno@clisp.org>
35633
35634         nanosleep: Fix C++ test error on mingw.
35635         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
35636         * lib/time.in.h (nanosleep): Use modern idiom.
35637         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
35638         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
35639         REPLACE_NANOSLEEP to 1.
35640         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
35641         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
35642
35643 2010-04-03  Bruno Haible  <bruno@clisp.org>
35644
35645         strptime: Fix C++ test error on mingw.
35646         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
35647         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
35648         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
35649         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
35650         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
35651         not REPLACE_STRPTIME.
35652         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
35653         REPLACE_STRPTIME.
35654
35655 2010-04-03  Bruno Haible  <bruno@clisp.org>
35656
35657         timegm: Fix C++ test error on mingw.
35658         * lib/time.in.h (timegm): Use modern idiom.
35659         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
35660         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
35661         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
35662         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
35663
35664 2010-04-03  Bruno Haible  <bruno@clisp.org>
35665
35666         timegm: Assume declaration if function exists.
35667         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
35668         if it exists. Don't clobber ac_cv_func_timegm.
35669
35670 2010-04-03  Bruno Haible  <bruno@clisp.org>
35671
35672         time_r: Fix C++ test error on mingw.
35673         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
35674         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
35675         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
35676         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
35677         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
35678
35679 2010-04-03  Bruno Haible  <bruno@clisp.org>
35680
35681         time_r: Minor updates.
35682         * modules/time_r (Description): Mention the provided functions.
35683         * lib/time_r.c: Don't include <string.h>.
35684         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
35685         * doc/posix-functions/localtime_r.texi: Likewise.
35686
35687 2010-04-03  Bruno Haible  <bruno@clisp.org>
35688
35689         time: Fix regression introduced on 2010-03-08.
35690         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
35691         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
35692
35693 2010-04-03  Jim Meyering  <meyering@redhat.com>
35694
35695         maint.mk: don't silently disable project-specific syntax-check rules
35696         * top/maint.mk (_prohibit_regexp): Define, to help people realize
35697         that they need to convert their project-specific syntax-check rules
35698         to use the new _sc_search_regexp.
35699
35700 2010-04-03  Bruno Haible  <bruno@clisp.org>
35701
35702         fchdir: Fix regression introduced on 2010-03-08.
35703         * lib/unistd.in.h (fchdir): Fix declaration.
35704         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
35705         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
35706         REPLACE_FCHDIR.
35707         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
35708         REPLACE_FCHDIR.
35709
35710 2010-04-03  Bruno Haible  <bruno@clisp.org>
35711
35712         getpagesize: Fix C++ test error on mingw.
35713         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
35714         system does not declare the function.
35715         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
35716         declared.
35717         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35718         HAVE_DECL_GETPAGESIZE.
35719         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
35720
35721 2010-04-03  Bruno Haible  <bruno@clisp.org>
35722
35723         stdio: Make C++ tests work on mingw.
35724         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
35725         does not declare the function.
35726
35727 2010-04-03  Bruno Haible  <bruno@clisp.org>
35728
35729         ftello: Fix C++ test error on mingw.
35730         * lib/stdio.in.h (ftello): Use modern idiom.
35731         * lib/ftello.c (ftello): Renamed from rpl_ftello.
35732         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
35733         is missing and that it needs to be replaced.
35734         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
35735         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
35736         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
35737
35738 2010-04-03  Bruno Haible  <bruno@clisp.org>
35739
35740         fseeko: Fix C++ test error on mingw.
35741         * lib/stdio.in.h (fseeko): Use modern idiom.
35742         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
35743         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
35744         is missing and that it needs to be replaced.
35745         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
35746         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
35747         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
35748
35749 2010-04-03  Bruno Haible  <bruno@clisp.org>
35750
35751         mkstemp: Fix C++ test error on mingw.
35752         * lib/stdlib.in.h (mkstemp): Use modern idiom.
35753         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
35754         function is missing and that it needs to be replaced.
35755         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
35756         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
35757
35758 2010-04-03  Bruno Haible  <bruno@clisp.org>
35759
35760         stpncpy: Fix C++ test error on mingw.
35761         * lib/string.in.h (stpncpy): Use modern idiom.
35762         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
35763         function is missing and that it needs to be replaced.
35764         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35765         REPLACE_STPNCPY.
35766         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
35767
35768 2010-04-03  Bruno Haible  <bruno@clisp.org>
35769
35770         sys_stat: Fix C++ test error on mingw.
35771         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
35772         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
35773
35774 2010-04-03  Bruno Haible  <bruno@clisp.org>
35775
35776         pty: Update doc.
35777         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
35778
35779 2010-04-03  Bruno Haible  <bruno@clisp.org>
35780
35781         unistd: Fix C++ test error on mingw.
35782         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
35783
35784 2010-04-03  Bruno Haible  <bruno@clisp.org>
35785
35786         Update doc regarding mingw.
35787         * doc/glibc-functions/openpty.texi: Update regarding mingw.
35788         * doc/glibc-functions/login_tty.texi: Likewise.
35789         * doc/glibc-functions/forkpty.texi: Likewise.
35790
35791 2010-04-03  Bruno Haible  <bruno@clisp.org>
35792
35793         stdlib: Avoid compilation failure of c-strtold on mingw.
35794         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
35795
35796 2010-04-03  Bruno Haible  <bruno@clisp.org>
35797
35798         locale: Make C++ tests work on Cygwin and mingw.
35799         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
35800         cannot provide the function.
35801         Reported by Simon Josefsson.
35802
35803 2010-04-03  Bruno Haible  <bruno@clisp.org>
35804
35805         localename: Port to MacOS X 10.6.
35806         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
35807         memory layout of the locales in MacOS X 10.6 as well.
35808         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
35809
35810 2010-04-02  Bruno Haible  <bruno@clisp.org>
35811
35812         gnulib-tool: Ensure that long-running tests are executed last.
35813         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
35814         running tests after the one for the other tests.
35815
35816 2010-04-02  Bruno Haible  <bruno@clisp.org>
35817
35818         gnulib-tool: Ensure the tests in the main directory are executed first.
35819         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
35820         start with the current directory.
35821
35822 2010-04-02  Bruno Haible  <bruno@clisp.org>
35823
35824         Tests for module 'havelib', moved here from GNU gettext.
35825         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
35826         modifications.
35827         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
35828         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
35829         with modifications.
35830         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
35831         modifications.
35832         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
35833         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
35834         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
35835         with modifications.
35836         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
35837         with modifications.
35838         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
35839         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
35840         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
35841         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
35842         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
35843         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
35844         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
35845         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
35846         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
35847         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
35848         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
35849         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
35850         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
35851         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
35852         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
35853         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
35854         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
35855         with modifications.
35856         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
35857         with modifications.
35858         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
35859         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
35860         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
35861         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
35862         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
35863         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
35864         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
35865         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
35866         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
35867         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
35868         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
35869         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
35870         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
35871         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
35872         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
35873         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
35874         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
35875         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
35876         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
35877         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
35878         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
35879         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
35880         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
35881         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
35882         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
35883         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
35884         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
35885         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
35886         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
35887         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
35888         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
35889         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
35890         * tests/havelib/rpathx/rpathx.c: New file, from
35891         gettext/autoconf-lib-link.
35892         * tests/havelib/rpathx/Makefile.am: New file, from
35893         gettext/autoconf-lib-link.
35894         * tests/havelib/rpathx/configure.ac: New file, from
35895         gettext/autoconf-lib-link with modifications.
35896         * tests/havelib/rpathy/rpathy.c: New file, from
35897         gettext/autoconf-lib-link.
35898         * tests/havelib/rpathy/Makefile.am: New file, from
35899         gettext/autoconf-lib-link.
35900         * tests/havelib/rpathy/configure.ac: New file, from
35901         gettext/autoconf-lib-link with modifications.
35902         * tests/havelib/rpathz/rpathz.c: New file, from
35903         gettext/autoconf-lib-link.
35904         * tests/havelib/rpathz/Makefile.am: New file, from
35905         gettext/autoconf-lib-link.
35906         * tests/havelib/rpathz/configure.ac: New file, from
35907         gettext/autoconf-lib-link with modifications.
35908         * tests/havelib/rpathlx/usex.c: New file, from
35909         gettext/autoconf-lib-link.
35910         * tests/havelib/rpathlx/Makefile.am: New file, from
35911         gettext/autoconf-lib-link.
35912         * tests/havelib/rpathlx/configure.ac: New file, from
35913         gettext/autoconf-lib-link with modifications.
35914         * tests/havelib/rpathly/usey.c: New file, from
35915         gettext/autoconf-lib-link.
35916         * tests/havelib/rpathly/Makefile.am: New file, from
35917         gettext/autoconf-lib-link.
35918         * tests/havelib/rpathly/configure.ac: New file, from
35919         gettext/autoconf-lib-link with modifications.
35920         * tests/havelib/rpathlz/usez.c: New file, from
35921         gettext/autoconf-lib-link.
35922         * tests/havelib/rpathlz/Makefile.am: New file, from
35923         gettext/autoconf-lib-link.
35924         * tests/havelib/rpathlz/configure.ac: New file, from
35925         gettext/autoconf-lib-link with modifications.
35926         * tests/havelib/rpathlyx/usey.c: New file, from
35927         gettext/autoconf-lib-link.
35928         * tests/havelib/rpathlyx/Makefile.am: New file, from
35929         gettext/autoconf-lib-link.
35930         * tests/havelib/rpathlyx/configure.ac: New file, from
35931         gettext/autoconf-lib-link with modifications.
35932         * tests/havelib/rpathlzyx/usez.c: New file, from
35933         gettext/autoconf-lib-link.
35934         * tests/havelib/rpathlzyx/Makefile.am: New file, from
35935         gettext/autoconf-lib-link.
35936         * tests/havelib/rpathlzyx/configure.ac: New file, from
35937         gettext/autoconf-lib-link with modifications.
35938         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
35939         with modifications.
35940
35941 2010-04-02  Bruno Haible  <bruno@clisp.org>
35942
35943         gnulib-tool: Create distributed built sources also for the tests.
35944         * gnulib-tool (func_create_testdir): Also generate distributed built
35945         sources in the tests directory.
35946
35947 2010-04-02  Bruno Haible  <bruno@clisp.org>
35948
35949         gnulib-tool: Obey user's environment variables.
35950         * gnulib-tool (func_create_testdir): When creating built sources,
35951         respect the environment variables for autoconf, automake, etc. given by
35952         the user.
35953
35954 2010-04-02  Bruno Haible  <bruno@clisp.org>
35955
35956         gnulib-tool: Provide the value of --m4-base to modules.
35957         * gnulib-tool (func_import, func_create_testdir): Emit a definition
35958         of gl_m4_base.
35959
35960 2010-04-02  Eric Blake  <eblake@redhat.com>
35961
35962         maint.mk: fix some fallout
35963         * NEWS: Document the incompatible change, and its effect on cfg.mk.
35964         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
35965
35966 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35967
35968         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
35969         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
35970         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
35971         (sc_cast_of_x_alloc_return_value): Likewise.
35972         (sc_cast_of_alloca_return_value): Likewise.
35973         (sc_space_tab): Likewise.
35974         (sc_prohibit_atoi_atof): Likewise.
35975         (sc_prohibit_magic_number_exit): Likewise.
35976         (sc_error_exit_success): Likewise.
35977         (sc_file_system): Likewise.
35978         (sc_prohibit_have_config_h): Likewise.
35979         (sc_require_config_h): Likewise.
35980         (sc_prohibit_HAVE_MBRTOWC): Likewise.
35981         (sc_obsolete_symbols): Likewise.
35982         (sc_changelog): Likewise.
35983         (sc_program_name): Likewise.
35984         (sc_the_the): Likewise.
35985         (sc_trailing_blank): Likewise.
35986         (sc_two_space_separator_in_usage): Likewise.
35987         (sc_useless_cpp_parens): Likewise.
35988         (sc_GPL_version): Likewise.
35989         (sc_GFDL_version): Likewise.
35990         (sc_texinfo_acronym): Likewise.
35991         (sc_prohibit_cvs_keyword): Likewise.
35992         (sc_prohibit_stat_st_blocks): Likewise.
35993         (sc_prohibit_S_IS_definition): Likewise.
35994         (sc_redundant_const): Likewise.
35995         (sc_makefile_TAB_only_indentation): Likewise.
35996         (sc_m4_quote_check): Likewise.
35997         (sc_makefile_path_separator_check): Likewise.
35998         (sc_copyright_check): Likewise.
35999         (sc_Wundef_boolean): Likewise.
36000         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
36001
36002         maint.mk: match 0 or more whitespace-before-function-call '('
36003         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
36004         that have zero or two-and-more spaces between the function name
36005         and the open parenthesis.
36006         (sc_error_message_warn_fatal): Likewise.
36007         (sc_error_message_uppercase): Likewise.
36008         (sc_error_message_period): Likewise.
36009
36010 2010-03-31  Eric Blake  <eblake@redhat.com>
36011
36012         maint.mk: check for [ as well as test
36013         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
36014         Based on a libvirt report by Matthias Bolte.
36015
36016         gnumakefile: don't squelch _version output
36017         * top/GNUmakefile (_version): Create one-shot dependency rather
36018         than using $(shell) when version must be regenerated.
36019         (_autoreconf): Run verbosely, by default.
36020
36021         sys_time: avoid compiler warnings
36022         * lib/sys_time.in.h (includes): Ensure gcc pragma is
36023         unconditional, fixing regression from 2010-03-29.
36024         Reported by Simon Josefsson.
36025
36026 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
36027
36028         maint.mk: s/_header_without_use/_sc_header_without_use/
36029         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
36030         (sc_prohibit_assert_without_use): Use the new name.
36031         (sc_prohibit_close_stream_without_use): Likewise.
36032         (sc_prohibit_getopt_without_use): Likewise.
36033         (sc_prohibit_quotearg_without_use): Likewise.
36034         (sc_prohibit_quote_without_use): Likewise.
36035         (sc_prohibit_long_options_without_use): Likewise.
36036         (sc_prohibit_inttostr_without_use): Likewise.
36037         (sc_prohibit_ignore_value_without_use): Likewise.
36038         (sc_prohibit_error_without_use): Likewise.
36039         (sc_prohibit_xalloc_without_use): Likewise.
36040         (sc_prohibit_hash_without_use): Likewise.
36041         (sc_prohibit_hash_pjw_without_use): Likewise.
36042         (sc_prohibit_safe_read_without_use): Likewise.
36043         (sc_prohibit_argmatch_without_use): Likewise.
36044         (sc_prohibit_canonicalize_without_use): Likewise.
36045         (sc_prohibit_root_dev_ino_without_use): Likewise.
36046         (sc_prohibit_openat_without_use): Likewise.
36047         (sc_prohibit_c_ctype_without_use): Likewise.
36048         (sc_prohibit_signal_without_use): Likewise.
36049         (sc_prohibit_intprops_without_use): Likewise.
36050
36051 2010-03-30  Eric Blake  <eblake@redhat.com>
36052
36053         maint: improve module indicators
36054         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
36055         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
36056         columns, and avoid extra macro expansion.
36057
36058         fdopendir: work around FreeBSD bug
36059         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
36060         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
36061         * modules/dirent (Makefile.am): Substitute it.
36062         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
36063         declaration.
36064         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
36065         fix.
36066         Reported by Christian Weisgerber <naddy@mips.inka.de>.
36067
36068 2010-03-29  Bruno Haible  <bruno@clisp.org>
36069
36070         Emit #pragma system_header after the inclusion guard, not before.
36071         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
36072         guard that spans the entire file, not before. This enables an
36073         optimization in GCC's preprocessor.
36074         * lib/ctype.in.h: Likewise.
36075         * lib/dirent.in.h: Likewise.
36076         * lib/errno.in.h: Likewise.
36077         * lib/float.in.h: Likewise.
36078         * lib/getopt.in.h: Likewise.
36079         * lib/iconv.in.h: Likewise.
36080         * lib/langinfo.in.h: Likewise.
36081         * lib/locale.in.h: Likewise.
36082         * lib/math.in.h: Likewise.
36083         * lib/netdb.in.h: Likewise.
36084         * lib/netinet_in.in.h: Likewise.
36085         * lib/pty.in.h: Likewise.
36086         * lib/sched.in.h: Likewise.
36087         * lib/se-selinux.in.h: Likewise.
36088         * lib/search.in.h: Likewise.
36089         * lib/spawn.in.h: Likewise.
36090         * lib/stdarg.in.h: Likewise.
36091         * lib/stdint.in.h: Likewise.
36092         * lib/string.in.h: Likewise.
36093         * lib/strings.in.h: Likewise.
36094         * lib/sys_file.in.h: Likewise.
36095         * lib/sys_ioctl.in.h: Likewise.
36096         * lib/sys_time.in.h: Likewise.
36097         * lib/sys_times.in.h: Likewise.
36098         * lib/sys_utsname.in.h: Likewise.
36099         * lib/sys_wait.in.h: Likewise.
36100         * lib/sysexits.in.h: Likewise.
36101         * lib/wctype.in.h: Likewise.
36102
36103 2010-03-28  James Youngman  <jay@gnu.org>
36104
36105         save-cwd: don't leak a file descriptor when the caller execs.
36106         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
36107         saved file descriptor.
36108         * modules/save-cwd (Depends-on): Depend on cloexec.
36109
36110 2010-03-29  Bruno Haible  <bruno@clisp.org>
36111
36112         Remove vestiges of fts-lgpl module.
36113         * lib/fts_.h: Assume GNULIB_FTS is 1.
36114         * lib/fts.c: Likewise.
36115         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
36116
36117 2010-03-28  Bruno Haible  <bruno@clisp.org>
36118
36119         Fix definition of tests witness macro.
36120         * gnulib-tool (func_import): Fix definition of witness macro.
36121
36122 2010-03-28  Bruno Haible  <bruno@clisp.org>
36123
36124         Fix ioctl's protoype on glibc systems.
36125         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
36126         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
36127         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
36128         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
36129         signature. If not, arrange to replace the ioctl function.
36130         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
36131         REPLACE_IOCTL.
36132         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
36133         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
36134         Reported by Ludovic Courtès <ludo@gnu.org>.
36135
36136 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
36137
36138         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
36139         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
36140         made it so grep -r --include=GLOB* ... did not work.
36141
36142 2010-03-26  Jim Meyering  <meyering@redhat.com>
36143             Eric Blake  <eblake@redhat.com>
36144
36145         maint.mk: prohibit use of test's -o and -a operators
36146         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
36147
36148 2010-03-28  Bruno Haible  <bruno@clisp.org>
36149
36150         Remove unused GNULIB_XYZ macro definitions.
36151         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
36152         invocation.
36153
36154 2010-03-28  Bruno Haible  <bruno@clisp.org>
36155
36156         Mark privileged tests modules.
36157         * modules/idpriv-drop-tests (Status): New section.
36158         * modules/idpriv-droptemp-tests (Status): New section.
36159
36160 2010-03-28  Bruno Haible  <bruno@clisp.org>
36161
36162         Split C++ tests into separate tests modules.
36163         * modules/dirent-c++-tests: New file, extracted from
36164         modules/dirent-tests.
36165         * modules/dirent-tests: Depend on it.
36166         * modules/fcntl-h-c++-tests: New file, extracted from
36167         modules/fcntl-h-tests.
36168         * modules/fcntl-h-tests: Depend on it.
36169         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
36170         * modules/glob-tests: Depend on it.
36171         * modules/iconv-h-c++-tests: New file, extracted from
36172         modules/iconv-h-tests.
36173         * modules/iconv-h-tests: Depend on it.
36174         * modules/langinfo-c++-tests: New file, extracted from
36175         modules/langinfo-tests.
36176         * modules/langinfo-tests: Depend on it.
36177         * modules/locale-c++-tests: New file, extracted from
36178         modules/locale-tests.
36179         * modules/locale-tests: Depend on it.
36180         * modules/math-c++-tests: New file, extracted from modules/math-tests.
36181         * modules/math-tests: Depend on it.
36182         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
36183         * modules/pty-tests: Depend on it.
36184         * modules/search-c++-tests: New file, extracted from
36185         modules/search-tests.
36186         * modules/search-tests: Depend on it.
36187         * modules/signal-c++-tests: New file, extracted from
36188         modules/signal-tests.
36189         * modules/signal-tests: Depend on it.
36190         * modules/spawn-c++-tests: New file, extracted from
36191         modules/spawn-tests.
36192         * modules/spawn-tests: Depend on it.
36193         * modules/stdio-c++-tests: New file, extracted from
36194         modules/stdio-tests.
36195         * modules/stdio-tests: Depend on it.
36196         * modules/stdlib-c++-tests: New file, extracted from
36197         modules/stdlib-tests.
36198         * modules/stdlib-tests: Depend on it.
36199         * modules/string-c++-tests: New file, extracted from
36200         modules/string-tests.
36201         * modules/string-tests: Depend on it.
36202         * modules/sys_ioctl-c++-tests: New file, extracted from
36203         modules/sys_ioctl-tests.
36204         * modules/sys_ioctl-tests: Depend on it.
36205         * modules/sys_select-c++-tests: New file, extracted from
36206         modules/sys_select-tests.
36207         * modules/sys_select-tests: Depend on it.
36208         * modules/sys_socket-c++-tests: New file, extracted from
36209         modules/sys_socket-tests.
36210         * modules/sys_socket-tests: Depend on it.
36211         * modules/sys_stat-c++-tests: New file, extracted from
36212         modules/sys_stat-tests.
36213         * modules/sys_stat-tests: Depend on it.
36214         * modules/sys_time-c++-tests: New file, extracted from
36215         modules/sys_time-tests.
36216         * modules/sys_time-tests: Depend on it.
36217         * modules/time-c++-tests: New file, extracted from modules/time-tests.
36218         * modules/time-tests: Depend on it.
36219         * modules/unistd-c++-tests: New file, extracted from
36220         modules/unistd-tests.
36221         * modules/unistd-tests: Depend on it.
36222         * modules/wchar-c++-tests: New file, extracted from
36223         modules/wchar-tests.
36224         * modules/wchar-tests: Depend on it.
36225         * modules/wctype-c++-tests: New file, extracted from
36226         modules/wctype-tests.
36227         * modules/wctype-tests: Depend on it.
36228         Reported by Simon Josefsson.
36229
36230 2010-03-28  Bruno Haible  <bruno@clisp.org>
36231
36232         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
36233         * gnulib-tool (func_exists_module): New function, extracted from
36234         func_verify_module.
36235         (func_verify_module): Use it.
36236         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
36237         'foo' only if 'foo' exists.
36238         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
36239         module.
36240
36241 2010-03-28  Bruno Haible  <bruno@clisp.org>
36242
36243         gnulib-tool: Add support for special categories of tests.
36244         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
36245         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
36246         (func_usage): Document them.
36247         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
36248         inc_unportable_tests, inc_all_tests): New variables.
36249         (func_acceptable): Consider these variables.
36250         (func_modules_transitive_closure): Make it work when the 'Status' field
36251         consists of multiple words.
36252         (func_import): Store and restore the values of inc_cxx_tests,
36253         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
36254         inc_all_tests in gnulib-comp.m4.
36255         (func_create_testdir): Set inc_all_tests to true.
36256         * doc/gnulib.texi (Extra tests modules): New section.
36257         Suggested by Jim Meyering.
36258
36259 2010-03-28  Bruno Haible  <bruno@clisp.org>
36260
36261         ansi-c++-opt: Allow turning off the C++ build by default.
36262         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
36263         gl_CXX_CHOICE_DEFAULT_NO is defined.
36264         Requested by Eric Blake.
36265
36266 2010-03-28  Bruno Haible  <bruno@clisp.org>
36267
36268         unistd: Avoid #define replacements in C++ mode.
36269         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
36270         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
36271         setsockopt, shutdown, select): In C++, attach a warning to the function
36272         if possible, rather than #defining the symbol to a dysfunctional alias.
36273         Reported by John W. Eaton <jwe@gnu.org>.
36274
36275 2010-03-28  Bruno Haible  <bruno@clisp.org>
36276
36277         Fix link errors on mingw.
36278         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
36279         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
36280         $(LIBSOCKET).
36281         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
36282         $(LIBSOCKET).
36283
36284 2010-03-28  Bruno Haible  <bruno@clisp.org>
36285             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36286
36287         lib-ignore: Determine different options for different compilers.
36288         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
36289         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
36290         Add comments.
36291         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
36292         * NEWS: Mention the change.
36293
36294 2010-03-27  Bruno Haible  <bruno@clisp.org>
36295
36296         Remove unused GNULIB_XYZ macro definitions.
36297         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
36298         * modules/fseek (configure.ac): Likewise.
36299         * modules/ioctl (configure.ac): Likewise.
36300         * modules/open (configure.ac): Likewise.
36301         * modules/stdlib-safer (configure.ac): Likewise.
36302
36303 2010-03-27  Bruno Haible  <bruno@clisp.org>
36304
36305         Add a remark about certain modules.
36306         * modules/malloc (Comment): New section.
36307         * modules/realloc (Comment): Likewise.
36308         * modules/sigpipe (Comment): Likewise.
36309
36310 2010-03-27  Bruno Haible  <bruno@clisp.org>
36311
36312         Resolve conflict between the two kinds of module indicators.
36313         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
36314         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
36315         * modules/canonicalize (configure.ac): Invoke
36316         gl_MODULE_INDICATOR_FOR_TESTS.
36317         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
36318         GNULIB_XYZ.
36319         * tests/test-dirent-c++.cc: Likewise.
36320         * tests/test-dirent-safer.c: Likewise.
36321         * tests/test-dup2.c: Likewise.
36322         * tests/test-fchdir.c: Likewise.
36323         * tests/test-fcntl-h-c++.cc: Likewise.
36324         * tests/test-getopt.c: Likewise.
36325         * tests/test-getopt.h: Likewise.
36326         * tests/test-langinfo-c++.cc: Likewise.
36327         * tests/test-locale-c++.cc: Likewise.
36328         * tests/test-math-c++.cc: Likewise.
36329         * tests/test-pty-c++.cc: Likewise.
36330         * tests/test-search-c++.cc: Likewise.
36331         * tests/test-signal-c++.cc: Likewise.
36332         * tests/test-spawn-c++.cc: Likewise.
36333         * tests/test-stdio-c++.cc: Likewise.
36334         * tests/test-stdlib-c++.cc: Likewise.
36335         * tests/test-string-c++.cc: Likewise.
36336         * tests/test-sys_ioctl-c++.cc: Likewise.
36337         * tests/test-sys_select-c++.cc: Likewise.
36338         * tests/test-sys_socket-c++.cc: Likewise.
36339         * tests/test-sys_stat-c++.cc: Likewise.
36340         * tests/test-sys_time-c++.cc: Likewise.
36341         * tests/test-time-c++.cc: Likewise.
36342         * tests/test-unistd-c++.cc: Likewise.
36343         * tests/test-wchar-c++.cc: Likewise.
36344         * tests/uninorm/test-u8-nfc.c: Likewise.
36345         * tests/uninorm/test-u8-nfd.c: Likewise.
36346         * tests/uninorm/test-u8-nfkc.c: Likewise.
36347         * tests/uninorm/test-u8-nfkd.c: Likewise.
36348         * tests/uninorm/test-u16-nfc.c: Likewise.
36349         * tests/uninorm/test-u16-nfd.c: Likewise.
36350         * tests/uninorm/test-u16-nfkc.c: Likewise.
36351         * tests/uninorm/test-u16-nfkd.c: Likewise.
36352         * tests/uninorm/test-u32-nfc.c: Likewise.
36353         * tests/uninorm/test-u32-nfc-big.c: Likewise.
36354         * tests/uninorm/test-u32-nfd.c: Likewise.
36355         * tests/uninorm/test-u32-nfd-big.c: Likewise.
36356         * tests/uninorm/test-u32-nfkc.c: Likewise.
36357         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
36358         * tests/uninorm/test-u32-nfkd.c: Likewise.
36359         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
36360         * tests/uninorm/test-u32-normalize-big.c: Likewise.
36361
36362 2010-03-27  Bruno Haible  <bruno@clisp.org>
36363
36364         Distinguish two kinds of module indicators.
36365         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
36366         gl_MODULE_INDICATOR.
36367         (gl_MODULE_INDICATOR): New macro.
36368         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36369         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
36370         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
36371         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
36372         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
36373         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
36374         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
36375         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
36376         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
36377         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
36378         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
36379         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
36380         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
36381         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
36382         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
36383         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
36384         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
36385         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
36386         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
36387         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
36388         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
36389         * modules/cloexec (configure.ac): Likewise.
36390         * modules/getopt-gnu (configure.ac): Likewise.
36391         * modules/uninorm/u8-normalize (configure.ac): Likewise.
36392         * modules/uninorm/u16-normalize (configure.ac): Likewise.
36393         * modules/uninorm/u32-normalize (configure.ac): Likewise.
36394         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
36395
36396 2010-03-27  Bruno Haible  <bruno@clisp.org>
36397
36398         New module description field 'Comment'.
36399         * gnulib-tool: New option --extract-comment.
36400         (func_usage): Document it.
36401         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
36402         (func_get_comment): New function.
36403         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
36404
36405 2010-03-27  Bruno Haible  <bruno@clisp.org>
36406
36407         Addendum to 2010-02-07 commit.
36408         * gnulib-tool (func_usage): Document --extract-applicability option.
36409
36410 2010-03-27  Bruno Haible  <bruno@clisp.org>
36411
36412         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
36413         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
36414         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
36415         rather than link errors.
36416
36417 2010-03-27  Bruno Haible  <bruno@clisp.org>
36418
36419         Avoid side effects from tests-related modules on the compilation of lib.
36420         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
36421         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
36422         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
36423         parameter. Emit into AM_CPPFLAGS a definition of the designated C
36424         macro.
36425         (func_import): Define a witness macro. Assign it a value that depends
36426         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
36427         tests-related modules.
36428         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
36429         Reported by Jim Meyering.
36430
36431 2010-03-27  Bruno Haible  <bruno@clisp.org>
36432
36433         Factorize common .m4 code.
36434         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
36435         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
36436         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
36437         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
36438         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
36439         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
36440         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
36441         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
36442         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
36443         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
36444         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
36445         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
36446         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
36447         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
36448         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
36449         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
36450         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
36451         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
36452         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
36453         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
36454         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
36455         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
36456         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
36457         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
36458         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
36459         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
36460         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
36461         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
36462         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
36463         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
36464         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
36465         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
36466
36467 2010-03-27  Bruno Haible  <bruno@clisp.org>
36468
36469         Fix a compilation error on Cygwin with g++ >= 4.3.
36470         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
36471         if it is undefined or if we alias it to chmod.
36472         (lstat): Don't warn about the use of this function if it is undefined
36473         or if we alias it to stat.
36474         Reported by Simon Josefsson.
36475
36476 2010-03-27  Bruno Haible  <bruno@clisp.org>
36477
36478         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
36479         * modules/getlogin (configure.ac): Update.
36480
36481         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
36482         * modules/getlogin_r (configure.ac): Update.
36483
36484         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
36485         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
36486         * modules/inet_ntop (configure.ac): Update.
36487
36488         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
36489         * modules/inet_pton (configure.ac): Update.
36490
36491         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
36492         * modules/mbslen (configure.ac): Update.
36493
36494         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
36495         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
36496         * modules/forkpty (configure.ac): Update.
36497         * modules/openpty (configure.ac): Update.
36498
36499 2010-03-26  Simon Josefsson  <simon@josefsson.org>
36500
36501         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
36502         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
36503
36504 2010-03-25  Eric Blake  <eblake@redhat.com>
36505
36506         maint: use pragma consistently across replacement headers
36507         * lib/ctype.in.h (system_header): Hoist for consistent placement.
36508         * lib/dirent.in.h (system_header): Likewise.
36509         * lib/errno.in.h (system_header): Likewise.
36510         * lib/float.in.h (system_header): Likewise.
36511         * lib/getopt.in.h (system_header): Likewise.
36512         * lib/iconv.in.h (system_header): Likewise.
36513         * lib/inttypes.in.h (system_header): Likewise.
36514         * lib/langinfo.in.h (system_header): Likewise.
36515         * lib/locale.in.h (system_header): Likewise.
36516         * lib/math.in.h (system_header): Likewise.
36517         * lib/netdb.in.h (system_header): Likewise.
36518         * lib/netinet_in.in.h (system_header): Likewise.
36519         * lib/pty.in.h (system_header): Likewise.
36520         * lib/sched.in.h (system_header): Likewise.
36521         * lib/se-selinux.in.h (system_header): Likewise.
36522         * lib/search.in.h (system_header): Likewise.
36523         * lib/spawn.in.h (system_header): Likewise.
36524         * lib/stdarg.in.h (system_header): Likewise.
36525         * lib/stdint.in.h (system_header): Likewise.
36526         * lib/string.in.h (system_header): Likewise.
36527         * lib/strings.in.h (system_header): Likewise.
36528         * lib/sys_file.in.h (system_header): Likewise.
36529         * lib/sys_ioctl.in.h (system_header): Likewise.
36530         * lib/sys_socket.in.h (system_header): Likewise.
36531         * lib/sys_times.in.h (system_header): Likewise.
36532         * lib/sys_utsname.in.h (system_header): Likewise.
36533         * lib/sys_wait.in.h (system_header): Likewise.
36534         * lib/sysexits.in.h (system_header): Likewise.
36535         * lib/unistd.in.h (system_header): Likewise.
36536         * lib/wctype.in.h (system_header): Likewise.
36537
36538         arpa/inet: fix mingw compilation warning
36539         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
36540         Reported by Matthew Bolte.
36541
36542 2010-03-25  Bruno Haible  <bruno@clisp.org>
36543
36544         Avoid collision between gnulib wrapper and libintl wrapper.
36545         * lib/printf.c (printf): Don't define if a printf wrapper is already
36546         defined in intl/printf.c.
36547         Reported by Michel Boaventura <michel@michelboaventura.com>.
36548
36549 2010-03-25  Bruno Haible  <bruno@clisp.org>
36550
36551         Use ANSI C.
36552         * lib/readutmp.h (getutent): Provide ANSI C prototype.
36553
36554 2010-03-25  Bruno Haible  <bruno@clisp.org>
36555
36556         Minor formatting changes.
36557         * lib/acosl.c: Insert space before function argument list.
36558         * lib/argz.c: Likewise.
36559         * lib/asinl.c: Likewise.
36560         * lib/expl.c: Likewise.
36561         * lib/gen-uni-tables.c: Likewise.
36562         * lib/gettext.h: Likewise.
36563         * lib/glthread/lock.h: Likewise.
36564         * lib/tanl.c: Likewise.
36565         * lib/uniname/uniname.c: Likewise.
36566         * tests/test-idpriv-drop.c: Likewise.
36567         * tests/test-idpriv-droptemp.c: Likewise.
36568         * tests/test-lock.c: Likewise.
36569         * tests/test-tls.c: Likewise.
36570         * lib/argp-help.c: Insert space before function-like macro argument
36571         list.
36572         * lib/memcmp.c: Likewise.
36573         * tests/test-base64.c: Likewise.
36574         * lib/localename.c: Insert space before sizeof's argument list.
36575         * lib/safe-alloc.h: Likewise.
36576         * lib/file-set.h: Insert space before macro argument list.
36577         * tests/test-argp.c: Likewise.
36578         * lib/argp-namefrob.h: Insert space before function parameter list.
36579         * lib/getaddrinfo.c: Likewise.
36580         * lib/netdb.in.h: Likewise.
36581         * lib/parse-duration.h: Likewise.
36582         * lib/parse-duration.c: Likewise.
36583         * lib/poll.c: Likewise.
36584         * lib/select.c: Likewise.
36585         * lib/trim.h: Likewise.
36586         * tests/test-usleep.c: Likewise.
36587         * lib/ldexpl.c: Insert space before function parameter list and before
36588         function argument list.
36589         * lib/logl.c: Likewise.
36590         * lib/sqrtl.c: Likewise.
36591         * lib/trim.c: Likewise.
36592         * lib/cosl.c: Use GNU style indentation. Insert space before function
36593         argument list.
36594         * lib/sinl.c: Likewise.
36595         * lib/tsearch.c: Insert space after 'for'.
36596         Reported by Jim Meyering.
36597
36598 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
36599
36600         * maint.mk (sc_Wundef_boolean): Check for the presence of the
36601         config header before grepping, as it's not present before
36602         autoreconf/configure are run.  Reported by Simon Josefsson.
36603
36604 2010-03-23  Bruno Haible  <bruno@clisp.org>
36605
36606         pt_chown: Make it work with automake < 1.11.
36607         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
36608         Reported by Simon Josefsson.
36609
36610 2010-03-23  Bruno Haible  <bruno@clisp.org>
36611
36612         pt_chown: Don't depend on GPLed modules.
36613         * lib/pt_chown.c: Don't include idpriv.h.
36614         (main): Don't drop privileges.
36615         * modules/pt_chown (Depends-on): Remove idpriv-drop.
36616         Reported by Simon Josefsson.
36617
36618 2010-03-24  Simon Josefsson  <simon@josefsson.org>
36619
36620         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
36621         suggestions from karl@freefriends.org (Karl Berry).
36622
36623 2010-03-22  Eric Blake  <eblake@redhat.com>
36624
36625         gethostname: further tweaks
36626         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
36627         are overriding gethostname.
36628         Suggested by Bruno Haible.
36629
36630 2010-03-21  Bruno Haible  <bruno@clisp.org>
36631
36632         Fix comments.
36633         * lib/forkpty.c (rpl_forkpty): Fix comment.
36634         * lib/openpty.c (rpl_openpty): Likewise.
36635         Reported by Eric Blake.
36636
36637 2010-03-22  Eric Blake  <eblake@redhat.com>
36638
36639         gethostname: fix build on mingw
36640         * lib/unistd.in.h (includes): Work around fact that mingw
36641         <winsock2.h> re-includes <unistd.h>, by avoiding any
36642         redeclarations if we are being included by <winsock2.h>.
36643         Reported by Matthias Bolte.
36644
36645 2010-03-21  Bruno Haible  <bruno@clisp.org>
36646
36647         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
36648         * lib/forkpty.c (forkpty): New replacement function, from glibc with
36649         modifications.
36650         * lib/pty.in.h (forkpty): Update declaration. Add comments.
36651         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
36652         provide the replacement.
36653         * modules/forkpty (Depends-on): Add openpty, login_tty.
36654         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
36655         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
36656         * doc/glibc-functions/forkpty.texi: More supported platforms.
36657         * config/srclist.txt: Add forkpty.c (commented).
36658
36659 2010-03-21  Bruno Haible  <bruno@clisp.org>
36660
36661         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
36662         (Makefile.am): Verify that PTY_LIB is defined.
36663
36664         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
36665
36666 2010-03-21  Bruno Haible  <bruno@clisp.org>
36667
36668         Tests for module 'login_tty'.
36669         * modules/login_tty-tests: New file.
36670         * tests/test-login_tty.c: New file.
36671
36672         New module 'login_tty'.
36673         * lib/login_tty.c: New file.
36674         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
36675         * modules/login_tty: New file.
36676         * doc/glibc-functions/login_tty.texi: Mention the new module.
36677
36678 2010-03-21  Bruno Haible  <bruno@clisp.org>
36679
36680         login_tty: Documentation.
36681         * doc/glibc-functions/login_tty.texi: New file.
36682         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
36683
36684 2010-03-21  Bruno Haible  <bruno@clisp.org>
36685
36686         pty: Consistent macro naming.
36687         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
36688         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
36689         * modules/pty (configure.ac): Update.
36690
36691 2010-03-21  Bruno Haible  <bruno@clisp.org>
36692
36693         Tests for openpty: Make stricter.
36694         * tests/test-openpty.c (main): Add test of canonical processing and
36695         erase.
36696         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
36697
36698         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
36699         * lib/openpty.c (openpty): New replacement function.
36700         * lib/pty.in.h: Include <termios.h>.
36701         (openpty): Update declaration. Add comments.
36702         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
36703         is not declared, arrange to provide the replacement. Check for _getpty
36704         and posix_openpt.
36705         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
36706         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
36707         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
36708         * modules/pty-tests (test_pty_c___LDADD): New variable.
36709         * doc/glibc-functions/openpty.texi: More supported platforms.
36710
36711 2010-03-21  Bruno Haible  <bruno@clisp.org>
36712
36713         setenv: Tweaks.
36714         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
36715         the test program.
36716         * doc/posix-functions/setenv.texi: Update platforms list.
36717
36718 2010-03-21  Bruno Haible  <bruno@clisp.org>
36719
36720         New module 'unlockpt'.
36721         * lib/unlockpt.c: New file, from glibc with modifications.
36722         * m4/unlockpt.m4: New file.
36723         * modules/unlockpt: New file.
36724         * lib/stdlib.in.h (unlockpt): New declaration.
36725         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
36726         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
36727         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
36728         HAVE_UNLOCKPT.
36729         * doc/posix-functions/unlockpt.texi: Mention the new module.
36730         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
36731         * config/srclist.txt: Add unlockpt.c (commented).
36732
36733 2010-03-21  Jim Meyering  <meyering@redhat.com>
36734
36735         maint.mk: prohibit inclusion of "intprops.h" without use
36736         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
36737
36738 2010-03-21  Bruno Haible  <bruno@clisp.org>
36739
36740         New module 'grantpt'.
36741         * lib/grantpt.c: New file, from glibc with modifications.
36742         * m4/grantpt.m4: New file.
36743         * modules/grantpt: New file.
36744         * lib/stdlib.in.h (grantpt): New declaration.
36745         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
36746         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
36747         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
36748         HAVE_GRANTPT.
36749         * doc/posix-functions/grantpt.texi: Mention the new module.
36750         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
36751         * config/srclist.txt: Add grantpt.c (commented).
36752
36753 2010-03-21  Bruno Haible  <bruno@clisp.org>
36754
36755         New module 'pt_chown'.
36756         * lib/pt_chown.c: New file, from glibc with modifications.
36757         * lib/pty-private.h: New file, from glibc with modifications.
36758         * modules/pt_chown: New file.
36759         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
36760
36761 2010-03-21  Bruno Haible  <bruno@clisp.org>
36762
36763         Tests for module 'ptsname'.
36764         * modules/ptsname-tests: New file.
36765         * tests/test-ptsname.c: New file.
36766
36767         New module 'ptsname'.
36768         * lib/ptsname.c: New file, from glibc with modifications.
36769         * m4/ptsname.m4: New file.
36770         * modules/ptsname: New file.
36771         * lib/stdlib.in.h (ptsname): New declaration.
36772         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
36773         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
36774         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
36775         HAVE_PTSNAME.
36776         * doc/posix-functions/ptsname.texi: Mention the new module.
36777         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
36778         * config/srclist.txt: Add ptsname.c (commented).
36779
36780 2010-03-21  Bruno Haible  <bruno@clisp.org>
36781
36782         Tests for module 'ttyname_r'.
36783         * modules/ttyname_r-tests: New file.
36784         * tests/test-ttyname_r.c: New file.
36785
36786         New module 'ttyname_r'.
36787         * lib/ttyname_r.c: New file.
36788         * m4/ttyname_r.m4: New file.
36789         * modules/ttyname_r: New file.
36790         * lib/unistd.in.h (ttyname_r): New declaration.
36791         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
36792         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
36793         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
36794         HAVE_TTYNAME_R.
36795         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
36796         * doc/posix-functions/ttyname_r.texi: Mention the new module.
36797
36798 2010-03-20  Bruno Haible  <bruno@clisp.org>
36799
36800         signal: Undefine macro definitions in C++ mode.
36801         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
36802         sigfillset): Undefine macro definitions from the system header in C++
36803         mode.
36804         Reported by John W. Eaton <jwe@gnu.org>.
36805
36806 2010-03-20  Bruno Haible  <bruno@clisp.org>
36807
36808         Ensure no #include statements inside extern "C" { ... }.
36809         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
36810         contain #include statements.
36811         * lib/time.in.h: Likewise.
36812
36813 2010-03-20  Bruno Haible  <bruno@clisp.org>
36814
36815         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
36816         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
36817         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
36818         Reported by John W. Eaton <jwe@gnu.org>.
36819
36820 2010-03-20  Bruno Haible  <bruno@clisp.org>
36821
36822         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
36823         Reported by Jim Meyering.
36824
36825 2010-03-20  Bruno Haible  <bruno@clisp.org>
36826
36827         pipe: Set errno upon failure.
36828         * lib/pipe.h: Specify that when -1 is returned, errno is set.
36829         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
36830         errno value in error message.
36831
36832 2010-03-20  Bruno Haible  <bruno@clisp.org>
36833             Jim Meyering  <meyering@redhat.com>
36834
36835         lchown: Avoid "unused variable" warning.
36836         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
36837
36838 2010-03-20  Bruno Haible  <bruno@clisp.org>
36839
36840         Work around unlink() bug on MacOS X 10.5.6.
36841         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
36842         attempting to unlink a parent directory.
36843         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
36844         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
36845         activate for the replacement function.
36846         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
36847
36848 2010-03-20  Bruno Haible  <bruno@clisp.org>
36849
36850         Fix link errors on Solaris 8.
36851         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
36852         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
36853
36854 2010-03-19  Jim Meyering  <meyering@redhat.com>
36855
36856         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
36857         The _LIBC implementation of build_range_exp correctly honors the
36858         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
36859         However, the non-_LIBC implementation would ignore that syntax-bit
36860         flag and return REG_ERANGE unconditionally.
36861         This change makes it honor that flag.
36862         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
36863         Make two pointer parameters "const".
36864         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
36865         (parse_bracket_exp): Update caller.
36866
36867         regex.m4: correct the reversed range endpoint ([b-a]) test
36868         * m4/regex.m4: When requiring that [b-a] evoke failure,
36869         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
36870         test pass once again for x86-based systems.
36871
36872 2010-03-19  Bruno Haible  <bruno@clisp.org>
36873
36874         scandir: Fix link error on Solaris 8.
36875         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
36876         macros.
36877
36878 2010-03-19  Bruno Haible  <bruno@clisp.org>
36879
36880         getusershell: Fix documentation.
36881         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
36882         module.
36883         * doc/glibc-functions/setusershell.texi: Likewise.
36884
36885         getusershell: Provide declaration, missing on Solaris 9.
36886         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
36887         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
36888         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
36889         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
36890         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36891         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
36892         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
36893         HAVE_GETUSERSHELL.
36894         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
36895
36896 2010-03-19  Bruno Haible  <bruno@clisp.org>
36897
36898         wctype: Provide iswblank function.
36899         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
36900         exists and is fine.
36901         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
36902         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
36903         * tests/test-wctype.c (main): Re-enable the iswblank tests.
36904         * doc/posix-functions/iswblank.texi: Update.
36905
36906 2010-03-19  Bruno Haible  <bruno@clisp.org>
36907
36908         Tests of module 'pty' in C++ mode.
36909         * modules/pty-tests: New file.
36910         * tests/test-pty-c++.cc: New file.
36911         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36912
36913 2010-03-19  Eric Blake  <eblake@redhat.com>
36914
36915         logb: fix documentation
36916         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
36917         1.5 declaration bug.
36918
36919         forkpty, openpty: prefer glibc's const-safe prototype
36920         * lib/forkpty.c (rpl_forkpty): New file.
36921         * lib/openpty.c (rpl_openpty): Likewise.
36922         * modules/forkpty (Files): Distribute it.
36923         * modules/openpty (Files): Likewise.
36924         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
36925         check...
36926         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
36927         replacement for for non-const BSD signature.
36928         * modules/pty (Makefile.am): Substitute witnesses.
36929         * lib/pty.in.h (forkpty, openpty): Declare replacements.
36930         * tests/test-forkpty.c: Update signature check.
36931         * tests/test-openpty.c: Likewise.
36932         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
36933         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36934
36935         forkpty, openpty: split functions into new modules
36936         * modules/pty (Makefile.am): Substitute new witnesses.
36937         (Libraries): Move library detection...
36938         * modules/forkpty: ...into new module.
36939         * modules/openpty: Another new module.
36940         * modules/pty-tests: Rename and split...
36941         * modules/forkpty-tests: ...to this...
36942         * modules/openpty-tests: ...and this.
36943         * tests/test-pty.c: Rename and split...
36944         * tests/test-forkpty.c: ...to this...
36945         * tests/test-openpty.c: ...and this.
36946         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
36947         (gl_PTY): Split library searching...
36948         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
36949         (gl_FORKPTY, gl_OPENPTY): New macros.
36950         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
36951         * NEWS: Mention the split.
36952         * MODULES.html.sh (Misc): Document the modules.
36953         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
36954         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36955
36956         pty: improve replacement header
36957         * lib/pty.in.h: New file.
36958         * modules/pty (Files): Ship it.
36959         (Makefile.am): Always build replacement.
36960         * m4/pty.m4: Rename...
36961         * m4/pty_h.m4: ...to this.
36962         (gl_PTY): Modernize setting of witness macros; update check of
36963         forkpty to take proper advantage of cache.
36964         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
36965
36966         getopt: avoid compiler warning
36967         * lib/getopt.c (attribute_hidden): Remove unused macro.
36968
36969 2010-03-18  Bruno Haible  <bruno@clisp.org>
36970
36971         Fix link errors on Solaris 8.
36972         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
36973         * modules/search-tests (test_search_c___LDADD): Likewise.
36974         * modules/signal-tests (test_signal_c___LDADD): Likewise.
36975         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
36976         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
36977         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
36978         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
36979         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
36980         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
36981
36982 2010-03-18  Bruno Haible  <bruno@clisp.org>
36983
36984         Fix bug introduced on 2010-03-14.
36985         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
36986         (gl_SPAWN_H): Require it.
36987         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
36988         Reported by Simon Josefsson.
36989
36990 2010-03-18  Bruno Haible  <bruno@clisp.org>
36991
36992         Fix typo introduced on 2009-12-31.
36993         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
36994         posix_spawn_file_actions_adddup2.
36995
36996 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
36997         and Eric Blake  <eblake@redhat.com>
36998
36999         test-vc-list-files-git: make more robust
37000         * tests/test-vc-list-files-git.sh: Unset problematic environment
37001         variables.  Chain commands together.
37002
37003 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
37004
37005         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
37006         `AC_CHECK_DECL' invocation.
37007
37008 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
37009
37010         * lib/inttostr.c (inttostr): Make sure the invocation of verify
37011         appears before executable statements. Suggested by Petr Sumbera
37012         <Petr.Sumbera@Sun.COM>.
37013
37014 2010-03-14  Bruno Haible  <bruno@clisp.org>
37015
37016         * tests/test-flock.c (test_exclusive): Comment out a test that causes
37017         portability problems. Instead use a simpler test.
37018         (main): Check that invalid arguments are rejected only on Linux.
37019
37020 2010-03-14  Bruno Haible  <bruno@clisp.org>
37021
37022         Fix bug introduced on 2009-12-31.
37023         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
37024         gl_PREREQ_SYS_H_WINSOCK2 always.
37025         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
37026         SYS_SOCKET_H variable.
37027         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
37028         Update comments.
37029         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
37030         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37031         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37032         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
37033         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
37034
37035 2010-03-14  Bruno Haible  <bruno@clisp.org>
37036
37037         Fix values returned by sinl, cosl.
37038         * lib/trigl.h: Add specification comments.
37039         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
37040         that combines the values from the precomputed table with the values of
37041         the Chebyshev polynomials.
37042
37043 2010-03-14  Bruno Haible  <bruno@clisp.org>
37044
37045         Fix compilation error when modules 'posix_spawn[p]' are not used.
37046         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
37047         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
37048
37049 2010-03-14  Bruno Haible  <bruno@clisp.org>
37050
37051         Fix compilation error on mingw when module 'time_r' is not used.
37052         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
37053         is 1.
37054         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
37055         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
37056         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
37057         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
37058
37059 2010-03-14  Bruno Haible  <bruno@clisp.org>
37060
37061         Fix compilation error with Sun C.
37062         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
37063         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
37064         instead of GCC specific ULONG_LONG_MAX.
37065         * lib/xstrtoll.c: Likewise.
37066         * lib/xstrtoull.c: Likewise.
37067
37068 2010-03-13  Bruno Haible  <bruno@clisp.org>
37069
37070         Allow the user to disable C++ code and tests.
37071         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
37072         (gl_PROG_ANSI_CXX): Require it.
37073
37074 2010-03-13  Bruno Haible  <bruno@clisp.org>
37075
37076         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
37077         cases.
37078
37079 2010-03-13  Bruno Haible  <bruno@clisp.org>
37080
37081         Test that gnulib does not break the standard C++ headers.
37082         * tests/test-locale-c++2.cc: New file.
37083         * modules/locale-tests (Files): Add it.
37084         (Makefile.am): Compile it for test-locale-c++.
37085         * tests/test-math-c++2.cc: New file.
37086         * modules/math-tests (Files): Add it.
37087         (Makefile.am): Compile it for test-math-c++.
37088         * tests/test-signal-c++2.cc: New file.
37089         * modules/signal-tests (Files): Add it.
37090         (Makefile.am): Compile it for test-signal-c++.
37091         * tests/test-stdio-c++2.cc: New file.
37092         * modules/stdio-tests (Files): Add it.
37093         (Makefile.am): Compile it for test-stdio-c++.
37094         * tests/test-stdlib-c++2.cc: New file.
37095         * modules/stdlib-tests (Files): Add it.
37096         (Makefile.am): Compile it for test-stdlib-c++.
37097         * tests/test-string-c++2.cc: New file.
37098         * modules/string-tests (Files): Add it.
37099         (Makefile.am): Compile it for test-string-c++.
37100         * tests/test-time-c++2.cc: New file.
37101         * modules/time-tests (Files): Add it.
37102         (Makefile.am): Compile it for test-time-c++.
37103         Reported by John W. Eaton <jwe@gnu.org>.
37104
37105 2010-03-13  Bruno Haible  <bruno@clisp.org>
37106
37107         * gnulib-tool (func_usage): Clarify which options are available for
37108         --create-testdir and --create-megatestdir.
37109
37110 2010-03-13  Bruno Haible  <bruno@clisp.org>
37111
37112         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
37113         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
37114         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
37115         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
37116         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
37117         when appropriate.
37118         Reported by Jim Meyering.
37119
37120 2010-03-12  Simon Josefsson  <simon@josefsson.org>
37121
37122         * gnulib-tool (func_import): Explain origin of code.
37123
37124 2010-03-12  Bruno Haible  <bruno@clisp.org>
37125
37126         Fix problem with automake's definition of CXXLINK.
37127         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
37128         Reported by Simon Josefsson and Ludovic Courtès.
37129
37130 2010-03-12  Bruno Haible  <bruno@clisp.org>
37131
37132         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
37133         stable releases.
37134
37135 2010-03-11  Bruno Haible  <bruno@clisp.org>
37136
37137         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
37138         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
37139         whether the system provides one variant or multiple variants of the
37140         function.
37141         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
37142         C++ compilers.
37143         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
37144         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
37145         Reported by Jim Meyering.
37146
37147 2010-03-09  Simon Josefsson  <simon@josefsson.org>
37148
37149         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
37150
37151 2010-03-08  Bruno Haible  <bruno@clisp.org>
37152
37153         gnulib-tool: Add support for --libtool in --create-testdir.
37154         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
37155         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
37156
37157 2010-03-08  Eric Blake  <eblake@redhat.com>
37158
37159         gnulib-tool.texi: mention possibility of git submodule
37160         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
37161         submodules.
37162         * doc/.gitignore: Ignore another generated file.
37163
37164 2010-03-08  Karl Berry  <karl@gnu.org>
37165
37166         * doc/gnulib-tool.texi (VCS Issues): Mention third option
37167         of committing gnulib files while skipping others.
37168
37169 2010-03-07  Bruno Haible  <bruno@clisp.org>
37170
37171         Tests of module 'wctype' in C++ mode.
37172         * tests/test-wctype-c++.cc: New file.
37173         * modules/wctype-tests (Files): Add it and tests/signature.h.
37174         (Depends-on): Add ansi-c++-opt.
37175         (Makefile.am): Arrange to compile and run test-wctype-c++.
37176
37177         Tests of module 'wchar' in C++ mode.
37178         * tests/test-wchar-c++.cc: New file.
37179         * modules/wchar-tests (Files): Add it and tests/signature.h.
37180         (Depends-on): Add ansi-c++-opt.
37181         (Makefile.am): Arrange to compile and run test-wchar-c++.
37182         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
37183         gl_MODULE_INDICATOR.
37184
37185         Tests of module 'unistd' in C++ mode.
37186         * tests/test-unistd-c++.cc: New file.
37187         * modules/unistd-tests (Files): Add it and tests/signature.h.
37188         (Depends-on): Add ansi-c++-opt.
37189         (Makefile.am): Arrange to compile and run test-unistd-c++.
37190         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
37191         gl_MODULE_INDICATOR.
37192
37193         Tests of module 'time' in C++ mode.
37194         * tests/test-time-c++.cc: New file.
37195         * modules/time-tests (Files): Add it and tests/signature.h.
37196         (Depends-on): Add ansi-c++-opt.
37197         (Makefile.am): Arrange to compile and run test-time-c++.
37198         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
37199
37200         Tests of module 'sys_time' in C++ mode.
37201         * tests/test-sys_time-c++.cc: New file.
37202         * modules/sys_time-tests (Files): Add it and tests/signature.h.
37203         (Depends-on): Add ansi-c++-opt.
37204         (Makefile.am): Arrange to compile and run test-sys_time-c++.
37205         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
37206         gl_MODULE_INDICATOR.
37207
37208         Tests of module 'sys_stat' in C++ mode.
37209         * tests/test-sys_stat-c++.cc: New file.
37210         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
37211         (Depends-on): Add ansi-c++-opt.
37212         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
37213         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
37214         gl_MODULE_INDICATOR.
37215
37216         Tests of module 'sys_socket' in C++ mode.
37217         * tests/test-sys_socket-c++.cc: New file.
37218         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
37219         (Depends-on): Add ansi-c++-opt.
37220         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
37221         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
37222         gl_MODULE_INDICATOR.
37223
37224         Tests of module 'sys_select' in C++ mode.
37225         * tests/test-sys_select-c++.cc: New file.
37226         * modules/sys_select-tests (Files): Add it and tests/signature.h.
37227         (Depends-on): Add ansi-c++-opt.
37228         (Makefile.am): Arrange to compile and run test-sys_select-c++.
37229         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
37230         gl_MODULE_INDICATOR.
37231
37232         Tests of module 'sys_ioctl' in C++ mode.
37233         * tests/test-sys_ioctl-c++.cc: New file.
37234         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
37235         (Depends-on): Add ansi-c++-opt.
37236         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
37237         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
37238         gl_MODULE_INDICATOR.
37239
37240         Tests of module 'string' in C++ mode.
37241         * tests/test-string-c++.cc: New file.
37242         * modules/string-tests (Files): Add it and tests/signature.h.
37243         (Depends-on): Add ansi-c++-opt.
37244         (Makefile.am): Arrange to compile and run test-string-c++.
37245         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
37246         gl_MODULE_INDICATOR.
37247
37248         Tests of module 'stdlib' in C++ mode.
37249         * tests/test-stdlib-c++.cc: New file.
37250         * modules/stdlib-tests (Files): Add it and tests/signature.h.
37251         (Depends-on): Add ansi-c++-opt.
37252         (Makefile.am): Arrange to compile and run test-stdlib-c++.
37253         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
37254         gl_MODULE_INDICATOR.
37255
37256         Tests of module 'stdio' in C++ mode.
37257         * tests/test-stdio-c++.cc: New file.
37258         * modules/stdio-tests (Files): Add it and tests/signature.h.
37259         (Depends-on): Add ansi-c++-opt.
37260         (Makefile.am): Arrange to compile and run test-stdio-c++.
37261         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
37262         gl_MODULE_INDICATOR.
37263
37264         Tests of module 'spawn' in C++ mode.
37265         * tests/test-spawn-c++.cc: New file.
37266         * modules/spawn-tests (Files): Add it and tests/signature.h.
37267         (Depends-on): Add ansi-c++-opt.
37268         (Makefile.am): Arrange to compile and run test-spawn-c++.
37269         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
37270         gl_MODULE_INDICATOR.
37271
37272         Tests of module 'signal' in C++ mode.
37273         * tests/test-signal-c++.cc: New file.
37274         * modules/signal-tests (Files): Add it and tests/signature.h.
37275         (Depends-on): Add ansi-c++-opt.
37276         (Makefile.am): Arrange to compile and run test-signal-c++.
37277         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
37278         gl_MODULE_INDICATOR.
37279
37280         Tests of module 'search' in C++ mode.
37281         * tests/test-search-c++.cc: New file.
37282         * modules/search-tests (Files): Add it and tests/signature.h.
37283         (Depends-on): Add ansi-c++-opt.
37284         (Makefile.am): Arrange to compile and run test-search-c++.
37285         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
37286         gl_MODULE_INDICATOR.
37287
37288         Tests of module 'math' in C++ mode.
37289         * tests/test-math-c++.cc: New file.
37290         * modules/math-tests (Files): Add it and tests/signature.h.
37291         (Depends-on): Add ansi-c++-opt.
37292         (Makefile.am): Arrange to compile and run test-math-c++.
37293         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
37294
37295         Tests of module 'locale' in C++ mode.
37296         * tests/test-locale-c++.cc: New file.
37297         * modules/locale-tests (Files): Add it and tests/signature.h.
37298         (Depends-on): Add ansi-c++-opt.
37299         (Makefile.am): Arrange to compile and run test-locale-c++.
37300         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
37301         gl_MODULE_INDICATOR.
37302
37303         Tests of module 'langinfo' in C++ mode.
37304         * tests/test-langinfo-c++.cc: New file.
37305         * modules/langinfo-tests (Files): Add it and tests/signature.h.
37306         (Depends-on): Add ansi-c++-opt.
37307         (Makefile.am): Arrange to compile and run test-langinfo-c++.
37308         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
37309         gl_MODULE_INDICATOR.
37310
37311         Tests of module 'iconv-h' in C++ mode.
37312         * tests/test-iconv-h-c++.cc: New file.
37313         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
37314         (Depends-on): Add ansi-c++-opt.
37315         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
37316
37317         Tests of module 'glob' in C++ mode.
37318         * tests/test-glob-c++.cc: New file.
37319         * modules/glob-tests (Files): Add it.
37320         (Depends-on): Add ansi-c++-opt.
37321         (Makefile.am): Arrange to compile and run test-glob-c++.
37322
37323         Tests of module 'fcntl-h' in C++ mode.
37324         * tests/test-fcntl-h-c++.cc: New file.
37325         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
37326         (Depends-on): Add ansi-c++-opt.
37327         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
37328         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
37329         gl_MODULE_INDICATOR.
37330
37331         Tests of module 'dirent' in C++ mode.
37332         * tests/test-dirent-c++.cc: New file.
37333         * modules/dirent-tests (Files): Add it and tests/signature.h.
37334         (Depends-on): Add ansi-c++-opt.
37335         (Makefile.am): Arrange to compile and run test-dirent-c++.
37336         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
37337         gl_MODULE_INDICATOR.
37338
37339         New module 'ansi-c++-opt'.
37340         * modules/ansi-c++-opt: New file.
37341         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
37342
37343         Document C++ namespace mode.
37344         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
37345
37346         wctype: Avoid #define replacements in C++ mode.
37347         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
37348         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
37349         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
37350         In C++, define a namespaced alias symbol.
37351         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
37352         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
37353         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
37354         rule.
37355
37356         wchar: Avoid #define replacements in C++ mode.
37357         * lib/wchar.in.h: Include c++defs.h.
37358         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
37359         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
37360         symbol.
37361         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
37362         * modules/wchar (Depends-on): Add c++defs.
37363         (Makefile.am): Update wchar.h rule.
37364
37365         unistd: Avoid #define replacements in C++ mode.
37366         * lib/unistd.in.h: Include c++defs.h.
37367         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
37368         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
37369         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
37370         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
37371         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
37372         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
37373         symbol.
37374         (environ): Update.
37375         * modules/unistd (Depends-on): Add c++defs.
37376         (Makefile.am): Update unistd.h rule.
37377
37378         time: Avoid #define replacements in C++ mode.
37379         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
37380         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
37381         define a namespaced alias symbol.
37382         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
37383         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
37384         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
37385         * modules/time (Depends-on): Add c++defs, warn-on-use.
37386         (Makefile.am): Update time.h rule.
37387         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
37388         * modules/nanosleep (configure.ac): Likewise.
37389         * modules/strptime (configure.ac): Likewise.
37390         * modules/timegm (configure.ac): Likewise.
37391
37392         sys_time: Avoid #define replacements in C++ mode.
37393         * lib/sys_time.in.h: Include c++defs.h.
37394         (gettimeofday): In C++, define a namespaced alias symbol.
37395         * modules/sys_time (Depends-on): Add c++defs.
37396         (Makefile.am): Update sys/time.h rule.
37397
37398         sys_stat: Avoid #define replacements in C++ mode.
37399         * lib/sys_stat.in.h: Include c++defs.h.
37400         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
37401         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
37402         namespaced alias symbol.
37403         In C++, define a namespaced alias symbol.
37404         * modules/sys_stat (Depends-on): Add c++defs.
37405         (Makefile.am): Update sys/stat.h rule.
37406
37407         sys_socket: Avoid #define replacements in C++ mode.
37408         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
37409         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
37410         definitions also when the system has a <sys/socket.h>.
37411         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
37412         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
37413         In C++, define a namespaced alias symbol.
37414         * modules/sys_socket (Depends-on): Add c++defs.
37415         (Makefile.am): Update sys/socket.h rule.
37416
37417         sys_select: Avoid #define replacements in C++ mode.
37418         * lib/sys_select.in.h: Include c++defs.h. Enable the function
37419         definitions also when the system has a <sys/select.h>.
37420         (select): In C++, define a namespaced alias symbol.
37421         * modules/sys_select (Depends-on): Add c++defs.
37422         (Makefile.am): Update sys/select.h rule.
37423
37424         sys_ioctl: Avoid #define replacements in C++ mode.
37425         * lib/sys_ioctl.in.h: Include c++defs.h.
37426         (ioctl): In C++, define a namespaced alias symbol.
37427         * modules/sys_ioctl (Depends-on): Add c++defs.
37428         (Makefile.am): Update sys/ioctl.h rule.
37429
37430         string: Avoid #define replacements in C++ mode.
37431         * lib/string.in.h: Include c++defs.h.
37432         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
37433         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
37434         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
37435         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
37436         strsignal, strverscmp): In C++, define a namespaced alias symbol.
37437         * modules/string (Depends-on): Add c++defs.
37438         (Makefile.am): Update string.h rule.
37439
37440         stdlib: Avoid #define replacements in C++ mode.
37441         * lib/stdlib.in.h: Include c++defs.h.
37442         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
37443         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
37444         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
37445         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
37446         symbol.
37447         * modules/stdlib (Depends-on): Add c++defs.
37448         (Makefile.am): Update stdlib.h rule.
37449
37450         stdio: Avoid #define replacements in C++ mode.
37451         * lib/stdio.in.h: Include c++defs.h.
37452         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
37453         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
37454         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
37455         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
37456         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
37457         namespaced alias symbol.
37458         * modules/stdio (Depends-on): Add c++defs.
37459         (Makefile.am): Update stdio.h rule.
37460
37461         spawn: Avoid #define replacements in C++ mode.
37462         * lib/spawn.in.h: Include c++defs.h.
37463         (posix_spawn, posix_spawnp, posix_spawnattr_init,
37464         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
37465         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
37466         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
37467         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
37468         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
37469         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
37470         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
37471         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
37472         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
37473         In C++, define a namespaced alias symbol.
37474         * modules/spawn (Depends-on): Add c++defs.
37475         (Makefile.am): Update spawn.h rule.
37476
37477         signal: Avoid #define replacements in C++ mode.
37478         * lib/signal.in.h: Include c++defs.h.
37479         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
37480         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
37481         namespaced alias symbol.
37482         * modules/signal (Depends-on): Add c++defs.
37483         (Makefile.am): Update signal.h rule.
37484
37485         search: Avoid #define replacements in C++ mode.
37486         * lib/search.in.h: Include c++defs.h.
37487         (_gl_search_compar_fn, _gl_search_action_fn): New types.
37488         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
37489         symbol.
37490         * modules/search (Depends-on): Add c++defs.
37491         (Makefile.am): Update search.h rule.
37492
37493         math: Avoid #define replacements in C++ mode.
37494         * lib/math.in.h: Include c++defs.h.
37495         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
37496         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
37497         trunc, truncl): In C++, define a namespaced alias symbol.
37498         * modules/math (Depends-on): Add c++defs.
37499         (Makefile.am): Update math.h rule.
37500
37501         locale: Avoid #define replacements in C++ mode.
37502         * lib/locale.in.h: Include c++defs.h.
37503         (duplocale): In C++, define a namespaced alias symbol.
37504         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
37505         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
37506         * modules/locale (Depends-on): Add c++defs.
37507         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
37508
37509         langinfo: Avoid #define replacements in C++ mode.
37510         * lib/langinfo.in.h: Include c++defs.h.
37511         (nl_langinfo): In C++, define a namespaced alias symbol.
37512         * modules/langinfo (Depends-on): Add c++defs.
37513         (Makefile.am): Update langinfo.h rule.
37514
37515         iconv-h: Avoid #define replacements in C++ mode.
37516         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
37517         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
37518         symbol.
37519         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
37520         whenever iconv is present.
37521         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
37522         (Makefile.am): Update iconv.h rule.
37523
37524         glob: Avoid #define replacements in C++ mode.
37525         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
37526         (_gl_glob_errfunc_fn): New type.
37527         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
37528         symbol.
37529         * modules/glob (Depends-on): Add c++defs, warn-on-use.
37530         (Makefile.am): Update glob.h rule.
37531
37532         fcntl-h: Avoid #define replacements in C++ mode.
37533         * lib/fcntl.in.h: Include c++defs.h.
37534         (fcntl, open, openat): In C++, define a namespaced alias symbol.
37535         * modules/fcntl-h (Depends-on): Add c++defs.
37536         (Makefile.am): Update fcntl.h rule.
37537
37538         dirent: Avoid #define replacements in C++ mode.
37539         * lib/dirent.in.h: Include c++defs.h.
37540         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
37541         namespaced alias symbol.
37542         (dirfd): Update declaration.
37543         * modules/dirent (Depends-on): Add c++defs.
37544         (Makefile.am): Update dirent.h rule.
37545
37546         ctype: Make it usable in C++ code.
37547         * lib/ctype.in.h: Include c++defs.h.
37548         (isblank): Declare as extern "C".
37549         * modules/ctype (Depends-on): Add c++defs.
37550         (Makefile.am): Update ctype.h rule.
37551
37552         New module 'c++defs'.
37553         * modules/c++defs: New file.
37554         * build-aux/c++defs.h: New file.
37555         Reported by John W. Eaton <jwe@gnu.org>.
37556
37557 2010-03-07  Bruno Haible  <bruno@clisp.org>
37558
37559         logb: Provide missing declaration for Cygwin.
37560         * lib/math.in.h (logb): New declaration.
37561         * m4/logb.m4: New file.
37562         * modules/logb (Files): Add m4/logb.m4.
37563         (Depends-on): Add math.
37564         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
37565         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
37566         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
37567         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
37568         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
37569
37570 2010-03-07  Bruno Haible  <bruno@clisp.org>
37571
37572         Fix test-cond link error.
37573         * tests/test-cond.c: Include <stdio.h>.
37574
37575 2010-03-07  Bruno Haible  <bruno@clisp.org>
37576
37577         Fix test-dirent-safer link error.
37578         * modules/dirent-safer-tests (Makefile.am): Define
37579         test_dirent_safer_LDADD.
37580
37581 2010-03-07  Bruno Haible  <bruno@clisp.org>
37582
37583         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
37584         among default module list.
37585
37586 2010-03-07  Bruno Haible  <bruno@clisp.org>
37587
37588         Fix link error on platforms with GNU libiconv.
37589         * modules/unistr/u8-strcoll-tests (Makefile): Define
37590         test_u8_strcoll_LDADD.
37591         * modules/unistr/u16-strcoll-tests (Makefile): Define
37592         test_u16_strcoll_LDADD.
37593         * modules/unistr/u32-strcoll-tests (Makefile): Define
37594         test_u32_strcoll_LDADD.
37595
37596 2010-03-07  Bruno Haible  <bruno@clisp.org>
37597
37598         Use POSIX declarations for socket functions.
37599         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
37600         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
37601         rpl_sendto): Change declaration to match POSIX.
37602         * lib/connect.c (rpl_connect): Likewise.
37603         * lib/accept.c (rpl_accept): Likewise.
37604         * lib/bind.c (rpl_bind): Likewise.
37605         * lib/getpeername.c (rpl_getpeername): Likewise.
37606         * lib/getsockname.c (rpl_getsockname): Likewise.
37607         * lib/recv.c (rpl_recv): Likewise.
37608         * lib/send.c (rpl_send): Likewise.
37609         * lib/recvfrom.c (rpl_recvfrom): Likewise.
37610         * lib/sendto.c (rpl_sendto): Likewise.
37611
37612 2010-03-06  Bruno Haible  <bruno@clisp.org>
37613
37614         Clarify access, euidaccess, faccessat.
37615         * doc/posix-functions/faccessat.texi: Mention security problem under
37616         "Other problems", not "Portability problems".
37617         * doc/posix-functions/access.texi: Likewise. Mention a related security
37618         problem.
37619         * doc/glibc-functions/euidaccess.texi: Mention security problems.
37620         * lib/euidaccess.c: Add comments about platforms.
37621         * lib/unistd.in.h (access, euidaccess): Add warnings.
37622
37623 2010-03-07  Bruno Haible  <bruno@clisp.org>
37624
37625         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
37626         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
37627         (POSIX_SPAWN_SETSCHEDULER): Likewise.
37628         (POSIX_SPAWN_USEVFORK): Define in a way that works when
37629         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
37630         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
37631         declare when POSIX_SPAWN_SETSCHEDULER is zero.
37632         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
37633         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
37634         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
37635         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
37636         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
37637         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
37638         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
37639         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
37640         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
37641         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
37642         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
37643         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
37644         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
37645         Likewise.
37646         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
37647         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
37648         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
37649         Likewise.
37650         * tests/test-spawn.c (main): Make it work when
37651         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
37652
37653 2010-03-07  Bruno Haible  <bruno@clisp.org>
37654
37655         Fix incorrect Makefile.am generation in German locale.
37656         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37657         Execute sed command with character range in C locale.
37658
37659 2010-03-06  Bruno Haible  <bruno@clisp.org>
37660
37661         Tests for module 'iconv-h'.
37662         * modules/iconv-h-tests: New file.
37663         * tests/test-iconv-h.c: New file.
37664
37665         New module 'iconv-h'.
37666         * modules/iconv-h: New file.
37667         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
37668         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
37669         (configure.ac): Remove gl_ICONV_H.
37670         (Makefile.am): Remove rule for iconv.h.
37671
37672 2010-03-06  Bruno Haible  <bruno@clisp.org>
37673
37674         More consistent naming of *.m4 files.
37675         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
37676         * modules/wctype (Files): Update.
37677
37678         More consistent naming of *.m4 files.
37679         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
37680         * modules/wchar (Files): Update.
37681
37682 2010-03-06  Jim Meyering  <meyering@redhat.com>
37683
37684         euidaccess: relax license to LGPLv2+
37685         * modules/euidaccess (License): Relax to LGPLv2+.
37686
37687 2010-03-06  Bruno Haible  <bruno@clisp.org>
37688
37689         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
37690         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
37691         (Makefile.am): Augment lib_SOURCES instead.
37692
37693 2010-03-04  Jim Meyering  <meyering@redhat.com>
37694
37695         utime: remove obsolete module
37696         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
37697         unnecessary for years, and has been marked as obsolete for 10 months.
37698         * modules/utime: Remove file.
37699         * lib/utime.c: Remove file.
37700         * m4/utime.m4: Remove file.
37701         * m4/utimes-null.m4: Remove file.
37702         * doc/posix-functions/utime.texi (utime): Remove reference to
37703         the module.  Move the sole "fixed by gnulib" item into the
37704         "problems not fixed by Gnulib" list.
37705         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
37706
37707 2010-03-05  Simon Josefsson  <simon@josefsson.org>
37708
37709         * modules/exit (License): Relax license to LGPLv2+.
37710         (Status): Mark as obsolete.
37711         * NEWS: Mention deprecated 'exit' module.
37712         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
37713         of now obsolete 'exit'.
37714
37715 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37716
37717         fts-lgpl: remove unused module
37718         * modules/fts-lgpl: Remove.
37719         * MODULES.html.sh (func_all_modules): Adjust.
37720         * check-module (find_included_lib_files): Adjust.
37721         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
37722
37723 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
37724
37725         copy-acl: enhance Solaris ACL error handling
37726         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
37727         * lib/set-mode-acl.c (qset_acl): Likewise.
37728
37729 2010-03-02  Bruno Haible  <bruno@clisp.org>
37730
37731         spawn: Don't override the system defined values on FreeBSD 8.
37732         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
37733         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
37734         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
37735         if HAVE_POSIX_SPAWN is 1.
37736         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
37737
37738 2010-03-01  Bruno Haible  <bruno@clisp.org>
37739
37740         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
37741         regarding Automake.
37742
37743 2010-02-25  Bruno Haible  <bruno@clisp.org>
37744
37745         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
37746         * gnulib-tool: Define 'echo' as a function only before the ksh alias
37747         setting, not afterwards.
37748         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
37749
37750 2010-02-24  Eric Blake  <eblake@redhat.com>
37751
37752         bootstrap, git-version-gen: use timestamp
37753         * build-aux/git-version-gen (scriptversion): Force UTC.
37754         * build-aux/bootstrap (scriptversion): New variable.
37755
37756         bootstrap: allow older git
37757         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
37758         older than 1.6.4.  Requested by the libvirt project.
37759
37760 2010-02-23  Eric Blake  <eblake@redhat.com>
37761
37762         warn-on-use: work with old autoconf
37763         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
37764         AS_VAR semantics of autoconf 2.60.
37765         Reported by Bruno Haible.
37766
37767         bootstrap: improve some comments
37768         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
37769         clarification comments.
37770
37771         gettimeofday: provide correct function
37772         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
37773         when replacement is declared, otherwise provide gettimeofday.
37774         Reported by Michael Goffioul.
37775
37776 2010-02-23  Jim Meyering  <meyering@redhat.com>
37777
37778         lib-ignore: relax license to "unlimited", not LGPLv2+
37779         * modules/lib-ignore (License): Relax to "unlimited".
37780
37781 2010-02-23  Jim Meyering  <meyering@redhat.com>
37782
37783         lib-ignore: relax license to LGPLv2+
37784         * modules/lib-ignore (License): Relax to LGPLv2+.
37785
37786 2010-02-22  Eric Blake  <eblake@redhat.com>
37787
37788         lseek: avoid bash 3.2 broken pipe bug
37789         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
37790         warning from bash 3.2.
37791         Reported by Ben Pfaff, with analysis from Bruno Haible.
37792
37793         bootstrap: support non-FSF copyright holder
37794         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
37795         bootstrap.conf override of COPYRIGHT_HOLDER.
37796         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
37797
37798         bootstrap: interoperate with gettext 0.14.1
37799         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
37800
37801         bootstrap: allow for alternate submodule location
37802         * build-aux/bootstrap (gnulib_path): New variable; use instead of
37803         hardcoding submodule location.
37804         (gnulib_mk): Allow direct use of Makefile.am.
37805
37806         bootstrap: use GNULIB_SRCDIR to reduce disk usage
37807         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
37808         rather than reconfiguring where the submodule points.
37809
37810         gettimeofday: restore support for platforms that lack function
37811         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
37812         replacement if function is missing.
37813         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
37814         * modules/sys_time (Makefile.am): Substitute it.
37815         * lib/sys_time.in.h (gettimeofday): Check it.
37816         Reported by Michael Goffioul.
37817
37818 2010-02-21  Bruno Haible  <bruno@clisp.org>
37819
37820         * lib/stdio.in.h (obstack_printf): Fix typo.
37821
37822 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
37823
37824         vc-list-files: use bzr ls's -R option
37825         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
37826         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
37827
37828 2010-02-21  Jim Meyering  <meyering@redhat.com>
37829
37830         init.sh: fix EXEEXT shims to work also for names like test-prog
37831         * tests/init.sh: Re-exec a better shell, when needed.
37832         If the current shell lacks support for posix $(...), an init.sh-using
37833         test will now try to find a shell that supports that.  If EXEEXT is
37834         nonempty, we also require support for hyphen-in-alias-name and shell
37835         substitutions like ${var#glob}.  Failure to find such a shell results
37836         in a skipped test.
37837
37838 2010-02-21  Bruno Haible  <bruno@clisp.org>
37839
37840         Really work around around "broken pipe" error message from bash 3.2.
37841         * gnulib-tool (func_reset_sigpipe): Remove function.
37842         (echo): In bash 3.2, define to a function that uses printf.
37843         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
37844
37845 2010-02-20  Bruno Haible  <bruno@clisp.org>
37846
37847         Restore support for automake 1.9.6 with autoconf 2.61.
37848         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
37849         Reported by James Youngman <jay@gnu.org>.
37850
37851 2010-02-20  Bruno Haible  <bruno@clisp.org>
37852
37853         Improve *printf warning condition.
37854         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
37855         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
37856         and the function is overridden due to SIGPIPE emulation.
37857
37858 2010-02-20  Bruno Haible  <bruno@clisp.org>
37859
37860         * lib/stdio.in.h: Tweak comments.
37861
37862 2010-02-19  Bruno Haible  <bruno@clisp.org>
37863
37864         Make it easier to find modules. New gnulib-tool option '--find'.
37865         * gnulib-tool: New option --find.
37866         (func_usage): Document it.
37867         (func_sanitize_modulelist): New function, extracted from
37868         func_all_modules.
37869         (func_all_modules): Invoke it.
37870         * doc/gnulib-tool.texi (Which modules?): New node.
37871
37872 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
37873
37874         * lib/sys_select.in.h: Provide select replacement even if
37875         sys/select.h exists on a system, for Interix.
37876
37877 2010-02-18  Jim Meyering  <meyering@redhat.com>
37878
37879         init.sh: don't use $(...) just yet
37880         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
37881         to accommodate e.g., Solaris' /bin/sh.
37882
37883 2010-02-17  Bruno Haible  <bruno@clisp.org>
37884
37885         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
37886         Reported by Ludovic Courtès <ludo@gnu.org>.
37887
37888 2010-02-16  Simon Josefsson  <simon@josefsson.org>
37889
37890         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
37891         linking with -lintl.
37892
37893 2010-02-17  Simon Josefsson  <simon@josefsson.org>
37894
37895         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
37896         if not provided by the system's netdb.h.  Reported by
37897         ludo@gnu.org (Ludovic Courtès).
37898
37899 2010-02-15  Jim Meyering  <meyering@redhat.com>
37900
37901         init.sh: improve portability and efficiency
37902         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
37903         "dummy" in a for loop.
37904         Use '!', not '^' to select the complement of a character set used
37905         in a "case" statement.
37906         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
37907         Suggestions from Eric Blake.
37908
37909         init.sh: automatically accommodate programs with the .exe suffix
37910         Automatically arrange for an invocation of "prog" to execute the
37911         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
37912         may use the simpler "prog", yet still work when built on a system
37913         that requires specifying the added suffix.
37914         Do this by constructing a function named "prog" that invokes
37915         "prog.exe" for each .exe file in selected directories.
37916         * tests/init.sh (find_exe_basenames_): New function.
37917         (create_exe_shim_functions_): New function.
37918         (path_prepend_): Use it.
37919
37920         maint.mk: mark syntax-check sc_*.m rules as .PHONY
37921         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
37922         "make -t syntax-check" doesn't create a ton of sc_*.m files.
37923
37924 2010-02-14  Jim Meyering  <meyering@redhat.com>
37925
37926         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
37927         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
37928         (sc_prohibit_hash_pjw_without_use): New rule.
37929
37930         maint.mk: allow the default upload destination dir to be overridden
37931         * top/maint.mk (upload_dest_dir_): Define with a default that
37932         preserves the status quo.
37933         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
37934         Reported by Peter Simons.
37935
37936         maint.mk: prohibit inclusion of "hash.h" without_use
37937         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
37938
37939 2010-02-10  Jim Meyering  <meyering@redhat.com>
37940
37941         maint.mk: prohibit inclusion of "ignore-value.h" without_use
37942         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
37943
37944 2010-02-09  Eric Blake  <ebb9@byu.net>
37945         and Bruno Haible  <bruno@clisp.org>
37946
37947         obstack-printf-posix: ensure declaration
37948         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
37949         extracted from gl_FUNC_OBSTACK_PRINTF.
37950         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
37951         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
37952         Likewise.
37953         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
37954         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
37955         0.
37956
37957 2010-02-08  Bruno Haible  <bruno@clisp.org>
37958
37959         gnulib-tool: Fix typo in 2010-02-07 commit.
37960         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
37961         Reported by Eric Blake.
37962
37963 2010-02-07  Bruno Haible  <bruno@clisp.org>
37964
37965         gnulib-tool: Fix up caching patches.
37966         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
37967         option --no-cache. Use associative arrays when supported by the shell.
37968         (sed_comments): New variable.
37969         (modcache): Renamed from do_cache.
37970         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
37971         abbreviate unnecessarily.
37972         (have_associative): New variable.
37973         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
37974         way also for ksh and zsh.
37975         (func_init_sed_convert_to_cache_statements): New function, extracted
37976         from func_cache_lookup_module. Add support for associative arrays.
37977         Don't set the c_MODULE_cached variable here. Ignore all lines before
37978         the first field header. Remove only the final newline, not all trailing
37979         newlines. Support empty fields correctly. Limit the use of 'eval' to
37980         assignments.
37981         (func_get_description, func_get_status, func_get_notice,
37982         func_get_applicability, func_get_filelist, func_get_dependencies,
37983         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
37984         func_get_automake_snippet, func_get_include_directive,
37985         func_get_link_directive, func_get_license, func_get_maintainer):
37986         Update documentation. List the unoptimized code first. Add support for
37987         associative arrays. Limit the use of 'eval' to assignments.
37988         (func_get_applicability): Undo stylistic pessimisations.
37989         (func_get_automake_snippet, func_get_include_directive): Reduce code
37990         duplication.
37991         (func_modules_transitive_closure, func_modules_add_dummy,
37992         func_modules_notice, func_modules_to_filelist, func_add_file,
37993         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
37994         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
37995         func_create_testdir, func_create_megatestdir): Update documentation.
37996
37997 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37998
37999         * gnulib-tool (func_cache_lookup_module): Store the module name
38000         belonging to the cache variable; error out if two different
38001         module names map to the same cache variable name.
38002
38003 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38004
38005         gnulib-tool: Make caching optional.
38006         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
38007         Update matching short versions of --no-changelog.
38008         (func_usage): Update.
38009         (sed_extract_cache_prog): Renamed from ...
38010         (sed_extract_prog): ... this; revert to old extraction script.
38011         (func_get_description, func_get_status)
38012         (func_get_notice, func_get_applicability, func_get_filelist)
38013         (func_get_dependencies, func_get_autoconf_early_snippet)
38014         (func_get_autoconf_snippet, func_get_automake_snippet)
38015         (func_get_include_directive, func_get_link_directive)
38016         (func_get_license, func_get_maintainer): If $do_cache is false,
38017         use old, non-caching extraction scripts.
38018         Suggestion by Bruno Haible.
38019
38020 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38021
38022         gnulib-tool: cache module metainformation.
38023         * gnulib-tool (sed_extract_prog): Match newline before each
38024         header, and rewrite header to a shell variable suffix.
38025         (func_cache_var, func_cache_lookup_module): New functions,
38026         to turn a module name into a cache variable prefix, and to
38027         look up and cache module metainformation.
38028         (func_get_description, func_get_status)
38029         (func_get_notice, func_get_applicability, func_get_filelist)
38030         (func_get_dependencies, func_get_autoconf_early_snippet)
38031         (func_get_autoconf_snippet, func_get_automake_snippet)
38032         (func_get_include_directive, func_get_link_directive)
38033         (func_get_license, func_get_maintainer): Use
38034         func_cache_lookup_module.
38035
38036 2010-02-07  Bruno Haible  <bruno@clisp.org>
38037
38038         fnctl: Fix missing dependency.
38039         * modules/fcntl (Depends-on): Add getdtablesize.
38040         Reported by John W. Eaton <jwe@gnu.org>.
38041
38042 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
38043
38044         Argp: fix recognition of short alias options.
38045
38046         * lib/argp-parse.c (convert_options): Fix improper use of
38047         `|' between character values.
38048         * tests/test-argp.c (group1_option): New alias option
38049         --read (-r).
38050         (group1_parser): Special handling for 'r'.
38051         (test15): New test case.
38052         (test_fun): Add test15.
38053         * tests/test-argp-2.sh: Update expected --help and --usage
38054         outputs.
38055
38056 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
38057
38058         * tests/test-argp.c: Fix indentation.
38059
38060 2010-02-04  Eric Blake  <ebb9@byu.net>
38061
38062         gettimeofday: expose type of second argument
38063         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
38064         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
38065         * tests/test-gettimeofday.c: Use it to silence warning.
38066         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
38067         the issue.
38068
38069 2010-02-03  Jim Meyering  <meyering@redhat.com>
38070
38071         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
38072         * lib/regcomp.c (TYPE_SIGNED): Define.
38073         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
38074
38075         regcomp.c: avoid a new -Wshadow warning
38076         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
38077
38078 2010-02-01  Jim Meyering  <meyering@redhat.com>
38079
38080         removing useless parentheses in cpp #define directives
38081         For motivation, see commit c0221df4, "define STREQ(a,b)
38082         consistently, removing useless parentheses"
38083         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
38084         * lib/mountlist.c (MNT_IGNORE): Likewise.
38085         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
38086
38087 2010-02-01  Eric Blake  <ebb9@byu.net>
38088
38089         sys_time: use link-warning
38090         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
38091         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
38092         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
38093         * modules/sys_time (Depends-on): Add warn-on-use.
38094         (Makefile.am): Always build replacement.
38095         (configure.ac): Update substitutions.
38096         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
38097         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
38098         bother with SYS_TIME_H.
38099         * modules/gettimeofday (configure.ac): Declare indicator.
38100         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
38101         in use.
38102
38103         closein-tests: silence compiler warning
38104         * tests/test-closein.c (main): Ignore fread result.
38105         * modules/closein-tests (Depends-on): Add ignore-value.
38106
38107         tests: silence warning about system return
38108         * tests/test-areadlink-with-size.c (main): Ignore system result.
38109         * tests/test-areadlink.c (main): Likewise.
38110         * tests/test-areadlinkat-with-size.c (main): Likewise.
38111         * tests/test-areadlinkat.c (main): Likewise.
38112         * tests/test-canonicalize-lgpl.c (main): Likewise.
38113         * tests/test-canonicalize.c (main): Likewise.
38114         * tests/test-chown.c (main): Likewise.
38115         * tests/test-fchownat.c (main): Likewise.
38116         * tests/test-fdutimensat.c (main): Likewise.
38117         * tests/test-fstatat.c (main): Likewise.
38118         * tests/test-futimens.c (main): Likewise.
38119         * tests/test-lchown.c (main): Likewise.
38120         * tests/test-link.c (main): Likewise.
38121         * tests/test-linkat.c (main): Likewise.
38122         * tests/test-lstat.c (main): Likewise.
38123         * tests/test-mkdir.c (main): Likewise.
38124         * tests/test-mkdirat.c (main): Likewise.
38125         * tests/test-mkfifo.c (main): Likewise.
38126         * tests/test-mkfifoat.c (main): Likewise.
38127         * tests/test-mknod.c (main): Likewise.
38128         * tests/test-readlink.c (main): Likewise.
38129         * tests/test-remove.c (main): Likewise.
38130         * tests/test-rename.c (main): Likewise.
38131         * tests/test-renameat.c (main): Likewise.
38132         * tests/test-rmdir.c (main): Likewise.
38133         * tests/test-symlink.c (main): Likewise.
38134         * tests/test-symlinkat.c (main): Likewise.
38135         * tests/test-unlink.c (main): Likewise.
38136         * tests/test-unlinkat.c (main): Likewise.
38137         * tests/test-utimens.c (main): Likewise.
38138         * tests/test-utimensat.c (main): Likewise.
38139         * modules/areadlink-tests (Depends-on): Add ignore-value.
38140         * modules/areadlink-with-size-tests (Depends-on): Likewise.
38141         * modules/areadlinkat-tests (Depends-on): Likewise.
38142         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
38143         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
38144         * modules/canonicalize-tests (Depends-on): Likewise.
38145         * modules/chown-tests (Depends-on): Likewise.
38146         * modules/fdutimensat-tests (Depends-on): Likewise.
38147         * modules/futimens-tests (Depends-on): Likewise.
38148         * modules/lchown-tests (Depends-on): Likewise.
38149         * modules/link-tests (Depends-on): Likewise.
38150         * modules/linkat-tests (Depends-on): Likewise.
38151         * modules/lstat-tests (Depends-on): Likewise.
38152         * modules/mkdir-tests (Depends-on): Likewise.
38153         * modules/mkfifo-tests (Depends-on): Likewise.
38154         * modules/mkfifoat-tests (Depends-on): Likewise.
38155         * modules/mknod-tests (Depends-on): Likewise.
38156         * modules/openat-tests (Depends-on): Likewise.
38157         * modules/readlink-tests (Depends-on): Likewise.
38158         * modules/remove-tests (Depends-on): Likewise.
38159         * modules/rename-tests (Depends-on): Likewise.
38160         * modules/renameat-tests (Depends-on): Likewise.
38161         * modules/rmdir-tests (Depends-on): Likewise.
38162         * modules/symlink-tests (Depends-on): Likewise.
38163         * modules/symlinkat-tests (Depends-on): Likewise.
38164         * modules/unlink-tests (Depends-on): Likewise.
38165         * modules/utimens-tests (Depends-on): Likewise.
38166         * modules/utimensat-tests (Depends-on): Likewise.
38167
38168 2010-01-31  Bruno Haible  <bruno@clisp.org>
38169
38170         Perform the same test for many <math.h> functions.
38171         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
38172         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
38173         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
38174         of gl_MATHFUNC.
38175         * modules/acos (configure.ac): Likewise.
38176         * modules/asin (configure.ac): Likewise.
38177         * modules/atan (configure.ac): Likewise.
38178         * modules/atan2 (configure.ac): Likewise.
38179         * modules/cbrt (configure.ac): Likewise.
38180         * modules/copysign (configure.ac): Likewise.
38181         * modules/cos (configure.ac): Likewise.
38182         * modules/cosh (configure.ac): Likewise.
38183         * modules/erf (configure.ac): Likewise.
38184         * modules/erfc (configure.ac): Likewise.
38185         * modules/exp (configure.ac): Likewise.
38186         * modules/fmod (configure.ac): Likewise.
38187         * modules/hypot (configure.ac): Likewise.
38188         * modules/j0 (configure.ac): Likewise.
38189         * modules/j1 (configure.ac): Likewise.
38190         * modules/jn (configure.ac): Likewise.
38191         * modules/lgamma (configure.ac): Likewise.
38192         * modules/log (configure.ac): Likewise.
38193         * modules/log10 (configure.ac): Likewise.
38194         * modules/log1p (configure.ac): Likewise.
38195         * modules/pow (configure.ac): Likewise.
38196         * modules/remainder (configure.ac): Likewise.
38197         * modules/sin (configure.ac): Likewise.
38198         * modules/sinh (configure.ac): Likewise.
38199         * modules/tan (configure.ac): Likewise.
38200         * modules/tanh (configure.ac): Likewise.
38201         * modules/y0 (configure.ac): Likewise.
38202         * modules/y1 (configure.ac): Likewise.
38203         * modules/yn (configure.ac): Likewise.
38204         Suggested by Paolo Bonzini.
38205
38206 2010-01-31  Bruno Haible  <bruno@clisp.org>
38207
38208         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
38209
38210 2010-01-31  Bruno Haible  <bruno@clisp.org>
38211
38212         Work around getdelim() bug on FreeBSD 8.0.
38213         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
38214         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
38215         not work.
38216         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
38217         is 1.
38218         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
38219         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
38220         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
38221         a non-zero size.
38222         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
38223
38224 2010-01-31  Bruno Haible  <bruno@clisp.org>
38225
38226         Work around getline() bug on FreeBSD 8.0.
38227         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
38228         and a non-zero size.
38229         * tests/test-getline.c (main): Likewise.
38230         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
38231         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
38232
38233 2010-01-28  Eric Blake  <ebb9@byu.net>
38234
38235         regex: fix build failure
38236         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
38237         platforms.
38238
38239 2010-01-28  Jim Meyering  <meyering@redhat.com>
38240
38241         regex: do not ignore memory allocation failure
38242         * lib/regex_internal.c (create_cd_newstate): Detect
38243         re_node_set_init_copy failure.   Extracted from glibc commit
38244         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
38245
38246         regex: sync more white-space changes from libc
38247         * lib/regex_internal.c: White-space only changes.
38248         * lib/regexec.c: Likewise.
38249
38250         regex: add many uses of __attribute_warn_unused_result__
38251         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
38252         * lib/regexec.c: Likewise.
38253         Extracted from a messy glibc commit.
38254
38255         regcomp.c: spelling and merge-artifact from glibc
38256         * lib/regcomp.c: Merge remainder of glibc's
38257         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
38258
38259         regcomp.c: sync white-space changes from glibc
38260         * lib/regcomp.c: Merge to accommodate white space
38261         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
38262
38263         regcomp.c: do not ignore internal return values
38264         * lib/regcomp.c: Do not ignore internal return values.
38265         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
38266         but without its white-space changes and spelling fixes.
38267
38268         regex_internal.h: define __attribute_warn_unused_result__
38269         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
38270
38271         maint: add a syntax-check rule to check for vulnerable Makefile.in
38272         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
38273
38274 2010-01-27  Jim Meyering  <meyering@redhat.com>
38275
38276         ncftpput-ftp: clean up spaces
38277         * build-aux/ncftpput-ftp: Make Copyright line consistent.
38278         Remove trailing blanks.
38279
38280 2010-01-27  Simon Josefsson  <simon@josefsson.org>
38281
38282         * build-aux/git-version-gen: Fix copyright statement.
38283         * build-aux/gnupload: Likewise.
38284         * tests/test-arcfour.c: Likewise.
38285         * tests/test-arctwo.c: Likewise.
38286         * tests/test-count-one-bits.c: Likewise.
38287         * tests/test-crc.c: Likewise.
38288         * tests/test-des.c: Likewise.
38289         * tests/test-gc-arcfour.c: Likewise.
38290         * tests/test-gc-arctwo.c: Likewise.
38291         * tests/test-gc-des.c: Likewise.
38292         * tests/test-gc-hmac-md5.c: Likewise.
38293         * tests/test-gc-hmac-sha1.c: Likewise.
38294         * tests/test-gc-md2.c: Likewise.
38295         * tests/test-gc-md4.c: Likewise.
38296         * tests/test-gc-md5.c: Likewise.
38297         * tests/test-gc-pbkdf2-sha1.c: Likewise.
38298         * tests/test-gc-rijndael.c: Likewise.
38299         * tests/test-gc-sha1.c: Likewise.
38300         * tests/test-gc.c: Likewise.
38301         * tests/test-gethostname.c: Likewise.
38302         * tests/test-gettimeofday.c: Likewise.
38303         * tests/test-hash.c: Likewise.
38304         * tests/test-hmac-md5.c: Likewise.
38305         * tests/test-hmac-sha1.c: Likewise.
38306         * tests/test-md2.c: Likewise.
38307         * tests/test-md4.c: Likewise.
38308         * tests/test-md5.c: Likewise.
38309         * tests/test-memchr.c: Likewise.
38310         * tests/test-memchr2.c: Likewise.
38311         * tests/test-memcmp.c: Likewise.
38312         * tests/test-memmem.c: Likewise.
38313         * tests/test-memrchr.c: Likewise.
38314         * tests/test-rawmemchr.c: Likewise.
38315         * tests/test-read-file.c: Likewise.
38316         * tests/test-rijndael.c: Likewise.
38317         * tests/test-sockets.c: Likewise.
38318         * tests/test-strchrnul.c: Likewise.
38319         * tests/test-strstr.c: Likewise.
38320         * tests/test-strtod.c: Likewise.
38321         * build-aux/ncftpput-ftp: Likewise.
38322
38323 2010-01-26  Eric Blake  <ebb9@byu.net>
38324
38325         ignore-value: update recommended header name
38326         * modules/ignore-value (Include): Only use <> for headers that
38327         exist in glibc.
38328
38329 2010-01-26  Jim Meyering  <meyering@redhat.com>
38330
38331         test-userspec.c: avoid compiler warnings
38332         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
38333         and "initialization discards qualifiers..." warnings.
38334         Put the first "uid" in its own scope, and make char* members "const".
38335
38336 2010-01-25  Bruno Haible  <bruno@clisp.org>
38337
38338         gnulib-tool: Make warning diagnostics consistent.
38339         * gnulib-tool (func_warning): New function.
38340         Use it everywhere where gnulib-tool produces output to stderr and it is
38341         not a fatal error.
38342
38343 2010-01-25  Bruno Haible  <bruno@clisp.org>
38344
38345         Fix test dependencies.
38346         * modules/xstrtol-tests (Depends-on): Add inttypes.
38347         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
38348
38349 2010-01-25 Pádraig Brady <P@draigBrady.com>
38350
38351         syntax-check: detect incorrect boolean macro values in config.h
38352         * modules/maintainer-makefile (configure.ac): Parameterize the location
38353         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
38354         The logic is from Eric Blake and the location indicated by Jim Meyering.
38355         Note the more natural CONFIG_HEADER name is prohibited by automake
38356         for backwards compatibility reasons.
38357         * top/maint.mk (sc_Wundef_boolean): New rule.
38358
38359 2010-01-25  Jim Meyering  <meyering@redhat.com>
38360
38361         bootstrap: detect MacOS 10.6's shasum, too
38362         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
38363         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
38364
38365 2010-01-23  Jim Meyering  <meyering@redhat.com>
38366
38367         xstrtoll: new module
38368         * modules/xstrtoll: New file.
38369         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
38370         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
38371         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
38372         ./configure fails if you use this module and lack "long long".
38373         * modules/xstrtoll-tests: New module.
38374         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
38375         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
38376         new init.sh-based test framework.
38377
38378 2010-01-24  Bruno Haible  <bruno@clisp.org>
38379
38380         Tests for module 'yn'.
38381         * modules/yn-tests: New file.
38382         * tests/test-yn.c: New file.
38383
38384         Tests for module 'y1'.
38385         * modules/y1-tests: New file.
38386         * tests/test-y1.c: New file.
38387
38388         Tests for module 'y0'.
38389         * modules/y0-tests: New file.
38390         * tests/test-y0.c: New file.
38391
38392         Tests for module 'tanh'.
38393         * modules/tanh-tests: New file.
38394         * tests/test-tanh.c: New file.
38395
38396         Tests for module 'tan'.
38397         * modules/tan-tests: New file.
38398         * tests/test-tan.c: New file.
38399
38400         Tests for module 'sqrt'.
38401         * modules/sqrt-tests: New file.
38402         * tests/test-sqrt.c: New file.
38403
38404         Tests for module 'sinh'.
38405         * modules/sinh-tests: New file.
38406         * tests/test-sinh.c: New file.
38407
38408         Tests for module 'sin'.
38409         * modules/sin-tests: New file.
38410         * tests/test-sin.c: New file.
38411
38412         Tests for module 'rint'.
38413         * modules/rint-tests: New file.
38414         * tests/test-rint.c: New file.
38415
38416         Tests for module 'remainder'.
38417         * modules/remainder-tests: New file.
38418         * tests/test-remainder.c: New file.
38419
38420         Tests for module 'pow'.
38421         * modules/pow-tests: New file.
38422         * tests/test-pow.c: New file.
38423
38424         Tests for module 'nextafter'.
38425         * modules/nextafter-tests: New file.
38426         * tests/test-nextafter.c: New file.
38427
38428         Tests for module 'modf'.
38429         * modules/modf-tests: New file.
38430         * tests/test-modf.c: New file.
38431
38432         Tests for module 'logb'.
38433         * modules/logb-tests: New file.
38434         * tests/test-logb.c: New file.
38435
38436         Tests for module 'log1p'.
38437         * modules/log1p-tests: New file.
38438         * tests/test-log1p.c: New file.
38439
38440         Tests for module 'log10'.
38441         * modules/log10-tests: New file.
38442         * tests/test-log10.c: New file.
38443
38444         Tests for module 'log'.
38445         * modules/log-tests: New file.
38446         * tests/test-log.c: New file.
38447
38448         Tests for module 'lgamma'.
38449         * modules/lgamma-tests: New file.
38450         * tests/test-lgamma.c: New file.
38451
38452         Tests for module 'ldexp'.
38453         * modules/ldexp-tests: New file.
38454         * tests/test-ldexp.c: New file.
38455
38456         Tests for module 'jn'.
38457         * modules/jn-tests: New file.
38458         * tests/test-jn.c: New file.
38459
38460         Tests for module 'j1'.
38461         * modules/j1-tests: New file.
38462         * tests/test-j1.c: New file.
38463
38464         Tests for module 'j0'.
38465         * modules/j0-tests: New file.
38466         * tests/test-j0.c: New file.
38467
38468         Tests for module 'hypot'.
38469         * modules/hypot-tests: New file.
38470         * tests/test-hypot.c: New file.
38471
38472         Tests for module 'fmod'.
38473         * modules/fmod-tests: New file.
38474         * tests/test-fmod.c: New file.
38475
38476         Tests for module 'fabs'.
38477         * modules/fabs-tests: New file.
38478         * tests/test-fabs.c: New file.
38479
38480         Tests for module 'exp'.
38481         * modules/exp-tests: New file.
38482         * tests/test-exp.c: New file.
38483
38484         Tests for module 'erfc'.
38485         * modules/erfc-tests: New file.
38486         * tests/test-erfc.c: New file.
38487
38488         Tests for module 'erf'.
38489         * modules/erf-tests: New file.
38490         * tests/test-erf.c: New file.
38491
38492         Tests for module 'cosh'.
38493         * modules/cosh-tests: New file.
38494         * tests/test-cosh.c: New file.
38495
38496         Tests for module 'cos'.
38497         * modules/cos-tests: New file.
38498         * tests/test-cos.c: New file.
38499
38500         Tests for module 'copysign'.
38501         * modules/copysign-tests: New file.
38502         * tests/test-copysign.c: New file.
38503
38504         Tests for module 'cbrt'.
38505         * modules/cbrt-tests: New file.
38506         * tests/test-cbrt.c: New file.
38507
38508         Tests for module 'atan2'.
38509         * modules/atan2-tests: New file.
38510         * tests/test-atan2.c: New file.
38511
38512         Tests for module 'atan'.
38513         * modules/atan-tests: New file.
38514         * tests/test-atan.c: New file.
38515
38516         Tests for module 'asin'.
38517         * modules/asin-tests: New file.
38518         * tests/test-asin.c: New file.
38519
38520         Tests for module 'acos'.
38521         * modules/acos-tests: New file.
38522         * tests/test-acos.c: New file.
38523
38524 2010-01-24  Bruno Haible  <bruno@clisp.org>
38525
38526         Fix tests for common <math.h> functions.
38527         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
38528         code snippet that references the function pointer, rather than merely
38529         calling the function. Substitute the FUNC_LIBM variable.
38530         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
38531         * modules/acos (configure.ac): Likewise.
38532         * modules/asin (configure.ac): Likewise.
38533         * modules/atan (configure.ac): Likewise.
38534         * modules/atan2 (configure.ac): Likewise.
38535         * modules/cbrt (configure.ac): Likewise.
38536         * modules/copysign (configure.ac): Likewise.
38537         * modules/cos (configure.ac): Likewise.
38538         * modules/cosh (configure.ac): Likewise.
38539         * modules/erf (configure.ac): Likewise.
38540         * modules/erfc (configure.ac): Likewise.
38541         * modules/exp (configure.ac): Likewise.
38542         * modules/fabs (configure.ac): Likewise.
38543         * modules/fmod (configure.ac): Likewise.
38544         * modules/hypot (configure.ac): Likewise.
38545         * modules/j0 (configure.ac): Likewise.
38546         * modules/j1 (configure.ac): Likewise.
38547         * modules/jn (configure.ac): Likewise.
38548         * modules/ldexp (configure.ac): Likewise.
38549         * modules/lgamma (configure.ac): Likewise.
38550         * modules/log (configure.ac): Likewise.
38551         * modules/log10 (configure.ac): Likewise.
38552         * modules/log1p (configure.ac): Likewise.
38553         * modules/logb (configure.ac): Likewise.
38554         * modules/modf (configure.ac): Likewise.
38555         * modules/nextafter (configure.ac): Likewise.
38556         * modules/pow (configure.ac): Likewise.
38557         * modules/remainder (configure.ac): Likewise.
38558         * modules/rint (configure.ac): Likewise.
38559         * modules/sin (configure.ac): Likewise.
38560         * modules/sinh (configure.ac): Likewise.
38561         * modules/tan (configure.ac): Likewise.
38562         * modules/tanh (configure.ac): Likewise.
38563         * modules/y0 (configure.ac): Likewise.
38564         * modules/y1 (configure.ac): Likewise.
38565         * modules/yn (configure.ac): Likewise.
38566
38567 2010-01-24  Bruno Haible  <bruno@clisp.org>
38568
38569         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
38570         * tests/test-acosl.c (x): New variable.
38571         (main): Store argument in x and fetch it from x.
38572         * tests/test-asinl.c (x): New variable.
38573         (main): Store argument in x and fetch it from x.
38574         * tests/test-atanl.c (x): New variable.
38575         (main): Store argument in x and fetch it from x.
38576         * tests/test-cosl.c (x): New variable.
38577         (main): Store argument in x and fetch it from x.
38578         * tests/test-expl.c (x): New variable.
38579         (main): Store argument in x and fetch it from x.
38580         * tests/test-logl.c (x): New variable.
38581         (main): Store argument in x and fetch it from x.
38582         * tests/test-sinl.c (x): New variable.
38583         (main): Store argument in x and fetch it from x.
38584         * tests/test-sqrtl.c (x): New variable.
38585         (main): Store argument in x and fetch it from x.
38586         * tests/test-tanl.c (x): New variable.
38587         (main): Store argument in x and fetch it from x.
38588
38589 2010-01-24  Bruno Haible  <bruno@clisp.org>
38590
38591         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
38592         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
38593         assignments to the initial TESTS_ENVIRONMENT.
38594         * doc/gnulib.texi (Unit test modules): Document it.
38595         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
38596         TESTS_ENVIRONMENT.
38597         * modules/btowc-tests (Makefile.am): Likewise.
38598         * modules/c-stack-tests (Makefile.am): Likewise.
38599         * modules/c-strcase-tests (Makefile.am): Likewise.
38600         * modules/copy-file-tests (Makefile.am): Likewise.
38601         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
38602         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
38603         * modules/mbrtowc-tests (Makefile.am): Likewise.
38604         * modules/mbscasecmp-tests (Makefile.am): Likewise.
38605         * modules/mbscasestr-tests (Makefile.am): Likewise.
38606         * modules/mbschr-tests (Makefile.am): Likewise.
38607         * modules/mbscspn-tests (Makefile.am): Likewise.
38608         * modules/mbsinit-tests (Makefile.am): Likewise.
38609         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
38610         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
38611         * modules/mbspbrk-tests (Makefile.am): Likewise.
38612         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
38613         * modules/mbsrchr-tests (Makefile.am): Likewise.
38614         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
38615         * modules/mbsspn-tests (Makefile.am): Likewise.
38616         * modules/mbsstr-tests (Makefile.am): Likewise.
38617         * modules/nl_langinfo-tests (Makefile.am): Likewise.
38618         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
38619         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
38620         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
38621         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
38622         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
38623         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
38624         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
38625         * modules/wcrtomb-tests (Makefile.am): Likewise.
38626         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
38627         * modules/wcsrtombs-tests (Makefile.am): Likewise.
38628         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
38629         assignments from TESTS_ENVIRONMENT.
38630         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
38631         augmentation.
38632         * modules/argp-version-etc-tests (Makefile.am): Likewise.
38633         * modules/atexit-tests (Makefile.am): Likewise.
38634         * modules/binary-io-tests (Makefile.am): Likewise.
38635         * modules/closein-tests (Makefile.am): Likewise.
38636         * modules/dprintf-posix-tests (Makefile.am): Likewise.
38637         * modules/exclude-tests (Makefile.am): Likewise.
38638         * modules/fflush-tests (Makefile.am): Likewise.
38639         * modules/fpending-tests (Makefile.am): Likewise.
38640         * modules/fprintf-posix-tests (Makefile.am): Likewise.
38641         * modules/freadahead-tests (Makefile.am): Likewise.
38642         * modules/freadptr-tests (Makefile.am): Likewise.
38643         * modules/freadseek-tests (Makefile.am): Likewise.
38644         * modules/fseek-tests (Makefile.am): Likewise.
38645         * modules/fseeko-tests (Makefile.am): Likewise.
38646         * modules/ftell-tests (Makefile.am): Likewise.
38647         * modules/ftello-tests (Makefile.am): Likewise.
38648         * modules/idpriv-drop-tests (Makefile.am): Likewise.
38649         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
38650         * modules/lseek-tests (Makefile.am): Likewise.
38651         * modules/parse-duration-tests (Makefile.am): Likewise.
38652         * modules/perror-tests (Makefile.am): Likewise.
38653         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
38654         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
38655         * modules/pipe-tests (Makefile.am): Likewise.
38656         * modules/pread-tests (Makefile.am): Likewise.
38657         * modules/printf-posix-tests (Makefile.am): Likewise.
38658         * modules/select-tests (Makefile.am): Likewise.
38659         * modules/sigpipe-tests (Makefile.am): Likewise.
38660         * modules/tsearch-tests (Makefile.am): Likewise.
38661         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
38662         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
38663         * modules/uniname/uniname-tests (Makefile.am): Likewise.
38664         * modules/uniwidth/width-tests (Makefile.am): Likewise.
38665         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
38666         * modules/version-etc-tests (Makefile.am): Likewise.
38667         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
38668         * modules/vprintf-posix-tests (Makefile.am): Likewise.
38669         * modules/xalloc-die-tests (Makefile.am): Likewise.
38670         * modules/xprintf-posix-tests (Makefile.am): Likewise.
38671         * modules/xstrtoimax-tests (Makefile.am): Likewise.
38672         * modules/xstrtol-tests (Makefile.am): Likewise.
38673         * modules/xstrtoumax-tests (Makefile.am): Likewise.
38674         * modules/yesno-tests (Makefile.am): Likewise.
38675         Suggested by Jim Meyering.
38676
38677 2010-01-24  Bruno Haible  <bruno@clisp.org>
38678
38679         More documentation.
38680         * doc/gnulib.texi (Writing modules): New chapter.
38681         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
38682         the new chapter.
38683
38684 2010-01-24  Jim Meyering  <meyering@redhat.com>
38685
38686         maint.mk: do not prepend "./" after filtering
38687         * top/maint.mk (_prepend_srcdir_prefix): New variable
38688         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
38689         "./" when $(srcdir) is ".".
38690
38691         define STREQ(a,b) consistently, removing useless parentheses
38692         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
38693         since the only risk is that "a" or "b" contains an unparenthesized
38694         comma, but if either did that, STREQ would have 3 or more arguments.
38695         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
38696         * lib/fts.c (STREQ): Remove unnecessary parentheses.
38697         * lib/hash-triple.c (STREQ): Likewise.
38698         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
38699         * lib/getugroups.c (STREQ): Likewise.
38700
38701 2010-01-23  Jim Meyering  <meyering@redhat.com>
38702
38703         maint.mk: fix syntax-check in a non-srcdir build directory
38704         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
38705         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
38706
38707 2010-01-22  Jim Meyering  <meyering@redhat.com>
38708
38709         userspec: add unit tests
38710         * tests/test-userspec.c: New file.
38711         * modules/userspec-tests: Likewise.
38712
38713 2010-01-21  Jim Meyering  <meyering@redhat.com>
38714
38715         maint.mk: handle source file names containing "." robustly
38716         * top/maint.mk (_dot_escaped_srcdir): Define.
38717         (VC_LIST): Use it in LHS of sed substitution.
38718
38719 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
38720
38721         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
38722         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
38723         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
38724         from a non-srcdir build.
38725
38726 2010-01-20  Eric Blake  <ebb9@byu.net>
38727
38728         warn-on-use: use instead of link-warning
38729         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
38730         * modules/unistd (Depends-on, Makefile.am): Likewise.
38731         * modules/arpa_inet (Depends-on): Replace link-warning with
38732         warn-on-use.
38733         (Makefile.am): Update rules accordingly.
38734         * modules/ctype (Depends-on, Makefile.am): Likewise.
38735         * modules/dirent (Depends-on, Makefile.am): Likewise.
38736         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
38737         * modules/inttypes (Depends-on, Makefile.am): Likewise.
38738         * modules/langinfo (Depends-on, Makefile.am): Likewise.
38739         * modules/locale (Depends-on, Makefile.am): Likewise.
38740         * modules/math (Depends-on, Makefile.am): Likewise.
38741         * modules/search (Depends-on, Makefile.am): Likewise.
38742         * modules/signal (Depends-on, Makefile.am): Likewise.
38743         * modules/spawn (Depends-on, Makefile.am): Likewise.
38744         * modules/stdlib (Depends-on, Makefile.am): Likewise.
38745         * modules/string (Depends-on, Makefile.am): Likewise.
38746         * modules/strings (Depends-on, Makefile.am): Likewise.
38747         * modules/sys_file (Depends-on, Makefile.am): Likewise.
38748         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
38749         * modules/sys_select (Depends-on, Makefile.am): Likewise.
38750         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
38751         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
38752         * modules/sys_times (Depends-on, Makefile.am): Likewise.
38753         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
38754         * modules/wchar (Depends-on, Makefile.am): Likewise.
38755         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
38756         should be poisoned.
38757         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
38758         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
38759         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
38760         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38761         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
38762         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
38763         * m4/math_h.m4 (gl_MATH_H): Likewise.
38764         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38765         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
38766         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38767         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
38768         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
38769         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
38770         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
38771         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
38772         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
38773         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38774         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38775         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
38776         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
38777         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
38778         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
38779         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38780         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
38781         GL_LINK_WARNING.
38782         * lib/ctype.in.h: Likewise.
38783         * lib/dirent.in.h: Likewise.
38784         * lib/fcntl.in.h: Likewise.
38785         * lib/inttypes.in.h: Likewise.
38786         * lib/langinfo.in.h: Likewise.
38787         * lib/locale.in.h: Likewise.
38788         * lib/math.in.h: Likewise.
38789         * lib/search.in.h: Likewise.
38790         * lib/signal.in.h: Likewise.
38791         * lib/spawn.in.h: Likewise.
38792         * lib/stdio.in.h: Likewise.
38793         * lib/stdlib.in.h: Likewise.
38794         * lib/string.in.h: Likewise.
38795         * lib/strings.in.h: Likewise.
38796         * lib/sys_file.in.h: Likewise.
38797         * lib/sys_ioctl.in.h: Likewise.
38798         * lib/sys_select.in.h: Likewise.
38799         * lib/sys_socket.in.h: Likewise.
38800         * lib/sys_stat.in.h: Likewise.
38801         * lib/sys_times.in.h: Likewise.
38802         * lib/sys_utsname.in.h: Likewise.
38803         * lib/unistd.in.h: Likewise.
38804         * lib/wchar.in.h: Likewise.
38805
38806 2010-01-20  Bruno Haible  <bruno@clisp.org>
38807
38808         Avoid duplicate -lm.
38809         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
38810         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
38811         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
38812         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
38813         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
38814         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
38815         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
38816         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
38817         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
38818         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
38819         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
38820         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
38821         Reported by Paolo Bonzini.
38822
38823 2010-01-19  Bruno Haible  <bruno@clisp.org>
38824
38825         langinfo, nl_langinfo: Relicense under LGPLv2+.
38826         * modules/langinfo (License): Change to LGPLv2+.
38827         * modules/nl_langinfo (License): Likewise.
38828         Patch by David Lutterkort <lutter@redhat.com>.
38829
38830 2010-01-19  Bruno Haible  <bruno@clisp.org>
38831
38832         Avoid compilation error with cc on OSF/1 5.1.
38833         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
38834         statement, not before.
38835         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38836
38837 2010-01-18  Bruno Haible  <bruno@clisp.org>
38838
38839         Avoid a link error due to the __printf__ symbol.
38840         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
38841         and 2.6.x.
38842         (__format__, __printf__): Remove definitions.
38843         * lib/argp-fmtstream.h: Likewise.
38844         * lib/argp.h: Likewise.
38845         * lib/error.h: Likewise.
38846         * lib/vasnprintf.h: Likewise.
38847         * lib/xprintf.h: Likewise.
38848         * lib/xvasprintf.h: Likewise.
38849         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38850
38851 2010-01-18  Bruno Haible  <bruno@clisp.org>
38852
38853         Tests for module 'tanl'.
38854         * modules/tanl-tests: New file.
38855         * tests/test-tanl.c: New file.
38856
38857         Tests for module 'sqrtl'.
38858         * modules/sqrtl-tests: New file.
38859         * tests/test-sqrtl.c: New file.
38860
38861         Tests for module 'sinl'.
38862         * modules/sinl-tests: New file.
38863         * tests/test-sinl.c: New file.
38864
38865         Tests for module 'logl'.
38866         * modules/logl-tests: New file.
38867         * tests/test-logl.c: New file.
38868
38869         Tests for module 'expl'.
38870         * modules/expl-tests: New file.
38871         * tests/test-expl.c: New file.
38872
38873         Tests for module 'cosl'.
38874         * modules/cosl-tests: New file.
38875         * tests/test-cosl.c: New file.
38876
38877         Tests for module 'atanl'.
38878         * modules/atanl-tests: New file.
38879         * tests/test-atanl.c: New file.
38880
38881         Tests for module 'asinl'.
38882         * modules/asinl-tests: New file.
38883         * tests/test-asinl.c: New file.
38884
38885         Tests for module 'acosl'.
38886         * modules/acosl-tests: New file.
38887         * tests/test-acosl.c: New file.
38888
38889         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38890         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
38891         tanl): Use the standard gnulib idiom.
38892         * lib/cosl.c: Don't include trigl.c and sincosl.c.
38893         * lib/sinl.c: Likewise.
38894         * lib/tanl.c: Don't include trigl.c.
38895         (kernel_tanl): Make static.
38896         * lib/sincosl.c: Include trigl.h first.
38897         * lib/trigl.c: Likewise.
38898         * m4/acosl.m4: New file.
38899         * m4/asinl.m4: New file.
38900         * m4/atanl.m4: New file.
38901         * m4/cosl.m4: New file.
38902         * m4/expl.m4: New file.
38903         * m4/logl.m4: New file.
38904         * m4/sinl.m4: New file.
38905         * m4/sqrtl.m4: New file.
38906         * m4/tanl.m4: New file.
38907         * m4/mathl.m4: Remove file.
38908         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
38909         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38910         Don't initialize GNULIB_MATHL.
38911         * modules/acosl: New file.
38912         * modules/asinl: New file.
38913         * modules/atanl: New file.
38914         * modules/cosl: New file.
38915         * modules/expl: New file.
38916         * modules/logl: New file.
38917         * modules/sinl: New file.
38918         * modules/sqrtl: New file.
38919         * modules/tanl: New file.
38920         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
38921         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
38922         substitute GNULIB_MATHL.
38923         * modules/mathl: Rewritten.
38924         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
38925         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
38926         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
38927         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
38928         * doc/posix-functions/expl.texi: Mention the 'expl' module.
38929         * doc/posix-functions/logl.texi: Mention the 'logl' module.
38930         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
38931         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
38932         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
38933
38934 2010-01-18  Bruno Haible  <bruno@clisp.org>
38935
38936         sqrt: Make gl_FUNC_SQRT requirable.
38937         * m4/sqrt.m4: New file.
38938         * modules/sqrt (Files): Add it.
38939         (configure.ac): Invoke gl_FUNC_SQRT.
38940
38941 2010-01-18  Bruno Haible  <bruno@clisp.org>
38942
38943         New modules for common <math.h> functions.
38944         * m4/mathfunc.m4: New file.
38945         * modules/acos: New file.
38946         * modules/asin: New file.
38947         * modules/atan: New file.
38948         * modules/atan2: New file.
38949         * modules/cbrt: New file.
38950         * modules/copysign: New file.
38951         * modules/cos: New file.
38952         * modules/cosh: New file.
38953         * modules/erf: New file.
38954         * modules/erfc: New file.
38955         * modules/exp: New file.
38956         * modules/fabs: New file.
38957         * modules/fmod: New file.
38958         * modules/hypot: New file.
38959         * modules/j0: New file.
38960         * modules/j1: New file.
38961         * modules/jn: New file.
38962         * modules/ldexp: New file.
38963         * modules/lgamma: New file.
38964         * modules/log: New file.
38965         * modules/log10: New file.
38966         * modules/log1p: New file.
38967         * modules/logb: New file.
38968         * modules/modf: New file.
38969         * modules/nextafter: New file.
38970         * modules/pow: New file.
38971         * modules/remainder: New file.
38972         * modules/rint: New file.
38973         * modules/sin: New file.
38974         * modules/sinh: New file.
38975         * modules/sqrt: New file.
38976         * modules/tan: New file.
38977         * modules/tanh: New file.
38978         * modules/y0: New file.
38979         * modules/y1: New file.
38980         * modules/yn: New file.
38981         * doc/posix-functions/acos.texi: Mention the 'acos' module.
38982         * doc/posix-functions/asin.texi: Mention the 'asin' module.
38983         * doc/posix-functions/atan.texi: Mention the 'atan' module.
38984         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
38985         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
38986         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
38987         * doc/posix-functions/cos.texi: Mention the 'cos' module.
38988         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
38989         * doc/posix-functions/erf.texi: Mention the 'erf' module.
38990         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
38991         * doc/posix-functions/exp.texi: Mention the 'exp' module.
38992         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
38993         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
38994         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
38995         * doc/posix-functions/j0.texi: Mention the 'j0' module.
38996         * doc/posix-functions/j1.texi: Mention the 'j1' module.
38997         * doc/posix-functions/jn.texi: Mention the 'jn' module.
38998         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
38999         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
39000         * doc/posix-functions/log.texi: Mention the 'log' module.
39001         * doc/posix-functions/log10.texi: Mention the 'log10' module.
39002         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
39003         * doc/posix-functions/logb.texi: Mention the 'logb' module.
39004         * doc/posix-functions/modf.texi: Mention the 'modf' module.
39005         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
39006         * doc/posix-functions/pow.texi: Mention the 'pow' module.
39007         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
39008         * doc/posix-functions/rint.texi: Mention the 'rint' module.
39009         * doc/posix-functions/sin.texi: Mention the 'sin' module.
39010         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
39011         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
39012         * doc/posix-functions/tan.texi: Mention the 'tan' module.
39013         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
39014         * doc/posix-functions/y0.texi: Mention the 'y0' module.
39015         * doc/posix-functions/y1.texi: Mention the 'y1' module.
39016         * doc/posix-functions/yn.texi: Mention the 'yn' module.
39017
39018 2010-01-18  Jim Meyering  <meyering@redhat.com>
39019
39020         ignore-value: relax license to LGPLv2+
39021         * modules/ignore-value (License): Relax to LGPLv2+.
39022
39023         getdate: don't leak when TZ contains two or more '"'s
39024         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
39025         double quote in TZ after the first one.
39026
39027         readtokens: do not leak internal token_lengths buffer
39028         * lib/readtokens.c (readtokens): Free the local, lengths,
39029         when the supplied "token_lengths" parameter is NULL.
39030
39031 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39032
39033         Fix a couple of missing LIBTHREAD link failures on AIX.
39034         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
39035         $(LIBTHREAD).
39036         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
39037
39038         Link test-poll against INET_PTON_LIB.
39039         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
39040         for inet_pton on Solaris 10.
39041
39042 2010-01-17  Bruno Haible  <bruno@clisp.org>
39043
39044         unistdio/*-sprintf: Fix typo in module description.
39045         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
39046         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
39047         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
39048         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
39049         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
39050         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
39051         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
39052         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39053
39054 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39055
39056         gnulib-tool: fix filelist for AIX, HP-UX ksh.
39057         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
39058         variables in shell case patterns, for AIX and HP-UX ksh.
39059
39060         Split large sed scripts, for HP-UX sed.
39061         * modules/stdio: Split sed scripts around 50 sed commands,
39062         to avoid HP-UX limit of 99 commands, in the near future.
39063         * modules/string: Likewise.
39064         * modules/unistd: Likewise.
39065
39066         gnulib-tool: avoid writing in the current directory.
39067         * gnulib-tool (func_emit_lib_Makefile_am)
39068         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
39069         not in the current directory, so concurrent gnulib-tool
39070         instances do not interfere.
39071
39072 2010-01-16  Jim Meyering  <meyering@redhat.com>
39073
39074         doc: update users.txt
39075         * users.txt: Add grep.
39076         (diffutils, gzip): Update URLs.
39077
39078 2010-01-12  Bruno Haible  <bruno@clisp.org>
39079
39080         posix_spawn: Avoid test failure on Cygwin.
39081         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
39082         characters.
39083         Reported by Simon Josefsson.
39084
39085 2010-01-12  Bruno Haible  <bruno@clisp.org>
39086
39087         * tests/test-cond.c (main): When skipping the test, show the reason.
39088
39089 2010-01-12  Simon Josefsson  <simon@josefsson.org>
39090
39091         * lib/striconv.c (str_cd_iconv): Avoid if before free.
39092
39093 2010-01-12  Simon Josefsson  <simon@josefsson.org>
39094
39095         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
39096         VC_LIST_ALWAYS_EXCLUDE_REGEX.
39097
39098 2010-01-12  Eric Blake  <ebb9@byu.net>
39099
39100         build: guarantee AS_VAR_IF
39101         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
39102         (gl_AS_VAR_IF): Move...
39103         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
39104         Reported by Simon Josefsson.
39105
39106 2010-01-12  Simon Josefsson  <simon@josefsson.org>
39107
39108         * lib/stdio.in.h: Fix typo.
39109
39110 2010-01-12  Simon Josefsson  <simon@josefsson.org>
39111
39112         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
39113         libgpg-error.
39114
39115 2010-01-12  Simon Josefsson  <simon@josefsson.org>
39116
39117         * tests/test-xalloc-die.sh: Use $EXEEXT.
39118
39119 2010-01-12  Simon Josefsson  <simon@josefsson.org>
39120             Bruno Haible  <bruno@clisp.org>
39121
39122         getlogin, getlogin_r: Avoid test failure.
39123         * tests/test-getlogin.c: Include <stdio.h>.
39124         (main): Skip the test when the function fails because stdin is not a
39125         tty.
39126         * tests/test-getlogin_r.c: Include <stdio.h>.
39127         (main): Skip the test when the function fails because stdin is not a
39128         tty.
39129
39130 2010-01-11  Eric Blake  <ebb9@byu.net>
39131
39132         tests: avoid more large file warnings
39133         * tests/test-fflush.c: Avoid warning about ftell use.
39134         * tests/test-fseek.c: Avoid warning about fseek use.
39135
39136 2010-01-10  Bruno Haible  <bruno@clisp.org>
39137
39138         nproc: Work better on Linux when /proc and /sys are not mounted.
39139         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
39140         as lower bound when, on glibc/Linux systems,
39141         sysconf (_SC_NPROCESSORS_CONF) returns 1.
39142         Suggested by Pádraig Brady <P@draigbrady.com>.
39143         Reported by Dmitry V. Levin <ldv@altlinux.org>.
39144
39145         nproc: Refactor.
39146         * lib/nproc.c (num_processors_via_affinity_mask): New function,
39147         extracted from num_processors.
39148         (num_processors): Call it.
39149
39150 2010-01-11  Jim Meyering  <meyering@redhat.com>
39151
39152         utimecmp: avoid new warning from upcoming gcc-4.5.0
39153         * lib/utimecmp.c (BILLION): Define using #define rather than an
39154         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
39155
39156 2010-01-11  Eric Blake  <ebb9@byu.net>
39157
39158         math: add portability warnings for classification macros
39159         * modules/math (Depends-on): Add warn-on-use.
39160         (Makefile.am): Provide new substitutions.
39161         * m4/math_h.m4 (gl_MATH_H): Require inline.
39162         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
39163         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
39164         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
39165         implement warnings.
39166
39167         unistd: warn on use of environ without module
39168         * modules/unistd (Depends-on): Add warn-on-use.
39169         (Makefile.am): Provide new substitutions.
39170         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
39171         * lib/unistd.in.h (environ): Wrap with a warning helper function.
39172
39173         stdio: warn on suspicious uses
39174         * modules/stdio (Depends-on): Add warn-on-use.
39175         (Makefile.am): Provide new substitutions.
39176         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
39177         fseeko.
39178         * lib/stdio.in.h (gets): Always warn on use.
39179         (fseek, ftell): Adjust when warnings are issued, and honor
39180         _GL_NO_LARGE_FILES as a way to silence the warning.
39181         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
39182         any warning about large file offsets.
39183         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
39184         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
39185         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
39186         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
39187         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
39188         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
39189         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
39190         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
39191
39192         warn-on-use: new module
39193         * modules/warn-on-use: New file.
39194         * build-aux/warn-on-use.h: Likewise.
39195         * m4/warn-on-use.m4: Likewise.
39196         * MODULES.html.sh (Support for building): Mention it.
39197
39198 2010-01-10  Bruno Haible  <bruno@clisp.org>
39199
39200         Tests for module 'unistr/u32-strdup'.
39201         * modules/unistr/u32-strdup-tests: New file.
39202         * tests/unistr/test-u32-strdup.c: New file.
39203
39204         Tests for module 'unistr/u16-strdup'.
39205         * modules/unistr/u16-strdup-tests: New file.
39206         * tests/unistr/test-u16-strdup.c: New file.
39207
39208         Tests for module 'unistr/u8-strdup'.
39209         * modules/unistr/u8-strdup-tests: New file.
39210         * tests/unistr/test-u8-strdup.c: New file.
39211         * tests/unistr/test-strdup.h: New file.
39212
39213         Tests for module 'unistr/u32-strncmp'.
39214         * modules/unistr/u32-strncmp-tests: New file.
39215         * tests/unistr/test-u32-strncmp.c: New file.
39216
39217         Tests for module 'unistr/u16-strncmp'.
39218         * modules/unistr/u16-strncmp-tests: New file.
39219         * tests/unistr/test-u16-strncmp.c: New file.
39220
39221         Tests for module 'unistr/u8-strncmp'.
39222         * modules/unistr/u8-strncmp-tests: New file.
39223         * tests/unistr/test-u8-strncmp.c: New file.
39224         * tests/unistr/test-strncmp.h: New file.
39225
39226         Tests for module 'unistr/u32-strcoll'.
39227         * modules/unistr/u32-strcoll-tests: New file.
39228         * tests/unistr/test-u32-strcoll.c: New file.
39229
39230         Tests for module 'unistr/u16-strcoll'.
39231         * modules/unistr/u16-strcoll-tests: New file.
39232         * tests/unistr/test-u16-strcoll.c: New file.
39233
39234         Tests for module 'unistr/u8-strcoll'.
39235         * modules/unistr/u8-strcoll-tests: New file.
39236         * tests/unistr/test-u8-strcoll.c: New file.
39237
39238         Tests for module 'unistr/u32-strcmp'.
39239         * modules/unistr/u32-strcmp-tests: New file.
39240         * tests/unistr/test-u32-strcmp.c: New file.
39241         * tests/unistr/test-u32-strcmp.h: New file.
39242
39243         Tests for module 'unistr/u16-strcmp'.
39244         * modules/unistr/u16-strcmp-tests: New file.
39245         * tests/unistr/test-u16-strcmp.c: New file.
39246         * tests/unistr/test-u16-strcmp.h: New file.
39247
39248         Tests for module 'unistr/u8-strcmp'.
39249         * modules/unistr/u8-strcmp-tests: New file.
39250         * tests/unistr/test-u8-strcmp.c: New file.
39251         * tests/unistr/test-u8-strcmp.h: New file.
39252         * tests/unistr/test-strcmp.h: New file.
39253
39254         Tests for module 'unistr/u32-strncat'.
39255         * modules/unistr/u32-strncat-tests: New file.
39256         * tests/unistr/test-u32-strncat.c: New file.
39257
39258         Tests for module 'unistr/u16-strncat'.
39259         * modules/unistr/u16-strncat-tests: New file.
39260         * tests/unistr/test-u16-strncat.c: New file.
39261
39262         Tests for module 'unistr/u8-strncat'.
39263         * modules/unistr/u8-strncat-tests: New file.
39264         * tests/unistr/test-u8-strncat.c: New file.
39265         * tests/unistr/test-strncat.h: New file.
39266
39267         Tests for module 'unistr/u32-strcat'.
39268         * modules/unistr/u32-strcat-tests: New file.
39269         * tests/unistr/test-u32-strcat.c: New file.
39270
39271         Tests for module 'unistr/u16-strcat'.
39272         * modules/unistr/u16-strcat-tests: New file.
39273         * tests/unistr/test-u16-strcat.c: New file.
39274
39275         Tests for module 'unistr/u8-strcat'.
39276         * modules/unistr/u8-strcat-tests: New file.
39277         * tests/unistr/test-u8-strcat.c: New file.
39278         * tests/unistr/test-strcat.h: New file.
39279
39280         Tests for module 'unistr/u32-stpncpy'.
39281         * modules/unistr/u32-stpncpy-tests: New file.
39282         * tests/unistr/test-u32-stpncpy.c: New file.
39283
39284         Tests for module 'unistr/u16-stpncpy'.
39285         * modules/unistr/u16-stpncpy-tests: New file.
39286         * tests/unistr/test-u16-stpncpy.c: New file.
39287
39288         Tests for module 'unistr/u8-stpncpy'.
39289         * modules/unistr/u8-stpncpy-tests: New file.
39290         * tests/unistr/test-u8-stpncpy.c: New file.
39291         * tests/unistr/test-stpncpy.h: New file.
39292
39293         Tests for module 'unistr/u32-strncpy'.
39294         * modules/unistr/u32-strncpy-tests: New file.
39295         * tests/unistr/test-u32-strncpy.c: New file.
39296
39297         Tests for module 'unistr/u16-strncpy'.
39298         * modules/unistr/u16-strncpy-tests: New file.
39299         * tests/unistr/test-u16-strncpy.c: New file.
39300
39301         Tests for module 'unistr/u8-strncpy'.
39302         * modules/unistr/u8-strncpy-tests: New file.
39303         * tests/unistr/test-u8-strncpy.c: New file.
39304         * tests/unistr/test-strncpy.h: New file.
39305
39306         Tests for module 'unistr/u32-stpcpy'.
39307         * modules/unistr/u32-stpcpy-tests: New file.
39308         * tests/unistr/test-u32-stpcpy.c: New file.
39309
39310         Tests for module 'unistr/u16-stpcpy'.
39311         * modules/unistr/u16-stpcpy-tests: New file.
39312         * tests/unistr/test-u16-stpcpy.c: New file.
39313
39314         Tests for module 'unistr/u8-stpcpy'.
39315         * modules/unistr/u8-stpcpy-tests: New file.
39316         * tests/unistr/test-u8-stpcpy.c: New file.
39317         * tests/unistr/test-stpcpy.h: New file.
39318
39319         Tests for module 'unistr/u32-strcpy'.
39320         * modules/unistr/u32-strcpy-tests: New file.
39321         * tests/unistr/test-u32-strcpy.c: New file.
39322
39323         Tests for module 'unistr/u16-strcpy'.
39324         * modules/unistr/u16-strcpy-tests: New file.
39325         * tests/unistr/test-u16-strcpy.c: New file.
39326
39327         Tests for module 'unistr/u8-strcpy'.
39328         * modules/unistr/u8-strcpy-tests: New file.
39329         * tests/unistr/test-u8-strcpy.c: New file.
39330         * tests/unistr/test-strcpy.h: New file.
39331
39332         Tests for module 'unistr/u32-strnlen'.
39333         * modules/unistr/u32-strnlen-tests: New file.
39334         * tests/unistr/test-u32-strnlen.c: New file.
39335
39336         Tests for module 'unistr/u16-strnlen'.
39337         * modules/unistr/u16-strnlen-tests: New file.
39338         * tests/unistr/test-u16-strnlen.c: New file.
39339
39340         Tests for module 'unistr/u8-strnlen'.
39341         * modules/unistr/u8-strnlen-tests: New file.
39342         * tests/unistr/test-u8-strnlen.c: New file.
39343         * tests/unistr/test-strnlen.h: New file.
39344
39345         Tests for module 'unistr/u32-strlen'.
39346         * modules/unistr/u32-strlen-tests: New file.
39347         * tests/unistr/test-u32-strlen.c: New file.
39348
39349         Tests for module 'unistr/u16-strlen'.
39350         * modules/unistr/u16-strlen-tests: New file.
39351         * tests/unistr/test-u16-strlen.c: New file.
39352
39353         Tests for module 'unistr/u8-strlen'.
39354         * modules/unistr/u8-strlen-tests: New file.
39355         * tests/unistr/test-u8-strlen.c: New file.
39356
39357         Tests for module 'unistr/u32-prev'.
39358         * modules/unistr/u32-prev-tests: New file.
39359         * tests/unistr/test-u32-prev.c: New file.
39360
39361         Tests for module 'unistr/u16-prev'.
39362         * modules/unistr/u16-prev-tests: New file.
39363         * tests/unistr/test-u16-prev.c: New file.
39364
39365         Tests for module 'unistr/u8-prev'.
39366         * modules/unistr/u8-prev-tests: New file.
39367         * tests/unistr/test-u8-prev.c: New file.
39368
39369         Tests for module 'unistr/u32-next'.
39370         * modules/unistr/u32-next-tests: New file.
39371         * tests/unistr/test-u32-next.c: New file.
39372
39373         Tests for module 'unistr/u16-next'.
39374         * modules/unistr/u16-next-tests: New file.
39375         * tests/unistr/test-u16-next.c: New file.
39376
39377         Tests for module 'unistr/u8-next'.
39378         * modules/unistr/u8-next-tests: New file.
39379         * tests/unistr/test-u8-next.c: New file.
39380
39381         Tests for module 'unistr/u32-strmbtouc'.
39382         * modules/unistr/u32-strmbtouc-tests: New file.
39383         * tests/unistr/test-u32-strmbtouc.c: New file.
39384
39385         Tests for module 'unistr/u16-strmbtouc'.
39386         * modules/unistr/u16-strmbtouc-tests: New file.
39387         * tests/unistr/test-u16-strmbtouc.c: New file.
39388
39389         Tests for module 'unistr/u8-strmbtouc'.
39390         * modules/unistr/u8-strmbtouc-tests: New file.
39391         * tests/unistr/test-u8-strmbtouc.c: New file.
39392
39393         Tests for module 'unistr/u32-strmblen'.
39394         * modules/unistr/u32-strmblen-tests: New file.
39395         * tests/unistr/test-u32-strmblen.c: New file.
39396
39397         Tests for module 'unistr/u16-strmblen'.
39398         * modules/unistr/u16-strmblen-tests: New file.
39399         * tests/unistr/test-u16-strmblen.c: New file.
39400
39401         Tests for module 'unistr/u8-strmblen'.
39402         * modules/unistr/u8-strmblen-tests: New file.
39403         * tests/unistr/test-u8-strmblen.c: New file.
39404
39405         Tests for module 'unistr/u32-cpy-alloc'.
39406         * modules/unistr/u32-cpy-alloc-tests: New file.
39407         * tests/unistr/test-u32-cpy-alloc.c: New file.
39408
39409         Tests for module 'unistr/u16-cpy-alloc'.
39410         * modules/unistr/u16-cpy-alloc-tests: New file.
39411         * tests/unistr/test-u16-cpy-alloc.c: New file.
39412
39413         Tests for module 'unistr/u8-cpy-alloc'.
39414         * modules/unistr/u8-cpy-alloc-tests: New file.
39415         * tests/unistr/test-u8-cpy-alloc.c: New file.
39416         * tests/unistr/test-cpy-alloc.h: New file.
39417
39418         Tests for module 'unistr/u32-mbsnlen'.
39419         * modules/unistr/u32-mbsnlen-tests: New file.
39420         * tests/unistr/test-u32-mbsnlen.c: New file.
39421
39422         Tests for module 'unistr/u16-mbsnlen'.
39423         * modules/unistr/u16-mbsnlen-tests: New file.
39424         * tests/unistr/test-u16-mbsnlen.c: New file.
39425
39426         Tests for module 'unistr/u8-mbsnlen'.
39427         * modules/unistr/u8-mbsnlen-tests: New file.
39428         * tests/unistr/test-u8-mbsnlen.c: New file.
39429
39430         Tests for module 'unistr/u32-chr'.
39431         * modules/unistr/u32-chr-tests: New file.
39432         * tests/unistr/test-u32-chr.c: New file.
39433
39434         Tests for module 'unistr/u16-chr'.
39435         * modules/unistr/u16-chr-tests: New file.
39436         * tests/unistr/test-u16-chr.c: New file.
39437
39438         Tests for module 'unistr/u8-chr'.
39439         * modules/unistr/u8-chr-tests: New file.
39440         * tests/unistr/test-u8-chr.c: New file.
39441         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
39442
39443         Tests for module 'unistr/u32-cmp2'.
39444         * modules/unistr/u32-cmp2-tests: New file.
39445         * tests/unistr/test-u32-cmp2.c: New file.
39446
39447         Tests for module 'unistr/u16-cmp2'.
39448         * modules/unistr/u16-cmp2-tests: New file.
39449         * tests/unistr/test-u16-cmp2.c: New file.
39450
39451         Tests for module 'unistr/u8-cmp2'.
39452         * modules/unistr/u8-cmp2-tests: New file.
39453         * tests/unistr/test-u8-cmp2.c: New file.
39454         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
39455
39456         Tests for module 'unistr/u32-cmp'.
39457         * modules/unistr/u32-cmp-tests: New file.
39458         * tests/unistr/test-u32-cmp.c: New file.
39459
39460         Tests for module 'unistr/u16-cmp'.
39461         * modules/unistr/u16-cmp-tests: New file.
39462         * tests/unistr/test-u16-cmp.c: New file.
39463
39464         Tests for module 'unistr/u8-cmp'.
39465         * modules/unistr/u8-cmp-tests: New file.
39466         * tests/unistr/test-u8-cmp.c: New file.
39467         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
39468
39469         Tests for module 'unistr/u32-set'.
39470         * modules/unistr/u32-set-tests: New file.
39471         * tests/unistr/test-u32-set.c: New file.
39472
39473         Tests for module 'unistr/u16-set'.
39474         * modules/unistr/u16-set-tests: New file.
39475         * tests/unistr/test-u16-set.c: New file.
39476
39477         Tests for module 'unistr/u8-set'.
39478         * modules/unistr/u8-set-tests: New file.
39479         * tests/unistr/test-u8-set.c: New file.
39480         * tests/unistr/test-set.h: New file.
39481
39482         Tests for module 'unistr/u32-move'.
39483         * modules/unistr/u32-move-tests: New file.
39484         * tests/unistr/test-u32-move.c: New file.
39485
39486         Tests for module 'unistr/u16-move'.
39487         * modules/unistr/u16-move-tests: New file.
39488         * tests/unistr/test-u16-move.c: New file.
39489
39490         Tests for module 'unistr/u8-move'.
39491         * modules/unistr/u8-move-tests: New file.
39492         * tests/unistr/test-u8-move.c: New file.
39493         * tests/unistr/test-move.h: New file.
39494
39495         Tests for module 'unistr/u32-cpy'.
39496         * modules/unistr/u32-cpy-tests: New file.
39497         * tests/unistr/test-u32-cpy.c: New file.
39498
39499         Tests for module 'unistr/u16-cpy'.
39500         * modules/unistr/u16-cpy-tests: New file.
39501         * tests/unistr/test-u16-cpy.c: New file.
39502
39503         Tests for module 'unistr/u8-cpy'.
39504         * modules/unistr/u8-cpy-tests: New file.
39505         * tests/unistr/test-u8-cpy.c: New file.
39506         * tests/unistr/test-cpy.h: New file.
39507
39508 2010-01-09  Bruno Haible  <bruno@clisp.org>
39509
39510         Tests for module 'unistr/u32-uctomb'.
39511         * modules/unistr/u32-uctomb-tests: New file.
39512         * tests/unistr/test-u32-uctomb.c: New file.
39513
39514         Tests for module 'unistr/u16-uctomb'.
39515         * modules/unistr/u16-uctomb-tests: New file.
39516         * tests/unistr/test-u16-uctomb.c: New file.
39517
39518         Tests for module 'unistr/u8-uctomb'.
39519         * modules/unistr/u8-uctomb-tests: New file.
39520         * tests/unistr/test-u8-uctomb.c: New file.
39521
39522         Tests for module 'unistr/u32-mbtoucr'.
39523         * modules/unistr/u32-mbtoucr-tests: New file.
39524         * tests/unistr/test-u32-mbtoucr.c: New file.
39525
39526         Tests for module 'unistr/u16-mbtoucr'.
39527         * modules/unistr/u16-mbtoucr-tests: New file.
39528         * tests/unistr/test-u16-mbtoucr.c: New file.
39529
39530         Tests for module 'unistr/u8-mbtoucr'.
39531         * modules/unistr/u8-mbtoucr-tests: New file.
39532         * tests/unistr/test-u8-mbtoucr.c: New file.
39533
39534         Tests for module 'unistr/u32-mbtouc'.
39535         * modules/unistr/u32-mbtouc-tests: New file.
39536         * tests/unistr/test-u32-mbtouc.c: New file.
39537
39538         Tests for module 'unistr/u16-mbtouc'.
39539         * modules/unistr/u16-mbtouc-tests: New file.
39540         * tests/unistr/test-u16-mbtouc.c: New file.
39541
39542         Tests for module 'unistr/u8-mbtouc'.
39543         * modules/unistr/u8-mbtouc-tests: New file.
39544         * tests/unistr/test-u8-mbtouc.c: New file.
39545
39546         Tests for module 'unistr/u32-mbtouc-unsafe'.
39547         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
39548         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
39549         * tests/unistr/test-u32-mbtouc.h: New file.
39550
39551         Tests for module 'unistr/u16-mbtouc-unsafe'.
39552         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
39553         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
39554         * tests/unistr/test-u16-mbtouc.h: New file.
39555
39556         Tests for module 'unistr/u8-mbtouc-unsafe'.
39557         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
39558         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
39559         * tests/unistr/test-u8-mbtouc.h: New file.
39560
39561         Tests for module 'unistr/u32-mblen'.
39562         * modules/unistr/u32-mblen-tests: New file.
39563         * tests/unistr/test-u32-mblen.c: New file.
39564
39565         Tests for module 'unistr/u16-mblen'.
39566         * modules/unistr/u16-mblen-tests: New file.
39567         * tests/unistr/test-u16-mblen.c: New file.
39568
39569         Tests for module 'unistr/u8-mblen'.
39570         * modules/unistr/u8-mblen-tests: New file.
39571         * tests/unistr/test-u8-mblen.c: New file.
39572
39573         Tests for module 'unistr/u32-to-u16'.
39574         * modules/unistr/u32-to-u16-tests: New file.
39575         * tests/unistr/test-u32-to-u16.c: New file.
39576
39577         Tests for module 'unistr/u32-to-u8'.
39578         * modules/unistr/u32-to-u8-tests: New file.
39579         * tests/unistr/test-u32-to-u8.c: New file.
39580
39581         Tests for module 'unistr/u16-to-u32'.
39582         * modules/unistr/u16-to-u32-tests: New file.
39583         * tests/unistr/test-u16-to-u32.c: New file.
39584
39585         Tests for module 'unistr/u16-to-u8'.
39586         * modules/unistr/u16-to-u8-tests: New file.
39587         * tests/unistr/test-u16-to-u8.c: New file.
39588
39589         Tests for module 'unistr/u8-to-u32'.
39590         * modules/unistr/u8-to-u32-tests: New file.
39591         * tests/unistr/test-u8-to-u32.c: New file.
39592
39593         Tests for module 'unistr/u8-to-u16'.
39594         * modules/unistr/u8-to-u16-tests: New file.
39595         * tests/unistr/test-u8-to-u16.c: New file.
39596
39597         Tests for module 'unistr/u32-check'.
39598         * modules/unistr/u32-check-tests: New file.
39599         * tests/unistr/test-u32-check.c: New file.
39600
39601         Tests for module 'unistr/u16-check'.
39602         * modules/unistr/u16-check-tests: New file.
39603         * tests/unistr/test-u16-check.c: New file.
39604
39605         Tests for module 'unistr/u8-check'.
39606         * modules/unistr/u8-check-tests: New file.
39607         * tests/unistr/test-u8-check.c: New file.
39608
39609         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
39610         (category_equals): New function.
39611         (main): Add more tests.
39612         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
39613
39614         * tests/unictype/test-bidi_byname.c (main): Add more tests.
39615
39616 2010-01-10  Bruno Haible  <bruno@clisp.org>
39617
39618         unistr/u*-strcoll: Try harder to distinguish different strings.
39619         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
39620         compare s1 and s2 to see if they are different.
39621
39622 2010-01-10  Bruno Haible  <bruno@clisp.org>
39623
39624         unistr/u*-stpncpy: Fix the return value.
39625         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
39626         description of the return value consistent with stpncpy in glibc.
39627         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
39628         written non-NUL unit.
39629
39630 2010-01-10  Bruno Haible  <bruno@clisp.org>
39631
39632         unistr/u*-next: Add missing dependencies.
39633         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
39634         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
39635         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
39636
39637 2010-01-10  Bruno Haible  <bruno@clisp.org>
39638
39639         unistr/u8-mbsnlen: Fix return value for incomplete character.
39640         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
39641         u8_mblen.
39642         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
39643         Remove unistr/u8-mblen.
39644         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
39645         u16_mblen.
39646         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
39647         Remove unistr/u16-mblen.
39648
39649 2010-01-10  Bruno Haible  <bruno@clisp.org>
39650
39651         wchar: Fix compilation error when <wchar.h> is used from coreutils.
39652         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
39653         Reported by Brian Gough <bjg@gnu.org> and
39654         Chris Clayton <chris2553@googlemail.com> via
39655         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
39656
39657 2010-01-09  Bruno Haible  <bruno@clisp.org>
39658
39659         unistr/u16-to-u32: Reject invalid input.
39660         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
39661         u16_mbtouc.
39662         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
39663         Remove unistr/u16-mbtouc.
39664
39665         unistr/u16-to-u8: Reject invalid input.
39666         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
39667         u16_mbtouc.
39668         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
39669         Remove unistr/u16-mbtouc.
39670
39671         unistr/u8-to-u32: Reject invalid input.
39672         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
39673         u8_mbtouc.
39674         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
39675         Remove unistr/u8-mbtouc.
39676
39677         unistr/u8-to-u16: Reject invalid input.
39678         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
39679         u8_mbtouc.
39680         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
39681         Remove unistr/u8-mbtouc.
39682
39683 2010-01-09  Bruno Haible  <bruno@clisp.org>
39684
39685         Tests for module 'getlogin'.
39686         * modules/getlogin-tests: New file.
39687         * tests/test-getlogin.c: New file.
39688
39689         New module 'getlogin'.
39690         * lib/unistd.in.h (getlogin): New declaration.
39691         * lib/getlogin.c: New file.
39692         * m4/getlogin.m4: New file.
39693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
39694         HAVE_GETLOGIN.
39695         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
39696         HAVE_GETLOGIN.
39697         * modules/getlogin: New file.
39698         * doc/posix-functions/getlogin.texi: Mention the new module.
39699         Reported by John W. Eaton <jwe@gnu.org>.
39700
39701 2010-01-09  Bruno Haible  <bruno@clisp.org>
39702
39703         getlogin_r: Support for native Windows.
39704         * lib/getlogin_r.c: Include <windows.h>
39705         (getlogin_r): Implement for native Windows.
39706         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
39707         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
39708         via John W. Eaton <jwe@gnu.org>.
39709
39710 2010-01-09  Bruno Haible  <bruno@clisp.org>
39711
39712         getlogin_r: Small fixes.
39713         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
39714         succeeds.
39715         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
39716         before testing whether getlogin_r is declared. No need to set
39717         HAVE_DECL_GETLOGIN_R to 1.
39718         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
39719
39720 2010-01-09  Bruno Haible  <bruno@clisp.org>
39721
39722         * lib/unistd.in.h (getlogin_r): Add comment.
39723
39724 2010-01-09  Bruno Haible  <bruno@clisp.org>
39725
39726         Tests for module 'getlogin_r'.
39727         * modules/getlogin_r-tests: New file.
39728         * tests/test-getlogin_r.c: New file.
39729
39730 2010-01-09  Jim Meyering  <meyering@redhat.com>
39731
39732         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
39733         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
39734         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
39735
39736 2010-01-08  Simon Josefsson  <simon@josefsson.org>
39737
39738         * lib/dup2.c (rpl_dup2): Improve comment.
39739
39740 2010-01-08  Eric Blake  <ebb9@byu.net>
39741
39742         maint.mk: allow packages to add makefile @@ exceptions
39743         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
39744         (sc_makefile_check): Rename...
39745         (sc_makefile_at_at_check): ...to this, and use hook.
39746
39747         dup2: work around mingw bug
39748         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
39749         Reported by Simon Josefsson.
39750
39751 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
39752
39753         glob: Fix C++ compilation.
39754         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
39755         C++.
39756
39757 2010-01-07  Bruno Haible  <bruno@clisp.org>
39758
39759         Fix indentation of wctype.in.h, broken since 2007-01-06.
39760         * lib/wctype.in.h: Fix indentation of preprocessor directives.
39761
39762 2010-01-07  Bruno Haible  <bruno@clisp.org>
39763
39764         mbslen: Avoid collision with system function.
39765         * lib/string.in.h [MirBSD]: Include <wchar.h>.
39766         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
39767         * m4/mbslen.m4: New file.
39768         * modules/mbslen (Files): Add it.
39769         (configure.ac): Invoke gl_MBSLEN.
39770         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
39771         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
39772         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
39773         via Ian Beckwith <ianb@erislabs.net>.
39774
39775 2010-01-07  Bruno Haible  <bruno@clisp.org>
39776
39777         dirent: Document the last fix.
39778         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
39779
39780 2010-01-07  Bruno Haible  <bruno@clisp.org>
39781
39782         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
39783         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
39784         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
39785         va_list are defined.
39786         * doc/posix-headers/stdio.texi: Document the bug of missing types.
39787         Reported by Eric Blake.
39788
39789 2010-01-07  Bruno Haible  <bruno@clisp.org>
39790
39791         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
39792         * modules/xlist (Depends-on): Add 'list',
39793         * modules/xoset (Depends-on): Add 'oset'.
39794         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39795
39796 2010-01-07  Bruno Haible  <bruno@clisp.org>
39797
39798         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
39799         * doc/posix-functions/strncasecmp.texi: Likewise.
39800
39801 2010-01-07  Bruno Haible  <bruno@clisp.org>
39802
39803         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
39804
39805 2010-01-07  John W. Eaton  <jwe@octave.org>
39806
39807         wctype: allow C++ use
39808         * lib/wctype.in.h: Add extern "C" block for C++.
39809
39810 2010-01-06  Eric Blake  <ebb9@byu.net>
39811
39812         maint.mk: detect incorrect GFDL usage
39813         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
39814
39815 2010-01-06  Jim Meyering  <meyering@redhat.com>
39816         and Eric Blake  <ebb9@byu.net>
39817
39818         maint.mk: ignore multi-line copyright in NEWS
39819         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
39820
39821 2010-01-06  Eric Blake  <ebb9@byu.net>
39822
39823         select: add missing dependency
39824         * modules/select-tests (Depends-on): Move sockets dependency...
39825         * modules/select (Depends-on): ...here.
39826         Reported by Ian Beckwith.
39827
39828         doc: regenerate INSTALL
39829         * doc/INSTALL: Reflect recent autoconf update.
39830         * doc/INSTALL.ISO: Likewise.
39831         * doc/INSTALL.UTF-8: Likewise.
39832
39833         pread: fix compilation on glibc
39834         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
39835         Reported by Ralf Wildenhues.
39836
39837         dirent: fix test failure
39838         * lib/dirent.in.h (includes): Guarantee ino_t.
39839         Reported by Ralf Wildenhues.
39840
39841 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
39842
39843         linkat, renameat: avoid bad free
39844         * lib/at-func2.c (at_func2): Fix typo.
39845         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
39846
39847 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39848
39849         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
39850         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
39851         to avoid failure of symlink test later.
39852
39853 2010-01-06  Eric Blake  <ebb9@byu.net>
39854
39855         stdio, unistd: guarantee ssize_t
39856         * lib/unistd.in.h (includes): Ensure that types required by POSIX
39857         2008 are exposed when needed.
39858         * lib/stdio.in.h (includes): Likewise.
39859         Reported by Ralf Wildenhues.
39860
39861 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
39862
39863         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
39864         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
39865         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
39866
39867 2010-01-06  Jim Meyering  <meyering@redhat.com>
39868
39869         readtokens: this module *does* require xalloc.h
39870         It uses only functions that were omitted by the old syntax-check rule.
39871         * lib/readtokens.c: Include "xalloc.h" once again.
39872         * modules/readtokens (Depends-on): Add xalloc.
39873         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
39874
39875 2010-01-05  Eric Blake  <ebb9@byu.net>
39876
39877         maint: support 'make announcement' from a VPATH build
39878         * top/maint.mk (announcement): Look for correct NEWS file.
39879
39880 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
39881
39882         utimens (fdutimens): ignore a negative FD, per contract
39883         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
39884         when we have a valid file descriptor.  Otherwise, using a brand
39885         new glibc (with just-patched futimens that now fails with EBADF)
39886         would cause this function to fail with ENOSYS.
39887         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
39888         See also http://bugzilla.redhat.com/552320.
39889
39890 2010-01-05  Eric Blake  <ebb9@byu.net>
39891
39892         strcase: document what it provides
39893         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
39894         gnulib module.
39895         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
39896         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
39897
39898 2010-01-05  Jim Meyering  <meyering@redhat.com>
39899
39900         maint: remove useless inclusions of "xalloc.h"
39901         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
39902         * lib/readtokens.c: Likewise.
39903         * lib/same.c: Likewise.
39904         * modules/getloadavg (Depends-on): Remove xalloc.
39905         * modules/readtokens: Likewise.
39906         * modules/same: Likewise.
39907
39908         maint.mk: include 4 more function names in alloca.h-checking regexp
39909         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
39910         regexp.  Before, we would give a false-positive (saying alloca.h
39911         is included unnecessarily) when the only uses involved omitted symbols.
39912
39913         xalloc.h: use consistent formatting
39914         * lib/xalloc.h: Move declarations to start in the first column.
39915
39916 2010-01-05  Eric Blake  <ebb9@byu.net>
39917
39918         mkdir: avoid xalloc
39919         * lib/mkdir.c (includes): Drop unused header.
39920         Reported by John W. Eaton.
39921
39922 2010-01-04  Jim Meyering  <meyering@redhat.com>
39923
39924         nl_langinfo: avoid configure-time syntax error
39925         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
39926         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
39927         the empty string.  Don't let that provoke a shell syntax error.
39928
39929         regcomp, regexec, fnmatch: avoid array bounds read error
39930         * lib/regcomp.c (build_equiv_class): From glibc:
39931         Use only the low 24 bits of a findidx return value as an index
39932         into the weights array.  Patch by Ulrich Drepper:
39933         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
39934         * lib/regexec.c (check_node_accept_bytes): Likewise.
39935         * lib/fnmatch_loop.c (FCT): Likewise.
39936
39937         regcomp: skip collseq lookup when there are no rules
39938         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
39939         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
39940
39941         regcomp: recognize ill-formed { } expressions
39942         * lib/regcomp.c (parse_dup_op): From glibc:
39943         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
39944
39945         regcomp: fix typo in comment
39946         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
39947         s/satisfy/satisfies/.
39948
39949         regcomp: sync from glibc: remove dead store
39950         * lib/regcomp.c (duplicate_node_closure): Remove useless
39951         search_duplicated_node call and dead store.
39952
39953         regcomp: sync from glibc; always use nl_langinfo
39954         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
39955         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
39956         * modules/regex (Depends-on): Add nl_langinfo.
39957
39958 2010-01-04  Eric Blake  <ebb9@byu.net>
39959
39960         fdopendir: fix configure test
39961         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
39962
39963 2010-01-01  Bruno Haible  <bruno@clisp.org>
39964
39965         wchar: Remove unused configure check.
39966         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
39967
39968 2010-01-01  Eric Blake  <ebb9@byu.net>
39969
39970         headers: make check of system header explicit
39971         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
39972         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
39973         ourselves.
39974         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
39975         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39976         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
39977         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
39978         internals.
39979         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
39980         missing.
39981         Suggested by Bruno Haible.
39982
39983 2010-01-01  Jim Meyering  <meyering@redhat.com>
39984
39985         ChangeLog: tweak to eliminate unnecessary copyright line
39986         * ChangeLog: Remove a copyright line that was mistakenly updated
39987         by today's update-copyright run.  Reported by Eric Blake.
39988
39989         test-update-copyright: don't let envvar setting cause test failure
39990         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39991
39992 2010-01-01  Bruno Haible  <bruno@clisp.org>
39993
39994         localename: Avoid gcc warning.
39995         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
39996         function if it is not used.
39997
39998 2010-01-01  Jim Meyering  <meyering@redhat.com>
39999
40000         update nearly all FSF copyright year lists to include 2010
40001         Use the same procedure as for 2009, outlined in
40002         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
40003
40004         version-etc: set COPYRIGHT_YEAR to 2010
40005         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
40006
40007 2009-12-31  Eric Blake  <ebb9@byu.net>
40008
40009         doc: correct availability of cygwin 1.5.x getopt
40010         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
40011         variables.
40012         * doc/posix-functions/opterr.texi (opterr): Likewise.
40013         * doc/posix-functions/optind.texi (optind): Likewise.
40014         * doc/posix-functions/optopt.texi (optopt): Likewise.
40015         * doc/posix-functions/tzname.texi (tzname): Likewise.
40016
40017         openat: update maintainer
40018         * modules/openat (Maintainer): Add myself.
40019
40020         utimens: avoid shadowing warning
40021         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
40022         buffers into one, to avoid shadowing, as well as avoiding a
40023         redundant stat.
40024         Reported by Jim Meyering.
40025
40026         test-dup2: avoid compiler warning
40027         * tests/test-dup2.c (is_inheritable): Only define if used.
40028
40029 2010-01-01  Bruno Haible  <bruno@clisp.org>
40030
40031         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
40032         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
40033         defined, use wctomb instead of wcrtomb.
40034
40035 2010-01-01  Bruno Haible  <bruno@clisp.org>
40036
40037         iconv: Reject native Solaris iconv.
40038         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
40039         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
40040
40041 2009-12-31  Bruno Haible  <bruno@clisp.org>
40042
40043         * tests/test-signal.c (main): Remove test of 'SIG'.
40044
40045 2009-12-31  Bruno Haible  <bruno@clisp.org>
40046
40047         spawn: Fix incomplete fix.
40048         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
40049         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
40050         warnings for GNULIB_POSIXCHECK again.
40051         Reported by Eric Blake.
40052
40053 2009-12-31  Bruno Haible  <bruno@clisp.org>
40054
40055         Avoid namespace pollution on glibc systems.
40056         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
40057         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
40058         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
40059         glibc systems.
40060
40061 2009-12-31  Bruno Haible  <bruno@clisp.org>
40062
40063         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
40064         (gl_REPLACE_WCHAR_H): Turn into a no-op.
40065         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
40066         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
40067         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
40068         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
40069         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
40070
40071 2009-12-31  Bruno Haible  <bruno@clisp.org>
40072
40073         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
40074         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
40075         afterwards.
40076
40077 2009-12-31  Bruno Haible  <bruno@clisp.org>
40078
40079         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
40080         SYS_UTSNAME_H.
40081
40082 2009-12-31  Bruno Haible  <bruno@clisp.org>
40083
40084         spawn: Fix misapplied patch.
40085         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
40086         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
40087         warnings for GNULIB_POSIXCHECK.
40088
40089 2009-12-31  Bruno Haible  <bruno@clisp.org>
40090
40091         times: Update after sys_times changed.
40092         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
40093         * modules/times (Files): Add it.
40094         (configure.ac): Invoke gl_FUNC_TIMES.
40095
40096 2009-12-31  Bruno Haible  <bruno@clisp.org>
40097
40098         Use AC_C_INLINE where necessary.
40099         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
40100         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
40101         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
40102         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
40103         * m4/mbfile.m4 (gl_MBFILE): Likewise.
40104         * m4/mbiter.m4 (gl_MBITER): Likewise.
40105         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
40106         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
40107         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
40108         * modules/u64 (configure.ac): Likewise.
40109
40110 2009-12-31  Bruno Haible  <bruno@clisp.org>
40111
40112         Use AC_C_INLINE instead of module 'inline' where possible.
40113         * modules/inline (Description): Clarify purpose.
40114         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
40115         * modules/count-one-bits (Depends-on): Remove inline.
40116         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
40117         * modules/openat (Depends-on): Remove inline.
40118         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
40119         instead of depending on module 'inline'.
40120         * modules/filevercmp (Depends-on, configure.ac): Likewise.
40121         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
40122         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
40123         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
40124         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
40125         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
40126         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
40127         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
40128         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
40129         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
40130         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
40131         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
40132         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
40133         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
40134         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
40135         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
40136         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
40137         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
40138         Likewise.
40139         * modules/unictype/property-ascii-hex-digit (Depends-on,
40140         configure.ac): Likewise.
40141         * modules/unictype/property-bidi-arabic-digit (Depends-on,
40142         configure.ac): Likewise.
40143         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
40144         configure.ac): Likewise.
40145         * modules/unictype/property-bidi-block-separator (Depends-on,
40146         configure.ac): Likewise.
40147         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
40148         configure.ac): Likewise.
40149         * modules/unictype/property-bidi-common-separator (Depends-on,
40150         configure.ac): Likewise.
40151         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
40152         Likewise.
40153         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
40154         configure.ac): Likewise.
40155         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
40156         configure.ac): Likewise.
40157         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
40158         configure.ac): Likewise.
40159         * modules/unictype/property-bidi-european-digit (Depends-on,
40160         configure.ac): Likewise.
40161         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
40162         configure.ac): Likewise.
40163         * modules/unictype/property-bidi-left-to-right (Depends-on,
40164         configure.ac): Likewise.
40165         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
40166         configure.ac): Likewise.
40167         * modules/unictype/property-bidi-other-neutral (Depends-on,
40168         configure.ac): Likewise.
40169         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
40170         Likewise.
40171         * modules/unictype/property-bidi-segment-separator (Depends-on,
40172         configure.ac): Likewise.
40173         * modules/unictype/property-bidi-whitespace (Depends-on,
40174         configure.ac): Likewise.
40175         * modules/unictype/property-combining (Depends-on, configure.ac):
40176         Likewise.
40177         * modules/unictype/property-composite (Depends-on, configure.ac):
40178         Likewise.
40179         * modules/unictype/property-currency-symbol (Depends-on,
40180         configure.ac): Likewise.
40181         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
40182         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
40183         Likewise.
40184         * modules/unictype/property-default-ignorable-code-point (Depends-on,
40185         configure.ac): Likewise.
40186         * modules/unictype/property-deprecated (Depends-on, configure.ac):
40187         Likewise.
40188         * modules/unictype/property-diacritic (Depends-on, configure.ac):
40189         Likewise.
40190         * modules/unictype/property-extender (Depends-on, configure.ac):
40191         Likewise.
40192         * modules/unictype/property-format-control (Depends-on, configure.ac):
40193         Likewise.
40194         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
40195         Likewise.
40196         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
40197         Likewise.
40198         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
40199         Likewise.
40200         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
40201         Likewise.
40202         * modules/unictype/property-hyphen (Depends-on, configure.ac):
40203         Likewise.
40204         * modules/unictype/property-id-continue (Depends-on, configure.ac):
40205         Likewise.
40206         * modules/unictype/property-id-start (Depends-on, configure.ac):
40207         Likewise.
40208         * modules/unictype/property-ideographic (Depends-on, configure.ac):
40209         Likewise.
40210         * modules/unictype/property-ids-binary-operator (Depends-on,
40211         configure.ac): Likewise.
40212         * modules/unictype/property-ids-trinary-operator (Depends-on,
40213         configure.ac): Likewise.
40214         * modules/unictype/property-ignorable-control (Depends-on,
40215         configure.ac): Likewise.
40216         * modules/unictype/property-iso-control (Depends-on, configure.ac):
40217         Likewise.
40218         * modules/unictype/property-join-control (Depends-on, configure.ac):
40219         Likewise.
40220         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
40221         Likewise.
40222         * modules/unictype/property-line-separator (Depends-on, configure.ac):
40223         Likewise.
40224         * modules/unictype/property-logical-order-exception (Depends-on,
40225         configure.ac): Likewise.
40226         * modules/unictype/property-lowercase (Depends-on, configure.ac):
40227         Likewise.
40228         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
40229         * modules/unictype/property-non-break (Depends-on, configure.ac):
40230         Likewise.
40231         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
40232         Likewise.
40233         * modules/unictype/property-numeric (Depends-on, configure.ac):
40234         Likewise.
40235         * modules/unictype/property-other-alphabetic (Depends-on,
40236         configure.ac): Likewise.
40237         * modules/unictype/property-other-default-ignorable-code-point
40238         (Depends-on, configure.ac): Likewise.
40239         * modules/unictype/property-other-grapheme-extend (Depends-on,
40240         configure.ac): Likewise.
40241         * modules/unictype/property-other-id-continue (Depends-on,
40242         configure.ac): Likewise.
40243         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
40244         Likewise.
40245         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
40246         Likewise.
40247         * modules/unictype/property-other-math (Depends-on, configure.ac):
40248         Likewise.
40249         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
40250         Likewise.
40251         * modules/unictype/property-paired-punctuation (Depends-on,
40252         configure.ac): Likewise.
40253         * modules/unictype/property-paragraph-separator (Depends-on,
40254         configure.ac): Likewise.
40255         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
40256         Likewise.
40257         * modules/unictype/property-pattern-white-space (Depends-on,
40258         configure.ac): Likewise.
40259         * modules/unictype/property-private-use (Depends-on, configure.ac):
40260         Likewise.
40261         * modules/unictype/property-punctuation (Depends-on, configure.ac):
40262         Likewise.
40263         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
40264         Likewise.
40265         * modules/unictype/property-radical (Depends-on, configure.ac):
40266         Likewise.
40267         * modules/unictype/property-sentence-terminal (Depends-on,
40268         configure.ac): Likewise.
40269         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
40270         Likewise.
40271         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
40272         * modules/unictype/property-terminal-punctuation (Depends-on,
40273         configure.ac): Likewise.
40274         * modules/unictype/property-titlecase (Depends-on, configure.ac):
40275         Likewise.
40276         * modules/unictype/property-unassigned-code-value (Depends-on,
40277         configure.ac): Likewise.
40278         * modules/unictype/property-unified-ideograph (Depends-on,
40279         configure.ac): Likewise.
40280         * modules/unictype/property-uppercase (Depends-on, configure.ac):
40281         Likewise.
40282         * modules/unictype/property-variation-selector (Depends-on,
40283         configure.ac): Likewise.
40284         * modules/unictype/property-white-space (Depends-on, configure.ac):
40285         Likewise.
40286         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
40287         Likewise.
40288         * modules/unictype/property-xid-start (Depends-on, configure.ac):
40289         Likewise.
40290         * modules/unictype/property-zero-width (Depends-on, configure.ac):
40291         Likewise.
40292         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
40293         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
40294         Likewise.
40295
40296 2009-12-31  Bruno Haible  <bruno@clisp.org>
40297
40298         Remove unnecessary AC_C_INLINE invocation.
40299         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
40300         since 2009-08-21.
40301
40302 2009-12-31  Jim Meyering  <meyering@redhat.com>
40303
40304         maint.mk: don't require explicit gpg_key_ID in cfg.mk
40305         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
40306         With this change, we can all remove the gpg_key_ID = ... definition
40307         from our respective cfg.mk files.
40308
40309         maint.mk: create announcement template in ~/, not in /tmp
40310         * top/maint.mk (emit_upload_commands): Adjust.
40311         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
40312         Remove temporary file, .ci-msg.
40313
40314 2009-12-31  Eric Blake  <ebb9@byu.net>
40315
40316         link-warning: always build headers with link warnings
40317         * modules/arpa_inet (Makefile.am): Always build replacement
40318         header.
40319         * modules/ctype (Makefile.am): Likewise.
40320         * modules/dirent (Makefile.am): Likewise.
40321         * modules/inttypes (Makefile.am): Likewise.
40322         * modules/langinfo (Makefile.am): Likewise.
40323         * modules/locale (Makefile.am): Likewise.
40324         * modules/spawn (Makefile.am): Likewise.
40325         * modules/sys_file (Makefile.am): Likewise.
40326         * modules/sys_ioctl (Makefile.am): Likewise.
40327         * modules/sys_select (Makefile.am): Likewise.
40328         * modules/sys_socket (Makefile.am): Likewise.
40329         * modules/sys_times (Makefile.am): Likewise.
40330         * modules/sys_utsname (Makefile.am): Likewise.
40331         * modules/sys_wait (Makefile.am): Likewise.
40332         * modules/wchar (Makefile.am): Likewise.
40333         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
40334         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
40335         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
40336         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
40337         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
40338         Likewise.
40339         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
40340         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
40341         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
40342         Likewise.
40343         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
40344         Likewise.
40345         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
40346         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
40347         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
40348         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
40349         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
40350         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
40351         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
40352         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
40353         (gl_WCHAR_H_DEFAULTS): Likewise.
40354
40355 2009-12-31  Eric Blake  <ebb9@byu.net>
40356
40357         signal, spawn: use link warnings
40358         * lib/signal.in.h (sigset_t): Make unconditional.
40359         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
40360         (sigpending, sigprocmask, sigaction): Add link warnings.
40361         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
40362         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
40363         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
40364         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
40365         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
40366         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
40367         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
40368         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
40369         (posix_spawn_file_actions_destroy)
40370         (posix_spawn_file_actions_addopen)
40371         (posix_spawn_file_actions_addclose)
40372         (posix_spawn_file_actions_adddup2): Likewise.
40373         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
40374         * tests/test-signal.c (main): Enhance test.
40375
40376         spawn: improve wrapper support
40377         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
40378         (gl_SPAWN_H_DEFAULTS): New defaults.
40379         * modules/spawn (Makefile.am): Substitute them.
40380         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
40381         Only declare if missing or broken.
40382
40383         sys_times, sys_utsname: use include_next
40384         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
40385         header.
40386         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
40387         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
40388         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
40389         * modules/sys_times (Depends-on): Add include_next.
40390         (Makefile.am): Substitute additional values.
40391         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
40392         * lib/sys_times.in.h (includes): Include native header, if
40393         available.
40394         * lib/sys_utsname.in.h (includes): Likewise.
40395         * tests/test-sys_times.c (main): Enhance test.
40396
40397         fdutimensat: revert prior patch
40398         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
40399         utimens.h.
40400         Reported by Bruno Haible.
40401
40402 2009-12-30  Eric Blake  <ebb9@byu.net>
40403
40404         sys_wait: drop link-warning dependency
40405         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
40406         link-warning efforts.
40407         * lib/sys_wait.in.h: Likewise.
40408
40409         fdutimensat: remove bogus dependency
40410         * modules/fdutimensat (Depends-on): Drop inline.
40411
40412         unistd: fix typo
40413         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
40414
40415 2009-12-30  Bruno Haible  <bruno@clisp.org>
40416
40417         Fix compilation error with Solaris cc.
40418         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
40419         * lib/unicase/u16-is-invariant.c: Likewise.
40420         * lib/unicase/u32-is-invariant.c: Likewise.
40421         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
40422
40423 2009-12-30  Bruno Haible  <bruno@clisp.org>
40424
40425         Fix test crash.
40426         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
40427         locales.
40428         Reported by Simon Josefsson <simon@josefsson.org>.
40429
40430 2009-12-30  Bruno Haible  <bruno@clisp.org>
40431
40432         Fix compilation error on most platforms.
40433         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
40434         Reported by Simon Josefsson <simon@josefsson.org>
40435         and Nelson H. F. Beebe <beebe@math.utah.edu>.
40436
40437 2009-12-30  Eric Blake  <ebb9@byu.net>
40438
40439         futimens, utimensat: work around ntfs-3g bug
40440         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
40441         a ctime bug is present, and expand workaround to cover ntfs-3g.
40442         * lib/utimens.c (fdutimens, lutimens): Likewise.
40443         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
40444         (validate_timespec): Adjust return value.
40445         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
40446         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
40447         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
40448
40449 2009-12-29  Eric Blake  <ebb9@byu.net>
40450
40451         link-warning: make usage consistent
40452         * modules/ctype (Depends-on): Add link-warning.
40453         (Makefile.am): Update rules accordingly.
40454         * modules/langinfo (Depends-on, Makefile.am): Likewise.
40455         * modules/locale (Depends-on, Makefile.am): Likewise.
40456         * modules/sys_file (Makefile.am): Likewise.
40457         * modules/getopt-posix (Makefile.am): Delete unused link warning
40458         efforts.
40459         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
40460         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
40461         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
40462         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
40463
40464         stdio: remove unused variables
40465         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
40466         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
40467         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
40468
40469         tests: test more substitute headers
40470         * modules/ctype-tests: New file.
40471         * modules/dirent-tests: Likewise.
40472         * modules/spawn-tests: Likewise.
40473         * modules/sys_file-tests: Likewise.
40474         * modules/sys_ioctl-tests: Likewise.
40475         * modules/sys_wait-tests: Likewise.
40476         * tests/test-ctype.c: Likewise.
40477         * tests/test-dirent.c: Likewise.
40478         * tests/test-spawn.c: Likewise.
40479         * tests/test-sys_file.c: Likewise.
40480         * tests/test-sys_ioctl.c: Likewise.
40481         * tests/test-sys_wait.c: Likewise.
40482         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
40483         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
40484         whether or not flock is in use.
40485
40486         tests: remove License section from module
40487         * modules/arpa_inet-tests: Remove unneeded section.
40488         * modules/byteswap-tests: Likewise.
40489         * modules/ceilf-tests: Likewise.
40490         * modules/ceill-tests: Likewise.
40491         * modules/crypto/des-tests: Likewise.
40492         * modules/crypto/gc-arcfour-tests: Likewise.
40493         * modules/crypto/gc-arctwo-tests: Likewise.
40494         * modules/crypto/gc-des-tests: Likewise.
40495         * modules/crypto/gc-hmac-md5-tests: Likewise.
40496         * modules/crypto/gc-hmac-sha1-tests: Likewise.
40497         * modules/crypto/gc-md2-tests: Likewise.
40498         * modules/crypto/gc-md4-tests: Likewise.
40499         * modules/crypto/gc-md5-tests: Likewise.
40500         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
40501         * modules/crypto/gc-rijndael-tests: Likewise.
40502         * modules/crypto/gc-sha1-tests: Likewise.
40503         * modules/crypto/gc-tests: Likewise.
40504         * modules/crypto/md2-tests: Likewise.
40505         * modules/crypto/md4-tests: Likewise.
40506         * modules/fcntl-h-tests: Likewise.
40507         * modules/floorf-tests: Likewise.
40508         * modules/floorl-tests: Likewise.
40509         * modules/frexp-nolibm-tests: Likewise.
40510         * modules/frexp-tests: Likewise.
40511         * modules/frexpl-nolibm-tests: Likewise.
40512         * modules/frexpl-tests: Likewise.
40513         * modules/getaddrinfo-tests: Likewise.
40514         * modules/inttypes-tests: Likewise.
40515         * modules/isfinite-tests: Likewise.
40516         * modules/isinf-tests: Likewise.
40517         * modules/ldexpl-tests: Likewise.
40518         * modules/locale-tests: Likewise.
40519         * modules/math-tests: Likewise.
40520         * modules/netdb-tests: Likewise.
40521         * modules/netinet_in-tests: Likewise.
40522         * modules/printf-frexp-tests: Likewise.
40523         * modules/printf-frexpl-tests: Likewise.
40524         * modules/priv-set-tests: Likewise.
40525         * modules/random_r-tests: Likewise.
40526         * modules/round-tests: Likewise.
40527         * modules/roundf-tests: Likewise.
40528         * modules/roundl-tests: Likewise.
40529         * modules/search-tests: Likewise.
40530         * modules/select-tests: Likewise.
40531         * modules/signal-tests: Likewise.
40532         * modules/stdbool-tests: Likewise.
40533         * modules/stddef-tests: Likewise.
40534         * modules/stdint-tests: Likewise.
40535         * modules/stdio-tests: Likewise.
40536         * modules/stdlib-tests: Likewise.
40537         * modules/string-tests: Likewise.
40538         * modules/strings-tests: Likewise.
40539         * modules/sys_select-tests: Likewise.
40540         * modules/sys_socket-tests: Likewise.
40541         * modules/sys_stat-tests: Likewise.
40542         * modules/sys_time-tests: Likewise.
40543         * modules/sys_utsname-tests: Likewise.
40544         * modules/sysexits-tests: Likewise.
40545         * modules/time-tests: Likewise.
40546         * modules/trunc-tests: Likewise.
40547         * modules/truncf-tests: Likewise.
40548         * modules/truncl-tests: Likewise.
40549         * modules/tsearch-tests: Likewise.
40550         * modules/unistd-tests: Likewise.
40551         * modules/wchar-tests: Likewise.
40552         * modules/wctype-tests: Likewise.
40553
40554         tests: fix license on several tests
40555         * tests/test-des.c: Update to GPLv3+.
40556         * tests/test-flock.c: Likewise.
40557         * tests/test-fsync.c: Likewise.
40558         * tests/test-futimens.h: Likewise.
40559         * tests/test-gc-arcfour.c: Likewise.
40560         * tests/test-gc-arctwo.c: Likewise.
40561         * tests/test-gc-des.c: Likewise.
40562         * tests/test-gc-hmac-md5.c: Likewise.
40563         * tests/test-gc-hmac-sha1.c: Likewise.
40564         * tests/test-gc-md2.c: Likewise.
40565         * tests/test-gc-md4.c: Likewise.
40566         * tests/test-gc-md5.c: Likewise.
40567         * tests/test-gc-pbkdf2-sha1.c: Likewise.
40568         * tests/test-gc-rijndael.c: Likewise.
40569         * tests/test-gc-sha1.c: Likewise.
40570         * tests/test-gc.c: Likewise.
40571         * tests/test-getcwd.c: Likewise.
40572         * tests/test-link.c: Likewise.
40573         * tests/test-link.h: Likewise.
40574         * tests/test-lutimens.h: Likewise.
40575         * tests/test-md2.c: Likewise.
40576         * tests/test-md4.c: Likewise.
40577         * tests/test-mkdir.h: Likewise.
40578         * tests/test-rename.c: Likewise.
40579         * tests/test-rename.h: Likewise.
40580         * tests/test-safe-alloc.c: Likewise.
40581         * tests/test-utimens-common.h: Likewise.
40582         * tests/test-utimens.h: Likewise.
40583
40584         maint: sync license texts
40585         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
40586         * doc/gpl-3.0.texi: Revert copyright year update.
40587         * doc/lgpl-3.0.texi: Likewise.
40588
40589 2009-12-29  Jim Meyering  <meyering@redhat.com>
40590
40591         update nearly all FSF copyright year lists to include 2009
40592         The files named by the following are exempted:
40593             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
40594               test -f "$dst" && { echo "$dst"; continue; }
40595               test -d "$dst" || continue
40596               echo "$dst"/$(basename "$src")
40597             done > exempt
40598             git ls-files tests/unictype >> exempt
40599         In the remaining files, convert to all-interval notation if
40600         - there is already at least one year interval like 2000-2003
40601         - the file is maintained by me
40602         - the file is in lib/uni*/, where that style already prevails
40603         Otherwise, use update-copyright's default.
40604
40605 2009-12-29  Simon Josefsson  <simon@josefsson.org>
40606         and Eric Blake  <ebb9@byu.net>
40607
40608         tests: don't require debug system() to pass
40609         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
40610         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40611         * tests/test-unlink.h (test_unlink_func): Likewise.
40612         * tests/test-fstatat.c (main): ...into callers.
40613         * tests/test-lstat.c (main): Likewise.
40614         * tests/test-rmdir.c (main): Likewise.
40615         * tests/test-unlink.c (main): Likewise.
40616         * tests/test-unlinkat.c (main): Likewise.
40617         * tests/test-areadlink-with-size.c (main): Don't require a
40618         debug-only system call to pass, aiding cross-testing to mingw.
40619         * tests/test-areadlink.c (main): Likewise.
40620         * tests/test-areadlinkat-with-size.c (main): Likewise.
40621         * tests/test-areadlinkat.c (main): Likewise.
40622         * tests/test-canonicalize-lgpl.c (main): Likewise.
40623         * tests/test-canonicalize.c (main): Likewise.
40624         * tests/test-chown.c (main): Likewise.
40625         * tests/test-fchownat.c (main): Likewise.
40626         * tests/test-lchown.c (main): Likewise.
40627         * tests/test-fdutimensat.c (main): Likewise.
40628         * tests/test-futimens.c (main): Likewise.
40629         * tests/test-link.c (main): Likewise.
40630         * tests/test-linkat.c (main): Likewise.
40631         * tests/test-mkdir.c (main): Likewise.
40632         * tests/test-mkdirat.c (main): Likewise.
40633         * tests/test-mkfifo.c (main): Likewise.
40634         * tests/test-mkfifoat.c (main): Likewise.
40635         * tests/test-mknod.c (main): Likewise.
40636         * tests/test-readlink.c (main): Likewise.
40637         * tests/test-remove.c (main): Likewise.
40638         * tests/test-rename.c (main): Likewise.
40639         * tests/test-renameat.c (main): Likewise.
40640         * tests/test-symlink.c (main): Likewise.
40641         * tests/test-symlinkat.c (main): Likewise.
40642         * tests/test-utimens.c (main): Likewise.
40643         * tests/test-utimensat.c (main): Likewise.
40644
40645 2009-12-29  Simon Josefsson  <simon@josefsson.org>
40646
40647         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
40648         on $(UNUSED_PARAMETER_H) to avoid build failure.
40649
40650 2009-12-28  Jim Meyering  <meyering@redhat.com>
40651
40652         update-copyright: you may specify a max. line length other than 72
40653         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
40654
40655         maint: use consistent FSF copyright line syntax
40656         * lib/posixtm.c: Add missing comma in FSF copyright line.
40657         * lib/posixtm.h: Likewise.
40658         * lib/getugroups.c: Add missing ", Inc.".
40659
40660         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
40661         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
40662         FSF copyright line.  Remove trailing blanks.
40663
40664 2009-12-28  Eric Blake  <ebb9@byu.net>
40665
40666         test-dup2: reduce dependencies
40667         * modules/cloexec (Configure.ac): Set witness.
40668         * modules/dup2-tests (Depends-on): Drop cloexec.
40669         * tests/test-dup2.c (main): Skip portion of test if cloexec module
40670         not present.
40671         Suggested by Bruno Haible.
40672
40673 2009-12-26  Bruno Haible  <bruno@clisp.org>
40674
40675         Remove an unneeded dependency.
40676         * modules/fseterr (Depends-on): Remove dup2.
40677
40678 2009-12-26  Eric Blake  <ebb9@byu.net>
40679
40680         tests: use macros.h in more places
40681         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
40682         (ASSERT_STREAM): Provide default of stderr.
40683         * tests/test-dirent-safer.c: Include macros.h, using alternate
40684         stream for assertions.
40685         * tests/test-dup-safer.c: Likewise.
40686         * tests/test-freopen-safer.c: Likewise.
40687         * tests/test-getopt.c: Likewise.
40688         * tests/test-openat-safer.c: Likewise.
40689         * tests/test-pipe.c: Likewise.
40690         * tests/test-popen-safer.c: Likewise.
40691         * modules/dirent-safer-tests (Files): Include macros.h.
40692         * modules/unistd-safer-tests (Files): Likewise.
40693         * modules/freopen-safer-tests (Files): Likewise.
40694         * modules/getopt-posix-tests (Files): Likewise.
40695         * modules/openat-safer-tests (Files): Likewise.
40696         * modules/pipe-tests (Files): Likewise.
40697
40698 2009-12-26  Bruno Haible  <bruno@clisp.org>
40699
40700         javacomp: Portability fix.
40701         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
40702         that it also works on Solaris.
40703
40704 2009-12-26  Bruno Haible  <bruno@clisp.org>
40705
40706         localename: Fix storage allocation of gl_locale_name_thread's result.
40707         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
40708         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
40709         all platforms that have 'uselocale'.
40710         (gl_locale_name_thread_unsafe): New function, extracted from
40711         gl_locale_name_thread.
40712         (gl_locale_name_thread): Call struniq on all platforms that have
40713         'uselocale'.
40714         * tests/test-localename.c (test_locale_name_thread): Check that the
40715         resulting strings are permanently allocated.
40716         * modules/localename-tests (Depends-on): Add strdup.
40717
40718 2009-12-26  Bruno Haible  <bruno@clisp.org>
40719
40720         * tests/test-localename.c (categories): Fill in the strings.
40721
40722 2009-12-26  Jim Meyering  <meyering@redhat.com>
40723
40724         isdir: complete the removal of m4/isdir.m4
40725         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
40726
40727         isdir: clean up, since at least grep still uses it
40728         * lib/isdir.c: Include "isdir.h".
40729         (S_ISDIR): Remove now-unneeded definition.
40730         * modules/isdir (Files): Add lib/isdir.h.
40731         * lib/isdir.h: New file, with declaration.
40732         * m4/isdir.m4: Remove file -- unneeded.
40733
40734 2009-12-25  Bruno Haible  <bruno@clisp.org>
40735
40736         selinux-h: Make generated .h files standalone.
40737         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
40738         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
40739         * lib/se-selinux.in.h: Likewise.
40740         * modules/selinux-h (Depends-on): Add unused-parameter.
40741         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
40742         selinux/selinux.h and selinux/context.h.
40743         Suggested by Eric Blake.
40744
40745 2009-12-25  Bruno Haible  <bruno@clisp.org>
40746
40747         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
40748         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
40749         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
40750         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
40751         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
40752
40753 2009-12-24  Bruno Haible  <bruno@clisp.org>
40754
40755         openat: Fix warning.
40756         * lib/openat-proc.c: Include <unistd.h>.
40757
40758 2009-12-24  Bruno Haible  <bruno@clisp.org>
40759
40760         New module 'unused-parameter'.
40761         * build-aux/unused-parameter.h: New file, extracted from earlier
40762         gnulib-common.m4.
40763         * modules/unused-parameter: New file.
40764         * lib/unistr.h: Include unused-parameter.h.
40765         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
40766         _GL_UNUSED.
40767         * modules/unistr/base (Depends-on): Add unused-parameter.
40768
40769 2009-12-24  Bruno Haible  <bruno@clisp.org>
40770
40771         Add missing dependencies to 'extensions' module.
40772         * m4/extensions.m4: Add comment.
40773         * modules/accept4 (Depends-on): Add extensions.
40774         * modules/dup3 (Depends-on): Likewise.
40775         * modules/fcntl (Depends-on): Likewise.
40776         * modules/futimens (Depends-on): Likewise.
40777         * modules/mknod (Depends-on): Likewise.
40778         * modules/pipe2 (Depends-on): Likewise.
40779         * modules/stat-time (Depends-on): Likewise.
40780         * modules/strcasestr-simple (Depends-on): Likewise.
40781         * modules/strsignal (Depends-on): Likewise.
40782         * modules/utimensat (Depends-on): Likewise.
40783         * modules/localcharset (Depends-on): Likewise. Needed because of
40784         gl_FCNTL_O_FLAGS.
40785         * modules/wcrtomb (Depends-on): Likewise. Needed because of
40786         AC_TYPE_MBSTATE_T.
40787         * modules/wcsnrtombs (Depends-on): Likewise.
40788         * modules/wcsrtombs (Depends-on): Likewise.
40789
40790 2009-12-24  Bruno Haible  <bruno@clisp.org>
40791
40792         binary-io: Avoid gcc warning due to SET_BINARY.
40793         * lib/binary-io.h (SET_BINARY): Cast the result to void.
40794         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
40795
40796 2009-12-24  Bruno Haible  <bruno@clisp.org>
40797
40798         Avoid future namespace pollution on glibc systems.
40799         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
40800         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
40801         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
40802         glibc systems.
40803
40804 2009-12-24  Bruno Haible  <bruno@clisp.org>
40805
40806         Refactor common macros used in tests.
40807         * tests/macros.h: New file.
40808         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
40809         and/or <stdlib.h>, if appropriate.
40810         (ASSERT, SIZEOF): Remove macros.
40811         * tests/test-areadlink-with-size.c: Likewise.
40812         * tests/test-areadlinkat.c: Likewise.
40813         * tests/test-areadlinkat-with-size.c: Likewise.
40814         * tests/test-argmatch.c: Likewise.
40815         * tests/test-argv-iter.c: Likewise.
40816         * tests/test-array-mergesort.c: Likewise.
40817         * tests/test-array_list.c: Likewise.
40818         * tests/test-array_oset.c: Likewise.
40819         * tests/test-avltree_list.c: Likewise.
40820         * tests/test-avltree_oset.c: Likewise.
40821         * tests/test-avltreehash_list.c: Likewise.
40822         * tests/test-base64.c: Likewise.
40823         * tests/test-binary-io.c: Likewise.
40824         * tests/test-bitrotate.c: Likewise.
40825         * tests/test-btowc.c: Likewise.
40826         * tests/test-byteswap.c: Likewise.
40827         * tests/test-c-ctype.c: Likewise.
40828         * tests/test-c-stack.c: Likewise.
40829         * tests/test-c-strcasecmp.c: Likewise.
40830         * tests/test-c-strcasestr.c: Likewise.
40831         * tests/test-c-strncasecmp.c: Likewise.
40832         * tests/test-c-strstr.c: Likewise.
40833         * tests/test-canonicalize-lgpl.c: Likewise.
40834         * tests/test-canonicalize.c: Likewise.
40835         * tests/test-carray_list.c: Likewise.
40836         * tests/test-ceilf1.c: Likewise.
40837         * tests/test-ceilf2.c: Likewise.
40838         * tests/test-ceill.c: Likewise.
40839         * tests/test-chown.c: Likewise.
40840         * tests/test-cloexec.c: Likewise.
40841         * tests/test-copy-acl.c: Likewise.
40842         * tests/test-copy-file.c: Likewise.
40843         * tests/test-count-one-bits.c: Likewise.
40844         * tests/test-dprintf-posix.c: Likewise.
40845         * tests/test-dup2.c: Likewise.
40846         * tests/test-dup3.c: Likewise.
40847         * tests/test-duplocale.c: Likewise.
40848         * tests/test-fbufmode.c: Likewise.
40849         * tests/test-fchdir.c: Likewise.
40850         * tests/test-fchownat.c: Likewise.
40851         * tests/test-fcntl-safer.c: Likewise.
40852         * tests/test-fcntl.c: Likewise.
40853         * tests/test-fdopendir.c: Likewise.
40854         * tests/test-fdutimensat.c: Likewise.
40855         * tests/test-fflush2.c: Likewise.
40856         * tests/test-file-has-acl.c: Likewise.
40857         * tests/test-filevercmp.c: Likewise.
40858         * tests/test-flock.c: Likewise.
40859         * tests/test-floorf1.c: Likewise.
40860         * tests/test-floorf2.c: Likewise.
40861         * tests/test-floorl.c: Likewise.
40862         * tests/test-fnmatch.c: Likewise.
40863         * tests/test-fopen.h: Likewise.
40864         * tests/test-fpending.c: Likewise.
40865         * tests/test-fprintf-posix.c: Likewise.
40866         * tests/test-fpurge.c: Likewise.
40867         * tests/test-freadable.c: Likewise.
40868         * tests/test-freadahead.c: Likewise.
40869         * tests/test-freading.c: Likewise.
40870         * tests/test-freadptr.c: Likewise.
40871         * tests/test-freadptr2.c: Likewise.
40872         * tests/test-freadseek.c: Likewise.
40873         * tests/test-freopen.c: Likewise.
40874         * tests/test-frexp.c: Likewise.
40875         * tests/test-frexpl.c: Likewise.
40876         * tests/test-fseek.c: Likewise.
40877         * tests/test-fseeko.c: Likewise.
40878         * tests/test-fstatat.c: Likewise.
40879         * tests/test-fstrcmp.c: Likewise.
40880         * tests/test-fsync.c: Likewise.
40881         * tests/test-ftell.c: Likewise.
40882         * tests/test-ftello.c: Likewise.
40883         * tests/test-func.c: Likewise.
40884         * tests/test-futimens.c: Likewise.
40885         * tests/test-fwritable.c: Likewise.
40886         * tests/test-fwriting.c: Likewise.
40887         * tests/test-getcwd.c: Likewise.
40888         * tests/test-getdate.c: Likewise.
40889         * tests/test-getdelim.c: Likewise.
40890         * tests/test-getdtablesize.c: Likewise.
40891         * tests/test-getgroups.c: Likewise.
40892         * tests/test-getline.c: Likewise.
40893         * tests/test-getndelim2.c: Likewise.
40894         * tests/test-glob.c: Likewise.
40895         * tests/test-hash.c: Likewise.
40896         * tests/test-i-ring.c: Likewise.
40897         * tests/test-iconv-utf.c: Likewise.
40898         * tests/test-iconv.c: Likewise.
40899         * tests/test-idpriv-drop.c: Likewise.
40900         * tests/test-idpriv-droptemp.c: Likewise.
40901         * tests/test-inet_ntop.c: Likewise.
40902         * tests/test-inet_pton.c: Likewise.
40903         * tests/test-isblank.c: Likewise.
40904         * tests/test-isfinite.c: Likewise.
40905         * tests/test-isinf.c: Likewise.
40906         * tests/test-isnan.c: Likewise.
40907         * tests/test-isnand.h: Likewise.
40908         * tests/test-isnanf.h: Likewise.
40909         * tests/test-isnanl.h: Likewise.
40910         * tests/test-lchown.c: Likewise.
40911         * tests/test-ldexpl.c: Likewise.
40912         * tests/test-link.c: Likewise.
40913         * tests/test-linkat.c: Likewise.
40914         * tests/test-linked_list.c: Likewise.
40915         * tests/test-linkedhash_list.c: Likewise.
40916         * tests/test-localename.c: Likewise.
40917         * tests/test-lseek.c: Likewise.
40918         * tests/test-lstat.c: Likewise.
40919         * tests/test-mbmemcasecmp.c: Likewise.
40920         * tests/test-mbmemcasecoll.c: Likewise.
40921         * tests/test-mbrtowc.c: Likewise.
40922         * tests/test-mbscasecmp.c: Likewise.
40923         * tests/test-mbscasestr1.c: Likewise.
40924         * tests/test-mbscasestr2.c: Likewise.
40925         * tests/test-mbscasestr3.c: Likewise.
40926         * tests/test-mbscasestr4.c: Likewise.
40927         * tests/test-mbschr.c: Likewise.
40928         * tests/test-mbscspn.c: Likewise.
40929         * tests/test-mbsinit.c: Likewise.
40930         * tests/test-mbsncasecmp.c: Likewise.
40931         * tests/test-mbsnrtowcs.c: Likewise.
40932         * tests/test-mbspbrk.c: Likewise.
40933         * tests/test-mbspcasecmp.c: Likewise.
40934         * tests/test-mbsrchr.c: Likewise.
40935         * tests/test-mbsrtowcs.c: Likewise.
40936         * tests/test-mbsspn.c: Likewise.
40937         * tests/test-mbsstr1.c: Likewise.
40938         * tests/test-mbsstr2.c: Likewise.
40939         * tests/test-mbsstr3.c: Likewise.
40940         * tests/test-memchr.c: Likewise.
40941         * tests/test-memchr2.c: Likewise.
40942         * tests/test-memcmp.c: Likewise.
40943         * tests/test-memmem.c: Likewise.
40944         * tests/test-memrchr.c: Likewise.
40945         * tests/test-mkdir.c: Likewise.
40946         * tests/test-mkdirat.c: Likewise.
40947         * tests/test-mkfifo.c: Likewise.
40948         * tests/test-mkfifoat.c: Likewise.
40949         * tests/test-mknod.c: Likewise.
40950         * tests/test-nanosleep.c: Likewise.
40951         * tests/test-nl_langinfo.c: Likewise.
40952         * tests/test-obstack-printf.c: Likewise.
40953         * tests/test-open.c: Likewise.
40954         * tests/test-openat.c: Likewise.
40955         * tests/test-pipe-filter-gi1.c: Likewise.
40956         * tests/test-pipe-filter-gi2-main.c: Likewise.
40957         * tests/test-pipe-filter-ii1.c: Likewise.
40958         * tests/test-pipe-filter-ii2-main.c: Likewise.
40959         * tests/test-pipe2.c: Likewise.
40960         * tests/test-popen.h: Likewise.
40961         * tests/test-posixtm.c: Likewise.
40962         * tests/test-pread.c: Likewise.
40963         * tests/test-printf-frexp.c: Likewise.
40964         * tests/test-printf-frexpl.c: Likewise.
40965         * tests/test-printf-posix.c: Likewise.
40966         * tests/test-priv-set.c: Likewise.
40967         * tests/test-quotearg.c: Likewise.
40968         * tests/test-random_r.c: Likewise.
40969         * tests/test-rawmemchr.c: Likewise.
40970         * tests/test-rbtree_list.c: Likewise.
40971         * tests/test-rbtree_oset.c: Likewise.
40972         * tests/test-rbtreehash_list.c: Likewise.
40973         * tests/test-readlink.c: Likewise.
40974         * tests/test-remove.c: Likewise.
40975         * tests/test-rename.c: Likewise.
40976         * tests/test-renameat.c: Likewise.
40977         * tests/test-rmdir.c: Likewise.
40978         * tests/test-round1.c: Likewise.
40979         * tests/test-roundf1.c: Likewise.
40980         * tests/test-roundl.c: Likewise.
40981         * tests/test-safe-alloc.c: Likewise.
40982         * tests/test-sameacls.c: Likewise.
40983         * tests/test-set-mode-acl.c: Likewise.
40984         * tests/test-setenv.c: Likewise.
40985         * tests/test-sigaction.c: Likewise.
40986         * tests/test-signbit.c: Likewise.
40987         * tests/test-sleep.c: Likewise.
40988         * tests/test-snprintf-posix.c: Likewise.
40989         * tests/test-snprintf.c: Likewise.
40990         * tests/test-sprintf-posix.c: Likewise.
40991         * tests/test-stat-time.c: Likewise.
40992         * tests/test-stat.c: Likewise.
40993         * tests/test-strcasestr.c: Likewise.
40994         * tests/test-strchrnul.c: Likewise.
40995         * tests/test-strerror.c: Likewise.
40996         * tests/test-striconv.c: Likewise.
40997         * tests/test-striconveh.c: Likewise.
40998         * tests/test-striconveha.c: Likewise.
40999         * tests/test-strsignal.c: Likewise.
41000         * tests/test-strstr.c: Likewise.
41001         * tests/test-strtod.c: Likewise.
41002         * tests/test-strverscmp.c: Likewise.
41003         * tests/test-symlink.c: Likewise.
41004         * tests/test-symlinkat.c: Likewise.
41005         * tests/test-trunc1.c: Likewise.
41006         * tests/test-trunc2.c: Likewise.
41007         * tests/test-truncf1.c: Likewise.
41008         * tests/test-truncf2.c: Likewise.
41009         * tests/test-truncl.c: Likewise.
41010         * tests/test-uname.c: Likewise.
41011         * tests/test-unlink.c: Likewise.
41012         * tests/test-unlinkat.c: Likewise.
41013         * tests/test-unsetenv.c: Likewise.
41014         * tests/test-usleep.c: Likewise.
41015         * tests/test-utimens.c: Likewise.
41016         * tests/test-utimensat.c: Likewise.
41017         * tests/test-vasnprintf-posix.c: Likewise.
41018         * tests/test-vasnprintf-posix2.c: Likewise.
41019         * tests/test-vasnprintf.c: Likewise.
41020         * tests/test-vasprintf-posix.c: Likewise.
41021         * tests/test-vasprintf.c: Likewise.
41022         * tests/test-vdprintf-posix.c: Likewise.
41023         * tests/test-vfprintf-posix.c: Likewise.
41024         * tests/test-vprintf-posix.c: Likewise.
41025         * tests/test-vsnprintf-posix.c: Likewise.
41026         * tests/test-vsnprintf.c: Likewise.
41027         * tests/test-vsprintf-posix.c: Likewise.
41028         * tests/test-wcrtomb.c: Likewise.
41029         * tests/test-wcsnrtombs.c: Likewise.
41030         * tests/test-wcsrtombs.c: Likewise.
41031         * tests/test-wctype.c: Likewise.
41032         * tests/test-wcwidth.c: Likewise.
41033         * tests/test-xfprintf-posix.c: Likewise.
41034         * tests/test-xmemdup0.c: Likewise.
41035         * tests/test-xprintf-posix.c: Likewise.
41036         * tests/test-xvasprintf.c: Likewise.
41037         * tests/unicase/test-locale-language.c: Likewise.
41038         * tests/unicase/test-mapping-part1.h: Likewise.
41039         * tests/unicase/test-predicate-part1.h: Likewise.
41040         * tests/unicase/test-u8-casecmp.c: Likewise.
41041         * tests/unicase/test-u8-casecoll.c: Likewise.
41042         * tests/unicase/test-u8-casefold.c: Likewise.
41043         * tests/unicase/test-u8-is-cased.c: Likewise.
41044         * tests/unicase/test-u8-is-casefolded.c: Likewise.
41045         * tests/unicase/test-u8-is-lowercase.c: Likewise.
41046         * tests/unicase/test-u8-is-titlecase.c: Likewise.
41047         * tests/unicase/test-u8-is-uppercase.c: Likewise.
41048         * tests/unicase/test-u8-tolower.c: Likewise.
41049         * tests/unicase/test-u8-totitle.c: Likewise.
41050         * tests/unicase/test-u8-toupper.c: Likewise.
41051         * tests/unicase/test-u16-casecmp.c: Likewise.
41052         * tests/unicase/test-u16-casecoll.c: Likewise.
41053         * tests/unicase/test-u16-casefold.c: Likewise.
41054         * tests/unicase/test-u16-is-cased.c: Likewise.
41055         * tests/unicase/test-u16-is-casefolded.c: Likewise.
41056         * tests/unicase/test-u16-is-lowercase.c: Likewise.
41057         * tests/unicase/test-u16-is-titlecase.c: Likewise.
41058         * tests/unicase/test-u16-is-uppercase.c: Likewise.
41059         * tests/unicase/test-u16-tolower.c: Likewise.
41060         * tests/unicase/test-u16-totitle.c: Likewise.
41061         * tests/unicase/test-u16-toupper.c: Likewise.
41062         * tests/unicase/test-u32-casecmp.c: Likewise.
41063         * tests/unicase/test-u32-casecoll.c: Likewise.
41064         * tests/unicase/test-u32-casefold.c: Likewise.
41065         * tests/unicase/test-u32-is-cased.c: Likewise.
41066         * tests/unicase/test-u32-is-casefolded.c: Likewise.
41067         * tests/unicase/test-u32-is-lowercase.c: Likewise.
41068         * tests/unicase/test-u32-is-titlecase.c: Likewise.
41069         * tests/unicase/test-u32-is-uppercase.c: Likewise.
41070         * tests/unicase/test-u32-tolower.c: Likewise.
41071         * tests/unicase/test-u32-totitle.c: Likewise.
41072         * tests/unicase/test-u32-toupper.c: Likewise.
41073         * tests/unicase/test-ulc-casecmp.c: Likewise.
41074         * tests/unicase/test-ulc-casecoll.c: Likewise.
41075         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
41076         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
41077         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
41078         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
41079         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
41080         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
41081         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
41082         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
41083         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
41084         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
41085         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
41086         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
41087         * tests/unictype/test-bidi_byname.c: Likewise.
41088         * tests/unictype/test-bidi_name.c: Likewise.
41089         * tests/unictype/test-bidi_of.c: Likewise.
41090         * tests/unictype/test-bidi_test.c: Likewise.
41091         * tests/unictype/test-block_list.c: Likewise.
41092         * tests/unictype/test-block_of.c: Likewise.
41093         * tests/unictype/test-block_test.c: Likewise.
41094         * tests/unictype/test-categ_and.c: Likewise.
41095         * tests/unictype/test-categ_and_not.c: Likewise.
41096         * tests/unictype/test-categ_byname.c: Likewise.
41097         * tests/unictype/test-categ_name.c: Likewise.
41098         * tests/unictype/test-categ_none.c: Likewise.
41099         * tests/unictype/test-categ_of.c: Likewise.
41100         * tests/unictype/test-categ_or.c: Likewise.
41101         * tests/unictype/test-categ_test_withtable.c: Likewise.
41102         * tests/unictype/test-combining.c: Likewise.
41103         * tests/unictype/test-decdigit.c: Likewise.
41104         * tests/unictype/test-digit.c: Likewise.
41105         * tests/unictype/test-mirror.c: Likewise.
41106         * tests/unictype/test-numeric.c: Likewise.
41107         * tests/unictype/test-pr_byname.c: Likewise.
41108         * tests/unictype/test-pr_test.c: Likewise.
41109         * tests/unictype/test-predicate-part1.h: Likewise.
41110         * tests/unictype/test-scripts.c: Likewise.
41111         * tests/unictype/test-sy_c_ident.c: Likewise.
41112         * tests/unictype/test-sy_java_ident.c: Likewise.
41113         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
41114         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
41115         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
41116         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
41117         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
41118         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
41119         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
41120         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
41121         * tests/uninorm/test-canonical-decomposition.c: Likewise.
41122         * tests/uninorm/test-compat-decomposition.c: Likewise.
41123         * tests/uninorm/test-composition.c: Likewise.
41124         * tests/uninorm/test-decomposing-form.c: Likewise.
41125         * tests/uninorm/test-decomposition.c: Likewise.
41126         * tests/uninorm/test-u8-nfc.c: Likewise.
41127         * tests/uninorm/test-u8-nfd.c: Likewise.
41128         * tests/uninorm/test-u8-nfkc.c: Likewise.
41129         * tests/uninorm/test-u8-nfkd.c: Likewise.
41130         * tests/uninorm/test-u8-normcmp.c: Likewise.
41131         * tests/uninorm/test-u8-normcoll.c: Likewise.
41132         * tests/uninorm/test-u16-nfc.c: Likewise.
41133         * tests/uninorm/test-u16-nfd.c: Likewise.
41134         * tests/uninorm/test-u16-nfkc.c: Likewise.
41135         * tests/uninorm/test-u16-nfkd.c: Likewise.
41136         * tests/uninorm/test-u16-normcmp.c: Likewise.
41137         * tests/uninorm/test-u16-normcoll.c: Likewise.
41138         * tests/uninorm/test-u32-nfc.c: Likewise.
41139         * tests/uninorm/test-u32-nfd.c: Likewise.
41140         * tests/uninorm/test-u32-nfkc.c: Likewise.
41141         * tests/uninorm/test-u32-nfkd.c: Likewise.
41142         * tests/uninorm/test-u32-normalize-big.c: Likewise.
41143         * tests/uninorm/test-u32-normcmp.c: Likewise.
41144         * tests/uninorm/test-u32-normcoll.c: Likewise.
41145         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
41146         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
41147         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
41148         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
41149         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
41150         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
41151         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
41152         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
41153         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
41154         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
41155         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
41156         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
41157         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
41158         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
41159         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
41160         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
41161         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
41162         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
41163         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
41164         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
41165         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
41166         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
41167         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
41168         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
41169         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
41170         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
41171         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
41172         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
41173         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
41174         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
41175         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
41176         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
41177         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
41178         * tests/uniwidth/test-u8-strwidth.c: Likewise.
41179         * tests/uniwidth/test-u8-width.c: Likewise.
41180         * tests/uniwidth/test-u16-strwidth.c: Likewise.
41181         * tests/uniwidth/test-u16-width.c: Likewise.
41182         * tests/uniwidth/test-u32-strwidth.c: Likewise.
41183         * tests/uniwidth/test-u32-width.c: Likewise.
41184         * tests/uniwidth/test-uc_width.c: Likewise.
41185         * tests/uniwidth/test-uc_width2.c: Likewise.
41186         * modules/acl-tests (Files): Add tests/macros.h.
41187         * modules/areadlink-tests (Files): Likewise.
41188         * modules/areadlink-with-size-tests (Files): Likewise.
41189         * modules/areadlinkat-tests (Files): Likewise.
41190         * modules/areadlinkat-with-size-tests (Files): Likewise.
41191         * modules/argmatch-tests (Files): Likewise.
41192         * modules/argv-iter-tests (Files): Likewise.
41193         * modules/array-list-tests (Files): Likewise.
41194         * modules/array-mergesort-tests (Files): Likewise.
41195         * modules/array-oset-tests (Files): Likewise.
41196         * modules/avltree-list-tests (Files): Likewise.
41197         * modules/avltree-oset-tests (Files): Likewise.
41198         * modules/avltreehash-list-tests (Files): Likewise.
41199         * modules/base64-tests (Files): Likewise.
41200         * modules/binary-io-tests (Files): Likewise.
41201         * modules/bitrotate-tests (Files): Likewise.
41202         * modules/btowc-tests (Files): Likewise.
41203         * modules/byteswap-tests (Files): Likewise.
41204         * modules/c-ctype-tests (Files): Likewise.
41205         * modules/c-stack-tests (Files): Likewise.
41206         * modules/c-strcase-tests (Files): Likewise.
41207         * modules/c-strcasestr-tests (Files): Likewise.
41208         * modules/c-strstr-tests (Files): Likewise.
41209         * modules/canonicalize-lgpl-tests (Files): Likewise.
41210         * modules/canonicalize-tests (Files): Likewise.
41211         * modules/carray-list-tests (Files): Likewise.
41212         * modules/ceilf-tests (Files): Likewise.
41213         * modules/ceill-tests (Files): Likewise.
41214         * modules/chown-tests (Files): Likewise.
41215         * modules/cloexec-tests (Files): Likewise.
41216         * modules/copy-file-tests (Files): Likewise.
41217         * modules/count-one-bits-tests (Files): Likewise.
41218         * modules/dprintf-posix-tests (Files): Likewise.
41219         * modules/dup2-tests (Files): Likewise.
41220         * modules/dup3-tests (Files): Likewise.
41221         * modules/duplocale-tests (Files): Likewise.
41222         * modules/fbufmode-tests (Files): Likewise.
41223         * modules/fchdir-tests (Files): Likewise.
41224         * modules/fcntl-safer-tests (Files): Likewise.
41225         * modules/fcntl-tests (Files): Likewise.
41226         * modules/fdopendir-tests (Files): Likewise.
41227         * modules/fdutimensat-tests (Files): Likewise.
41228         * modules/fflush-tests (Files): Likewise.
41229         * modules/filevercmp-tests (Files): Likewise.
41230         * modules/flock-tests (Files): Likewise.
41231         * modules/floorf-tests (Files): Likewise.
41232         * modules/floorl-tests (Files): Likewise.
41233         * modules/fnmatch-tests (Files): Likewise.
41234         * modules/fopen-safer-tests (Files): Likewise.
41235         * modules/fopen-tests (Files): Likewise.
41236         * modules/fpending-tests (Files): Likewise.
41237         * modules/fprintf-posix-tests (Files): Likewise.
41238         * modules/fpurge-tests (Files): Likewise.
41239         * modules/freadable-tests (Files): Likewise.
41240         * modules/freadahead-tests (Files): Likewise.
41241         * modules/freading-tests (Files): Likewise.
41242         * modules/freadptr-tests (Files): Likewise.
41243         * modules/freadseek-tests (Files): Likewise.
41244         * modules/freopen-tests (Files): Likewise.
41245         * modules/frexp-nolibm-tests (Files): Likewise.
41246         * modules/frexp-tests (Files): Likewise.
41247         * modules/frexpl-nolibm-tests (Files): Likewise.
41248         * modules/frexpl-tests (Files): Likewise.
41249         * modules/fseek-tests (Files): Likewise.
41250         * modules/fseeko-tests (Files): Likewise.
41251         * modules/fstrcmp-tests (Files): Likewise.
41252         * modules/fsync-tests (Files): Likewise.
41253         * modules/ftell-tests (Files): Likewise.
41254         * modules/ftello-tests (Files): Likewise.
41255         * modules/func-tests (Files): Likewise.
41256         * modules/futimens-tests (Files): Likewise.
41257         * modules/fwritable-tests (Files): Likewise.
41258         * modules/fwriting-tests (Files): Likewise.
41259         * modules/getcwd-tests (Files): Likewise.
41260         * modules/getdate-tests (Files): Likewise.
41261         * modules/getdelim-tests (Files): Likewise.
41262         * modules/getdtablesize-tests (Files): Likewise.
41263         * modules/getgroups-tests (Files): Likewise.
41264         * modules/getline-tests (Files): Likewise.
41265         * modules/getndelim2-tests (Files): Likewise.
41266         * modules/glob-tests (Files): Likewise.
41267         * modules/hash-tests (Files): Likewise.
41268         * modules/i-ring-tests (Files): Likewise.
41269         * modules/iconv-tests (Files): Likewise.
41270         * modules/iconv_open-utf-tests (Files): Likewise.
41271         * modules/idpriv-drop-tests (Files): Likewise.
41272         * modules/idpriv-droptemp-tests (Files): Likewise.
41273         * modules/inet_ntop-tests (Files): Likewise.
41274         * modules/inet_pton-tests (Files): Likewise.
41275         * modules/isblank-tests (Files): Likewise.
41276         * modules/isfinite-tests (Files): Likewise.
41277         * modules/isinf-tests (Files): Likewise.
41278         * modules/isnan-tests (Files): Likewise.
41279         * modules/isnand-nolibm-tests (Files): Likewise.
41280         * modules/isnand-tests (Files): Likewise.
41281         * modules/isnanf-nolibm-tests (Files): Likewise.
41282         * modules/isnanf-tests (Files): Likewise.
41283         * modules/isnanl-nolibm-tests (Files): Likewise.
41284         * modules/isnanl-tests (Files): Likewise.
41285         * modules/lchown-tests (Files): Likewise.
41286         * modules/ldexpl-tests (Files): Likewise.
41287         * modules/link-tests (Files): Likewise.
41288         * modules/linkat-tests (Files): Likewise.
41289         * modules/linked-list-tests (Files): Likewise.
41290         * modules/linkedhash-list-tests (Files): Likewise.
41291         * modules/localename-tests (Files): Likewise.
41292         * modules/lseek-tests (Files): Likewise.
41293         * modules/lstat-tests (Files): Likewise.
41294         * modules/mbmemcasecmp-tests (Files): Likewise.
41295         * modules/mbmemcasecoll-tests (Files): Likewise.
41296         * modules/mbrtowc-tests (Files): Likewise.
41297         * modules/mbscasecmp-tests (Files): Likewise.
41298         * modules/mbscasestr-tests (Files): Likewise.
41299         * modules/mbschr-tests (Files): Likewise.
41300         * modules/mbscspn-tests (Files): Likewise.
41301         * modules/mbsinit-tests (Files): Likewise.
41302         * modules/mbsncasecmp-tests (Files): Likewise.
41303         * modules/mbsnrtowcs-tests (Files): Likewise.
41304         * modules/mbspbrk-tests (Files): Likewise.
41305         * modules/mbspcasecmp-tests (Files): Likewise.
41306         * modules/mbsrchr-tests (Files): Likewise.
41307         * modules/mbsrtowcs-tests (Files): Likewise.
41308         * modules/mbsspn-tests (Files): Likewise.
41309         * modules/mbsstr-tests (Files): Likewise.
41310         * modules/memchr-tests (Files): Likewise.
41311         * modules/memchr2-tests (Files): Likewise.
41312         * modules/memcmp-tests (Files): Likewise.
41313         * modules/memmem-tests (Files): Likewise.
41314         * modules/memrchr-tests (Files): Likewise.
41315         * modules/mkdir-tests (Files): Likewise.
41316         * modules/mkfifo-tests (Files): Likewise.
41317         * modules/mkfifoat-tests (Files): Likewise.
41318         * modules/mknod-tests (Files): Likewise.
41319         * modules/nanosleep-tests (Files): Likewise.
41320         * modules/nl_langinfo-tests (Files): Likewise.
41321         * modules/obstack-printf-tests (Files): Likewise.
41322         * modules/open-tests (Files): Likewise.
41323         * modules/openat-tests (Files): Likewise.
41324         * modules/pipe-filter-gi-tests (Files): Likewise.
41325         * modules/pipe-filter-ii-tests (Files): Likewise.
41326         * modules/pipe2-tests (Files): Likewise.
41327         * modules/popen-safer-tests (Files): Likewise.
41328         * modules/popen-tests (Files): Likewise.
41329         * modules/posixtm-tests (Files): Likewise.
41330         * modules/pread-tests (Files): Likewise.
41331         * modules/printf-frexp-tests (Files): Likewise.
41332         * modules/printf-frexpl-tests (Files): Likewise.
41333         * modules/printf-posix-tests (Files): Likewise.
41334         * modules/priv-set-tests (Files): Likewise.
41335         * modules/quotearg-tests (Files): Likewise.
41336         * modules/random_r-tests (Files): Likewise.
41337         * modules/rawmemchr-tests (Files): Likewise.
41338         * modules/rbtree-list-tests (Files): Likewise.
41339         * modules/rbtree-oset-tests (Files): Likewise.
41340         * modules/rbtreehash-list-tests (Files): Likewise.
41341         * modules/readlink-tests (Files): Likewise.
41342         * modules/remove-tests (Files): Likewise.
41343         * modules/rename-tests (Files): Likewise.
41344         * modules/renameat-tests (Files): Likewise.
41345         * modules/rmdir-tests (Files): Likewise.
41346         * modules/round-tests (Files): Likewise.
41347         * modules/roundf-tests (Files): Likewise.
41348         * modules/roundl-tests (Files): Likewise.
41349         * modules/safe-alloc-tests (Files): Likewise.
41350         * modules/setenv-tests (Files): Likewise.
41351         * modules/sigaction-tests (Files): Likewise.
41352         * modules/signbit-tests (Files): Likewise.
41353         * modules/sleep-tests (Files): Likewise.
41354         * modules/snprintf-posix-tests (Files): Likewise.
41355         * modules/snprintf-tests (Files): Likewise.
41356         * modules/sprintf-posix-tests (Files): Likewise.
41357         * modules/stat-tests (Files): Likewise.
41358         * modules/stat-time-tests (Files): Likewise.
41359         * modules/strcasestr-tests (Files): Likewise.
41360         * modules/strchrnul-tests (Files): Likewise.
41361         * modules/strerror-tests (Files): Likewise.
41362         * modules/striconv-tests (Files): Likewise.
41363         * modules/striconveh-tests (Files): Likewise.
41364         * modules/striconveha-tests (Files): Likewise.
41365         * modules/strsignal-tests (Files): Likewise.
41366         * modules/strstr-tests (Files): Likewise.
41367         * modules/strtod-tests (Files): Likewise.
41368         * modules/strverscmp-tests (Files): Likewise.
41369         * modules/symlink-tests (Files): Likewise.
41370         * modules/symlinkat-tests (Files): Likewise.
41371         * modules/trunc-tests (Files): Likewise.
41372         * modules/truncf-tests (Files): Likewise.
41373         * modules/truncl-tests (Files): Likewise.
41374         * modules/uname-tests (Files): Likewise.
41375         * modules/unicase/cased-tests (Files): Likewise.
41376         * modules/unicase/ignorable-tests (Files): Likewise.
41377         * modules/unicase/locale-language-tests (Files): Likewise.
41378         * modules/unicase/tolower-tests (Files): Likewise.
41379         * modules/unicase/totitle-tests (Files): Likewise.
41380         * modules/unicase/toupper-tests (Files): Likewise.
41381         * modules/unicase/u8-casecmp-tests (Files): Likewise.
41382         * modules/unicase/u8-casecoll-tests (Files): Likewise.
41383         * modules/unicase/u8-casefold-tests (Files): Likewise.
41384         * modules/unicase/u8-is-cased-tests (Files): Likewise.
41385         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
41386         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
41387         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
41388         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
41389         * modules/unicase/u8-tolower-tests (Files): Likewise.
41390         * modules/unicase/u8-totitle-tests (Files): Likewise.
41391         * modules/unicase/u8-toupper-tests (Files): Likewise.
41392         * modules/unicase/u16-casecmp-tests (Files): Likewise.
41393         * modules/unicase/u16-casecoll-tests (Files): Likewise.
41394         * modules/unicase/u16-casefold-tests (Files): Likewise.
41395         * modules/unicase/u16-is-cased-tests (Files): Likewise.
41396         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
41397         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
41398         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
41399         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
41400         * modules/unicase/u16-tolower-tests (Files): Likewise.
41401         * modules/unicase/u16-totitle-tests (Files): Likewise.
41402         * modules/unicase/u16-toupper-tests (Files): Likewise.
41403         * modules/unicase/u32-casecmp-tests (Files): Likewise.
41404         * modules/unicase/u32-casecoll-tests (Files): Likewise.
41405         * modules/unicase/u32-casefold-tests (Files): Likewise.
41406         * modules/unicase/u32-is-cased-tests (Files): Likewise.
41407         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
41408         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
41409         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
41410         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
41411         * modules/unicase/u32-tolower-tests (Files): Likewise.
41412         * modules/unicase/u32-totitle-tests (Files): Likewise.
41413         * modules/unicase/u32-toupper-tests (Files): Likewise.
41414         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
41415         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
41416         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
41417         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
41418         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
41419         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
41420         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
41421         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
41422         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
41423         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
41424         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
41425         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
41426         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
41427         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
41428         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
41429         * modules/unictype/bidicategory-name-tests (Files): Likewise.
41430         * modules/unictype/bidicategory-of-tests (Files): Likewise.
41431         * modules/unictype/bidicategory-test-tests (Files): Likewise.
41432         * modules/unictype/block-list-tests (Files): Likewise.
41433         * modules/unictype/block-of-tests (Files): Likewise.
41434         * modules/unictype/block-test-tests (Files): Likewise.
41435         * modules/unictype/category-C-tests (Files): Likewise.
41436         * modules/unictype/category-Cc-tests (Files): Likewise.
41437         * modules/unictype/category-Cf-tests (Files): Likewise.
41438         * modules/unictype/category-Cn-tests (Files): Likewise.
41439         * modules/unictype/category-Co-tests (Files): Likewise.
41440         * modules/unictype/category-Cs-tests (Files): Likewise.
41441         * modules/unictype/category-L-tests (Files): Likewise.
41442         * modules/unictype/category-Ll-tests (Files): Likewise.
41443         * modules/unictype/category-Lm-tests (Files): Likewise.
41444         * modules/unictype/category-Lo-tests (Files): Likewise.
41445         * modules/unictype/category-Lt-tests (Files): Likewise.
41446         * modules/unictype/category-Lu-tests (Files): Likewise.
41447         * modules/unictype/category-M-tests (Files): Likewise.
41448         * modules/unictype/category-Mc-tests (Files): Likewise.
41449         * modules/unictype/category-Me-tests (Files): Likewise.
41450         * modules/unictype/category-Mn-tests (Files): Likewise.
41451         * modules/unictype/category-N-tests (Files): Likewise.
41452         * modules/unictype/category-Nd-tests (Files): Likewise.
41453         * modules/unictype/category-Nl-tests (Files): Likewise.
41454         * modules/unictype/category-No-tests (Files): Likewise.
41455         * modules/unictype/category-P-tests (Files): Likewise.
41456         * modules/unictype/category-Pc-tests (Files): Likewise.
41457         * modules/unictype/category-Pd-tests (Files): Likewise.
41458         * modules/unictype/category-Pe-tests (Files): Likewise.
41459         * modules/unictype/category-Pf-tests (Files): Likewise.
41460         * modules/unictype/category-Pi-tests (Files): Likewise.
41461         * modules/unictype/category-Po-tests (Files): Likewise.
41462         * modules/unictype/category-Ps-tests (Files): Likewise.
41463         * modules/unictype/category-S-tests (Files): Likewise.
41464         * modules/unictype/category-Sc-tests (Files): Likewise.
41465         * modules/unictype/category-Sk-tests (Files): Likewise.
41466         * modules/unictype/category-Sm-tests (Files): Likewise.
41467         * modules/unictype/category-So-tests (Files): Likewise.
41468         * modules/unictype/category-Z-tests (Files): Likewise.
41469         * modules/unictype/category-Zl-tests (Files): Likewise.
41470         * modules/unictype/category-Zp-tests (Files): Likewise.
41471         * modules/unictype/category-Zs-tests (Files): Likewise.
41472         * modules/unictype/category-and-not-tests (Files): Likewise.
41473         * modules/unictype/category-and-tests (Files): Likewise.
41474         * modules/unictype/category-byname-tests (Files): Likewise.
41475         * modules/unictype/category-name-tests (Files): Likewise.
41476         * modules/unictype/category-none-tests (Files): Likewise.
41477         * modules/unictype/category-of-tests (Files): Likewise.
41478         * modules/unictype/category-or-tests (Files): Likewise.
41479         * modules/unictype/category-test-withtable-tests (Files): Likewise.
41480         * modules/unictype/combining-class-tests (Files): Likewise.
41481         * modules/unictype/ctype-alnum-tests (Files): Likewise.
41482         * modules/unictype/ctype-alpha-tests (Files): Likewise.
41483         * modules/unictype/ctype-blank-tests (Files): Likewise.
41484         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
41485         * modules/unictype/ctype-digit-tests (Files): Likewise.
41486         * modules/unictype/ctype-graph-tests (Files): Likewise.
41487         * modules/unictype/ctype-lower-tests (Files): Likewise.
41488         * modules/unictype/ctype-print-tests (Files): Likewise.
41489         * modules/unictype/ctype-punct-tests (Files): Likewise.
41490         * modules/unictype/ctype-space-tests (Files): Likewise.
41491         * modules/unictype/ctype-upper-tests (Files): Likewise.
41492         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
41493         * modules/unictype/decimal-digit-tests (Files): Likewise.
41494         * modules/unictype/digit-tests (Files): Likewise.
41495         * modules/unictype/mirror-tests (Files): Likewise.
41496         * modules/unictype/numeric-tests (Files): Likewise.
41497         * modules/unictype/property-alphabetic-tests (Files): Likewise.
41498         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
41499         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
41500         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
41501         Likewise.
41502         * modules/unictype/property-bidi-block-separator-tests (Files):
41503         Likewise.
41504         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
41505         Likewise.
41506         * modules/unictype/property-bidi-common-separator-tests (Files):
41507         Likewise.
41508         * modules/unictype/property-bidi-control-tests (Files): Likewise.
41509         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
41510         Likewise.
41511         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
41512         Likewise.
41513         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
41514         Likewise.
41515         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
41516         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
41517         Likewise.
41518         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
41519         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
41520         Likewise.
41521         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
41522         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
41523         * modules/unictype/property-bidi-segment-separator-tests (Files):
41524         Likewise.
41525         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
41526         * modules/unictype/property-byname-tests (Files): Likewise.
41527         * modules/unictype/property-combining-tests (Files): Likewise.
41528         * modules/unictype/property-composite-tests (Files): Likewise.
41529         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
41530         * modules/unictype/property-dash-tests (Files): Likewise.
41531         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
41532         * modules/unictype/property-default-ignorable-code-point-tests (Files):
41533         Likewise.
41534         * modules/unictype/property-deprecated-tests (Files): Likewise.
41535         * modules/unictype/property-diacritic-tests (Files): Likewise.
41536         * modules/unictype/property-extender-tests (Files): Likewise.
41537         * modules/unictype/property-format-control-tests (Files): Likewise.
41538         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
41539         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
41540         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
41541         * modules/unictype/property-hex-digit-tests (Files): Likewise.
41542         * modules/unictype/property-hyphen-tests (Files): Likewise.
41543         * modules/unictype/property-id-continue-tests (Files): Likewise.
41544         * modules/unictype/property-id-start-tests (Files): Likewise.
41545         * modules/unictype/property-ideographic-tests (Files): Likewise.
41546         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
41547         * modules/unictype/property-ids-trinary-operator-tests (Files):
41548         Likewise.
41549         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
41550         * modules/unictype/property-iso-control-tests (Files): Likewise.
41551         * modules/unictype/property-join-control-tests (Files): Likewise.
41552         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
41553         * modules/unictype/property-line-separator-tests (Files): Likewise.
41554         * modules/unictype/property-logical-order-exception-tests (Files):
41555         Likewise.
41556         * modules/unictype/property-lowercase-tests (Files): Likewise.
41557         * modules/unictype/property-math-tests (Files): Likewise.
41558         * modules/unictype/property-non-break-tests (Files): Likewise.
41559         * modules/unictype/property-not-a-character-tests (Files): Likewise.
41560         * modules/unictype/property-numeric-tests (Files): Likewise.
41561         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
41562         * modules/unictype/property-other-default-ignorable-code-point-tests
41563         (Files): Likewise.
41564         * modules/unictype/property-other-grapheme-extend-tests (Files):
41565         Likewise.
41566         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
41567         * modules/unictype/property-other-id-start-tests (Files): Likewise.
41568         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
41569         * modules/unictype/property-other-math-tests (Files): Likewise.
41570         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
41571         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
41572         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
41573         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
41574         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
41575         * modules/unictype/property-private-use-tests (Files): Likewise.
41576         * modules/unictype/property-punctuation-tests (Files): Likewise.
41577         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
41578         * modules/unictype/property-radical-tests (Files): Likewise.
41579         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
41580         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
41581         * modules/unictype/property-space-tests (Files): Likewise.
41582         * modules/unictype/property-terminal-punctuation-tests (Files):
41583         Likewise.
41584         * modules/unictype/property-test-tests (Files): Likewise.
41585         * modules/unictype/property-titlecase-tests (Files): Likewise.
41586         * modules/unictype/property-unassigned-code-value-tests (Files):
41587         Likewise.
41588         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
41589         * modules/unictype/property-uppercase-tests (Files): Likewise.
41590         * modules/unictype/property-variation-selector-tests (Files): Likewise.
41591         * modules/unictype/property-white-space-tests (Files): Likewise.
41592         * modules/unictype/property-xid-continue-tests (Files): Likewise.
41593         * modules/unictype/property-xid-start-tests (Files): Likewise.
41594         * modules/unictype/property-zero-width-tests (Files): Likewise.
41595         * modules/unictype/scripts-tests (Files): Likewise.
41596         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
41597         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
41598         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
41599         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
41600         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
41601         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
41602         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
41603         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
41604         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
41605         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
41606         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
41607         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
41608         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
41609         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
41610         * modules/uninorm/composition-tests (Files): Likewise.
41611         * modules/uninorm/decomposing-form-tests (Files): Likewise.
41612         * modules/uninorm/decomposition-tests (Files): Likewise.
41613         * modules/uninorm/filter-tests (Files): Likewise.
41614         * modules/uninorm/nfc-tests (Files): Likewise.
41615         * modules/uninorm/nfd-tests (Files): Likewise.
41616         * modules/uninorm/nfkc-tests (Files): Likewise.
41617         * modules/uninorm/nfkd-tests (Files): Likewise.
41618         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
41619         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
41620         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
41621         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
41622         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
41623         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
41624         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
41625         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
41626         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
41627         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
41628         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
41629         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
41630         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
41631         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
41632         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
41633         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
41634         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
41635         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
41636         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
41637         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
41638         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
41639         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
41640         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
41641         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
41642         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
41643         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
41644         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
41645         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
41646         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
41647         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
41648         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
41649         * modules/uniwidth/u8-width-tests (Files): Likewise.
41650         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
41651         * modules/uniwidth/u16-width-tests (Files): Likewise.
41652         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
41653         * modules/uniwidth/u32-width-tests (Files): Likewise.
41654         * modules/uniwidth/width-tests (Files): Likewise.
41655         * modules/unlink-tests (Files): Likewise.
41656         * modules/unsetenv-tests (Files): Likewise.
41657         * modules/usleep-tests (Files): Likewise.
41658         * modules/utimens-tests (Files): Likewise.
41659         * modules/utimensat-tests (Files): Likewise.
41660         * modules/vasnprintf-posix-tests (Files): Likewise.
41661         * modules/vasnprintf-tests (Files): Likewise.
41662         * modules/vasprintf-posix-tests (Files): Likewise.
41663         * modules/vasprintf-tests (Files): Likewise.
41664         * modules/vdprintf-posix-tests (Files): Likewise.
41665         * modules/vfprintf-posix-tests (Files): Likewise.
41666         * modules/vprintf-posix-tests (Files): Likewise.
41667         * modules/vsnprintf-posix-tests (Files): Likewise.
41668         * modules/vsnprintf-tests (Files): Likewise.
41669         * modules/vsprintf-posix-tests (Files): Likewise.
41670         * modules/wcrtomb-tests (Files): Likewise.
41671         * modules/wcsnrtombs-tests (Files): Likewise.
41672         * modules/wcsrtombs-tests (Files): Likewise.
41673         * modules/wctype-tests (Files): Likewise.
41674         * modules/wcwidth-tests (Files): Likewise.
41675         * modules/xmemdup0-tests (Files): Likewise.
41676         * modules/xprintf-posix-tests (Files): Likewise.
41677         * modules/xvasprintf-tests (Files): Likewise.
41678
41679 2009-12-24  Eric Blake  <ebb9@byu.net>
41680
41681         test-nanosleep: fix typo
41682         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
41683         patch.
41684         Reported by Bruno Haible.
41685
41686 2009-12-24  Bruno Haible  <bruno@clisp.org>
41687
41688         Reduce namespace pollution on glibc systems.
41689         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
41690         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
41691         systems.
41692         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
41693         <getopt.h> on glibc systems.
41694         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
41695         systems.
41696         * lib/fcntl.c: Include <unistd.h> here instead.
41697
41698 2009-12-24  Bruno Haible  <bruno@clisp.org>
41699
41700         * lib/stdlib.in.h (includes): Fix typo in today's commit.
41701
41702 2009-12-24  Eric Blake  <ebb9@byu.net>
41703
41704         tests: add signature checks
41705         * tests/signature.h (SIGNATURE_CHECK): New file.
41706         * modules/atexit-tests (Files): Use it.
41707         * modules/btowc-tests (Files): Likewise.
41708         * modules/canonicalize-lgpl-tests (Files): Likewise.
41709         * modules/ceilf-tests (Files): Likewise.
41710         * modules/ceill-tests (Files): Likewise.
41711         * modules/chown-tests (Files): Likewise.
41712         * modules/dprintf-posix-tests (Files): Likewise.
41713         * modules/dup2-tests (Files): Likewise.
41714         * modules/dup3-tests (Files): Likewise.
41715         * modules/duplocale-tests (Files): Likewise.
41716         * modules/fchdir-tests (Files): Likewise.
41717         * modules/fcntl-tests (Files): Likewise.
41718         * modules/fdopendir-tests (Files): Likewise.
41719         * modules/fflush-tests (Files): Likewise.
41720         * modules/flock-tests (Files): Likewise.
41721         * modules/floorf-tests (Files): Likewise.
41722         * modules/floorl-tests (Files): Likewise.
41723         * modules/fnmatch-tests (Files): Likewise.
41724         * modules/fopen-tests (Files): Likewise.
41725         * modules/fprintf-posix-tests (Files): Likewise.
41726         * modules/freopen-tests (Files): Likewise.
41727         * modules/frexp-nolibm-tests (Files): Likewise.
41728         * modules/frexp-tests (Files): Likewise.
41729         * modules/frexpl-nolibm-tests (Files): Likewise.
41730         * modules/frexpl-tests (Files): Likewise.
41731         * modules/fseek-tests (Files): Likewise.
41732         * modules/fseeko-tests (Files): Likewise.
41733         * modules/fsync-tests (Files): Likewise.
41734         * modules/ftell-tests (Files): Likewise.
41735         * modules/ftello-tests (Files): Likewise.
41736         * modules/futimens-tests (Files): Likewise.
41737         * modules/getaddrinfo-tests (Files): Likewise.
41738         * modules/getcwd-tests (Files): Likewise.
41739         * modules/getdelim-tests (Files): Likewise.
41740         * modules/getdtablesize-tests (Files): Likewise.
41741         * modules/getgroups-tests (Files): Likewise.
41742         * modules/gethostname-tests (Files): Likewise.
41743         * modules/getline-tests (Files): Likewise.
41744         * modules/getopt-posix-tests (Files): Likewise.
41745         * modules/gettimeofday-tests (Files): Likewise.
41746         * modules/glob-tests (Files): Likewise.
41747         * modules/iconv-tests (Files): Likewise.
41748         * modules/inet_ntop-tests (Files): Likewise.
41749         * modules/inet_pton-tests (Files): Likewise.
41750         * modules/isblank-tests (Files): Likewise.
41751         * modules/lchown-tests (Files): Likewise.
41752         * modules/ldexpl-tests (Files): Likewise.
41753         * modules/link-tests (Files): Likewise.
41754         * modules/linkat-tests (Files): Likewise.
41755         * modules/lseek-tests (Files): Likewise.
41756         * modules/lstat-tests (Files): Likewise.
41757         * modules/mbrtowc-tests (Files): Likewise.
41758         * modules/mbsinit-tests (Files): Likewise.
41759         * modules/mbsnrtowcs-tests (Files): Likewise.
41760         * modules/mbsrtowcs-tests (Files): Likewise.
41761         * modules/memchr-tests (Files): Likewise.
41762         * modules/memcmp-tests (Files): Likewise.
41763         * modules/memmem-tests (Files): Likewise.
41764         * modules/memrchr-tests (Files): Likewise.
41765         * modules/mkdir-tests (Files): Likewise.
41766         * modules/mkfifo-tests (Files): Likewise.
41767         * modules/mkfifoat-tests (Files): Likewise.
41768         * modules/mknod-tests (Files): Likewise.
41769         * modules/nanosleep-tests (Files): Likewise.
41770         * modules/nl_langinfo-tests (Files): Likewise.
41771         * modules/obstack-printf-tests (Files): Likewise.
41772         * modules/open-tests (Files): Likewise.
41773         * modules/openat-tests (Files): Likewise.
41774         * modules/perror-tests (Files): Likewise.
41775         * modules/pipe2-tests (Files): Likewise.
41776         * modules/poll-tests (Files): Likewise.
41777         * modules/popen-tests (Files): Likewise.
41778         * modules/posix_spawn-tests (Files): Likewise.
41779         * modules/posix_spawnp-tests (Files): Likewise.
41780         * modules/pread-tests (Files): Likewise.
41781         * modules/printf-posix-tests (Files): Likewise.
41782         * modules/pty-tests (Files): Likewise.
41783         * modules/random_r-tests (Files): Likewise.
41784         * modules/rawmemchr-tests (Files): Likewise.
41785         * modules/readlink-tests (Files): Likewise.
41786         * modules/remove-tests (Files): Likewise.
41787         * modules/rename-tests (Files): Likewise.
41788         * modules/renameat-tests (Files): Likewise.
41789         * modules/rmdir-tests (Files): Likewise.
41790         * modules/round-tests (Files): Likewise.
41791         * modules/roundf-tests (Files): Likewise.
41792         * modules/roundl-tests (Files): Likewise.
41793         * modules/select-tests (Files): Likewise.
41794         * modules/setenv-tests (Files): Likewise.
41795         * modules/sigaction-tests (Files): Likewise.
41796         * modules/sleep-tests (Files): Likewise.
41797         * modules/snprintf-posix-tests (Files): Likewise.
41798         * modules/snprintf-tests (Files): Likewise.
41799         * modules/sprintf-posix-tests (Files): Likewise.
41800         * modules/stat-tests (Files): Likewise.
41801         * modules/strcasestr-tests (Files): Likewise.
41802         * modules/strchrnul-tests (Files): Likewise.
41803         * modules/strerror-tests (Files): Likewise.
41804         * modules/strsignal-tests (Files): Likewise.
41805         * modules/strstr-tests (Files): Likewise.
41806         * modules/strtod-tests (Files): Likewise.
41807         * modules/strverscmp-tests (Files): Likewise.
41808         * modules/symlink-tests (Files): Likewise.
41809         * modules/symlinkat-tests (Files): Likewise.
41810         * modules/times-tests (Files): Likewise.
41811         * modules/trunc-tests (Files): Likewise.
41812         * modules/truncf-tests (Files): Likewise.
41813         * modules/truncl-tests (Files): Likewise.
41814         * modules/tsearch-tests (Files): Likewise.
41815         * modules/uname-tests (Files): Likewise.
41816         * modules/unlink-tests (Files): Likewise.
41817         * modules/unsetenv-tests (Files): Likewise.
41818         * modules/usleep-tests (Files): Likewise.
41819         * modules/utimensat-tests (Files): Likewise.
41820         * modules/vasprintf-tests (Files): Likewise.
41821         * modules/vdprintf-posix-tests (Files): Likewise.
41822         * modules/vfprintf-posix-tests (Files): Likewise.
41823         * modules/vprintf-posix-tests (Files): Likewise.
41824         * modules/vsnprintf-posix-tests (Files): Likewise.
41825         * modules/vsnprintf-tests (Files): Likewise.
41826         * modules/vsprintf-posix-tests (Files): Likewise.
41827         * modules/wcrtomb-tests (Files): Likewise.
41828         * modules/wcsnrtombs-tests (Files): Likewise.
41829         * modules/wcsrtombs-tests (Files): Likewise.
41830         * modules/wcwidth-tests (Files): Likewise.
41831         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
41832         * tests/test-isinf.c (isinf): Likewise.
41833         * tests/test-isnan.c (isnan): Likewise.
41834         * tests/test-signbit.c (signbit): Likewise.
41835         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
41836         declaration, either as macro or with correct signature.
41837         (select): Ensure function under test is declared with correct
41838         signature in correct header.
41839         * tests/test-atexit.c (atexit): Likewise.
41840         * tests/test-btowc.c (btowc): Likewise.
41841         * tests/test-canonicalize-lgpl.c (realpath)
41842         (canonicalize_file_name): Likewise.
41843         * tests/test-ceilf1.c (ceilf): Likewise.
41844         * tests/test-ceill.c (ceill): Likewise.
41845         * tests/test-chown.c (chown): Likewise.
41846         * tests/test-dprintf-posix.c (dprintf): Likewise.
41847         * tests/test-dup2.c (dup2): Likewise.
41848         * tests/test-dup3.c (dup3): Likewise.
41849         * tests/test-duplocale.c (duplocale): Likewise.
41850         * tests/test-fchdir.c (fchdir): Likewise.
41851         * tests/test-fchownat.c (fchownat): Likewise.
41852         * tests/test-fcntl.c (fcntl): Likewise.
41853         * tests/test-fdopendir.c (fdopendir): Likewise.
41854         * tests/test-fflush.c (fflush): Likewise.
41855         * tests/test-flock.c (flock): Likewise.
41856         * tests/test-floorf1.c (floorf): Likewise.
41857         * tests/test-floorl.c (floorl): Likewise.
41858         * tests/test-fnmatch.c (fnmatch): Likewise.
41859         * tests/test-fopen.c (fopen): Likewise.
41860         * tests/test-fprintf-posix.c (fprintf): Likewise.
41861         * tests/test-freopen.c (freopen): Likewise.
41862         * tests/test-frexp.c (frexp): Likewise.
41863         * tests/test-frexpl.c (frexpl): Likewise.
41864         * tests/test-fseek.c (fseek): Likewise.
41865         * tests/test-fseeko.c (fseeko): Likewise.
41866         * tests/test-fstatat.c (fstatat): Likewise.
41867         * tests/test-fsync.c (fsync): Likewise.
41868         * tests/test-ftell.c (ftell): Likewise.
41869         * tests/test-ftello.c (ftello): Likewise.
41870         * tests/test-futimens.c (futimens): Likewise.
41871         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
41872         (gai_strerror): Likewise.
41873         * tests/test-getcwd.c (getcwd): Likewise.
41874         * tests/test-getdelim.c (getdelim): Likewise.
41875         * tests/test-getdtablesize.c (getdtablesize): Likewise.
41876         * tests/test-getgroups.c (getgroups): Likewise.
41877         * tests/test-gethostname.c (gethostname): Likewise.
41878         * tests/test-getline.c (getline): Likewise.
41879         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
41880         Likewise.
41881         * tests/test-gettimeofday.c (gettimeofday): Likewise.
41882         * tests/test-glob.c (glob, globfree): Likewise.
41883         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
41884         * tests/test-inet_ntop.c (inet_ntop): Likewise.
41885         * tests/test-inet_pton.c (inet_pton): Likewise.
41886         * tests/test-isblank.c (isblank): Likewise.
41887         * tests/test-lchown.c (lchown): Likewise.
41888         * tests/test-ldexpl.c (ldexpl): Likewise.
41889         * tests/test-link.c (link): Likewise.
41890         * tests/test-linkat.c (linkat): Likewise.
41891         * tests/test-lseek.c (lseek): Likewise.
41892         * tests/test-lstat.c (lstat): Likewise.
41893         * tests/test-mbrtowc.c (mbrtowc): Likewise.
41894         * tests/test-mbsinit.c (mbsinit): Likewise.
41895         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
41896         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
41897         * tests/test-memchr.c (memchr): Likewise.
41898         * tests/test-memcmp.c (memcmp): Likewise.
41899         * tests/test-memmem.c (memmem): Likewise.
41900         * tests/test-memrchr.c (memrchr): Likewise.
41901         * tests/test-mkdir.c (mkdir): Likewise.
41902         * tests/test-mkdirat.c (mkdirat): Likewise.
41903         * tests/test-mkfifo.c (mkfifo): Likewise.
41904         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
41905         * tests/test-mknod.c (mknod): Likewise.
41906         * tests/test-nanosleep.c (nanosleep): Likewise.
41907         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
41908         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
41909         Likewise.
41910         * tests/test-open.c (open): Likewise.
41911         * tests/test-openat.c (openat): Likewise.
41912         * tests/test-perror.c (perror): Likewise.
41913         * tests/test-pipe2.c (pipe2): Likewise.
41914         * tests/test-poll.c (poll): Likewise.
41915         * tests/test-popen.c (popen, pclose): Likewise.
41916         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
41917         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
41918         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
41919         (posix_spawn_file_actions_destroy)
41920         (posix_spawn_file_actions_addclose)
41921         (posix_spawn_file_actions_addopen)
41922         (posix_spawn_file_actions_adddup2): Likewise.
41923         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
41924         * tests/test-pread.c (pread): Likewise.
41925         * tests/test-printf-posix.c (printf): Likewise.
41926         * tests/test-pty.c (openpty, forkpty): Likewise.
41927         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
41928         (random_r): Likewise.
41929         * tests/test-rawmemchr.c (rawmemchr): Likewise.
41930         * tests/test-readlink.c (readlink): Likewise.
41931         * tests/test-remove.c (remove): Likewise.
41932         * tests/test-rename.c (rename): Likewise.
41933         * tests/test-renameat.c (renameat): Likewise.
41934         * tests/test-rmdir.c (rmdir): Likewise.
41935         * tests/test-round1.c (round): Likewise.
41936         * tests/test-roundf1.c (roundf): Likewise.
41937         * tests/test-roundl.c (roundl): Likewise.
41938         * tests/test-setenv.c (setenv): Likewise.
41939         * tests/test-sigaction.c (sigaction): Likewise.
41940         * tests/test-sleep.c (sleep): Likewise.
41941         * tests/test-snprintf.c (snprintf): Likewise.
41942         * tests/test-sprintf-posix.c (sprintf): Likewise.
41943         * tests/test-stat.c (stat): Likewise.
41944         * tests/test-stpncpy.c (stpncpy): Likewise.
41945         * tests/test-strcasestr.c (strcasestr): Likewise.
41946         * tests/test-strchrnul.c (strchrnul): Likewise.
41947         * tests/test-strerror.c (strerror): Likewise.
41948         * tests/test-strsignal.c (strsignal): Likewise.
41949         * tests/test-strstr.c (strstr): Likewise.
41950         * tests/test-strtod.c (strtod): Likewise.
41951         * tests/test-strverscmp.c (strverscmp): Likewise.
41952         * tests/test-symlink.c (symlink): Likewise.
41953         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
41954         * tests/test-times.c (times): Likewise.
41955         * tests/test-trunc1.c (trunc): Likewise.
41956         * tests/test-truncf1.c (truncf): Likewise.
41957         * tests/test-truncl.c (truncl): Likewise.
41958         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
41959         Likewise.
41960         * tests/test-uname.c (uname): Likewise.
41961         * tests/test-unlink.c (unlink): Likewise.
41962         * tests/test-unlinkat.c (unlinkat): Likewise.
41963         * tests/test-unsetenv.c (unsetenv): Likewise.
41964         * tests/test-usleep.c (usleep): Likewise.
41965         * tests/test-utimensat.c (utimensat): Likewise.
41966         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
41967         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
41968         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
41969         * tests/test-vprintf-posix.c (vprintf): Likewise.
41970         * tests/test-vsnprintf.c (vsnprintf): Likewise.
41971         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
41972         * tests/test-wcrtomb.c (wcrtomb): Likewise.
41973         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
41974         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
41975         * tests/test-wcwidth.c (wcwidth): Likewise.
41976
41977         build: pull in conditional headers during GNULIB_POSIXCHECK
41978         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
41979         definitions from any conditionally-included headers.
41980         * lib/stdlib.in.h (includes): Likewise.
41981         * lib/unistd.in.h (includes): Likewise.
41982
41983 2009-12-24  Bruno Haible  <bruno@clisp.org>
41984
41985         * tests/test-argv-iter.c: Include header file being tested immediately
41986         after config.h.
41987         * tests/test-base64.c: Likewise.
41988         * tests/test-flock.c: Likewise.
41989         * tests/test-fsync.c: Likewise.
41990         * tests/test-getdate.c: Likewise.
41991         * tests/test-getndelim2.c: Likewise.
41992         * tests/test-isfinite.c: Likewise.
41993         * tests/test-isinf.c: Likewise.
41994         * tests/test-strerror.c: Likewise.
41995         * tests/test-strsignal.c: Likewise.
41996
41997 2009-12-23  Eric Blake  <ebb9@byu.net>
41998
41999         unistd: work around cygwin bug
42000         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
42001         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
42002         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
42003
42004 2009-12-23  Bruno Haible  <bruno@clisp.org>
42005
42006         localename: More tests.
42007         * tests/test-localename.c (SIZEOF): New macro.
42008         (categories): New variable.
42009         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
42010         test_locale_name_default): Add test w.r.t. thread locale.
42011         (test_locale_name_thread): New function.
42012         (main): Invoke it.
42013
42014         localename: Make aware of thread locale.
42015         * lib/localename.h (gl_locale_name_thread): New declaration.
42016         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
42017         behaviour with respect to thread locale.
42018         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
42019         <langinfo.h>, glthread/lock.h.
42020         (SIZE_BITS): New macro.
42021         (string_hash): New function.
42022         (struct hash_node): New type.
42023         (HASH_TABLE_SIZE): New macro.
42024         (struniq_hash_table, struniq_lock): New variables.
42025         (struniq): New function.
42026         (gl_locale_name_thread): New function.
42027         (gl_locale_name): Invoke it.
42028         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
42029         * modules/localename (Depends-on): Add lock.
42030         Reported by Mike Gran <spk121@yahoo.com>.
42031
42032 2009-12-23  Eric Blake  <ebb9@byu.net>
42033
42034         va-args: new module
42035         * modules/va-args: New file.
42036         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
42037         * MODULES.html.sh (Core language properties): Mention it.
42038
42039         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
42040         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
42041         named alias for __attribute__((__unused__)).
42042         * lib/chown.c: Update client.
42043         * lib/fchmodat.c: Likewise.
42044         * lib/fts.c: Likewise.
42045         * lib/getdate.y: Likewise.
42046         * lib/getgroups.c: Likewise.
42047         * lib/getopt.c: Likewise.
42048         * lib/getugroups.c: Likewise.
42049         * lib/mkdir.c: Likewise.
42050         * lib/mkfifo.c: Likewise.
42051         * lib/mkfifoat.c: Likewise.
42052         * lib/mknod.c: Likewise.
42053         * lib/mknodat.c: Likewise.
42054         * lib/readlink.c: Likewise.
42055         * lib/se-context.in.h: Likewise.
42056         * lib/se-selinux.in.h: Likewise.
42057         * lib/sockets.c: Likewise.
42058         * lib/symlink.c: Likewise.
42059         * lib/symlinkat.c: Likewise.
42060         * lib/unicodeio.c: Likewise.
42061         * lib/unistr.h: Likewise.
42062         * tests/test-areadlink.c: Likewise.
42063         * tests/test-areadlinkat.c: Likewise.
42064         * tests/test-filenamecat.c: Likewise.
42065         * tests/test-fseeko.c: Likewise.
42066         * tests/test-ftello.c: Likewise.
42067         * tests/test-getdate.c: Likewise.
42068         * tests/test-getgroups.c: Likewise.
42069         * tests/test-gethostname.c: Likewise.
42070         * tests/test-quotearg.c: Likewise.
42071         * tests/test-version-etc.c: Likewise.
42072         * tests/test-xalloc-die.c: Likewise.
42073         * tests/test-xfprintf-posix.c: Likewise.
42074         * tests/test-xprintf-posix.c: Likewise.
42075         * tests/test-xvasprintf.c: Likewise.
42076
42077         tests: avoid compiler warnings
42078         * tests/test-fcntl.c (main): Delete unused parameters.
42079         * tests/test-freopen-safer.c (main): Likewise.
42080         * tests/test-xalloc-die.c (main): Mark unused parameters.
42081         * tests/test-fseeko.c (main): Likewise.
42082         * tests/test-ftello.c (main): Likewise.
42083         * tests/test-nanosleep.c (main): Avoid declaration warning.
42084         * tests/test-sleep.c (main): Likewise.
42085         * tests/test-unsetenv.c (main): Silence warning about string
42086         literal.
42087         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
42088
42089 2009-12-23  Bruno Haible  <bruno@clisp.org>
42090
42091         * tests/test-localename.c (test_locale_name): New function, extracted
42092         from main. Also test mixed situations.
42093         (test_locale_name_posix, test_locale_name_environ,
42094         test_locale_name_default): New functions.
42095         (main): Invoke them all.
42096         * modules/localename-tests (configure.ac): Test for newlocale.
42097
42098 2009-12-23  Bruno Haible  <bruno@clisp.org>
42099
42100         unistd: Ensure getcwd gets declared before being overridden.
42101         * lib/unistd.in.h: Conditionally include <io.h>.
42102
42103 2009-12-22  Bruno Haible  <bruno@clisp.org>
42104
42105         wchar: Diagnose broken combination of glibc and gcc versions and flags.
42106         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
42107         (gl_WCHAR_H): Invoke it.
42108         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
42109         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
42110         Reported by Karl Berry <karl@freefriends.org>.
42111
42112 2009-12-22  Eric Blake  <ebb9@byu.net>
42113
42114         math, unistd: avoid redundant includes
42115         * lib/math.in.h (isnan): No need to re-include <math.h>.
42116         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
42117
42118         getsubopt: work around cygwin bug
42119         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
42120         avoid conflicting with system getsubopt.
42121         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
42122         bug.
42123
42124         getopt: synchronize from glibc
42125         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
42126         parameter order.  Adjust all callers.
42127         (_getopt_internal_r, main): Adjust quoting in error messages.
42128         Drop considerations for outdated POSIX 1003.2 error message.
42129         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
42130         callers.
42131         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
42132
42133         test-getopt: test stderr behavior
42134         * modules/getopt-posix-tests (Depends-on): Add dup2.
42135         * tests/test-getopt.c (ASSERT): Avoid stderr.
42136         (main): Move stderr to a temporary file.
42137         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
42138         Instead, add parameter to inform caller if output occurred.
42139         (test_getopt): Adjust all existing tests to expect silence, and
42140         add new tests of leading ":".
42141         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
42142         glibc shortcomings with leading "-:" or "+:" in optstring.
42143         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42144         Likewise.
42145         * doc/posix-functions/getopt.texi (getopt): Likewise.
42146
42147         test-getopt: enhance test
42148         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
42149         supports optind=0.
42150         * tests/test-getopt.c (OPTIND_MIN): Move...
42151         * tests/test-getopt.h (OPTIND_MIN): ...here.
42152         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
42153         Require that optind=0 works, since modern BSD supports it in
42154         addition to optreset, and since coreutils expects it.
42155         (test_getopt_long_only): New test.
42156         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
42157         glibc shortcomings with 'W;', and enforcement of optind=0.
42158         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42159         Likewise.
42160
42161 2009-12-21  Bruno Haible  <bruno@clisp.org>
42162
42163         localename: Improvements for MacOS X and Cygwin.
42164         * lib/localename.h (gl_locale_name_environ): New declaration.
42165         * lib/localename.c (gl_locale_name_environ): New function, extracted from
42166         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
42167         (gl_locale_name_posix): Invoke it.
42168         (gl_locale_name_default): Add comments. Use Windows native API also on
42169         Cygwin.
42170
42171 2009-12-21  Bruno Haible  <bruno@clisp.org>
42172
42173         Update list of Win32 locale ids.
42174         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
42175         (LANG_SAMI): Renamed from LANG_SAAMI.
42176         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
42177         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
42178         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
42179         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
42180         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
42181         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
42182         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
42183         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
42184         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
42185         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
42186         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
42187         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
42188         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
42189         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
42190         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
42191         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
42192         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
42193         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
42194         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
42195         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
42196         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
42197         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
42198         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
42199         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
42200         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
42201         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
42202         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
42203         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
42204         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
42205         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
42206         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
42207         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
42208         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
42209         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
42210         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
42211         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
42212         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
42213         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
42214         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
42215         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
42216         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
42217         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
42218         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
42219         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
42220         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
42221         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
42222         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
42223         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
42224         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
42225         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
42226         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
42227         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
42228         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
42229         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
42230         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
42231         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
42232         Add more languages and countries for Sami, Sorbian. Add more countries
42233         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
42234         for Pashto. Change country for Syriac, Tswana.
42235
42236 2009-12-21  Eric Blake  <ebb9@byu.net>
42237
42238         test-utimens: avoid spurious failure
42239         * tests/test-chown.h (nap): Factor...
42240         * tests/nap.h: ...into new file.
42241         * tests/test-lchown.h (nap): Avoid duplication.
42242         * tests/test-utimens-common.h (nap): Use shared implementation,
42243         necessary on file systems with 1-second resolution.
42244         * modules/chown-tests (Files): Include new file.
42245         * modules/fdutimensat-tests (Files): Likewise.
42246         * modules/futimens-tests (Files): Likewise.
42247         * modules/lchown-tests (Files): Likewise.
42248         * modules/openat-tests (Files): Likewise.
42249         * modules/utimens-tests (Files): Likewise.
42250         * modules/utimensat-tests (Files): Likewise.
42251
42252 2009-12-19  Eric Blake  <ebb9@byu.net>
42253
42254         futimens, utimensat: work around Linux bug
42255         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
42256         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
42257         * lib/utimensat.c (rpl_utimensat): Work around it.
42258         * lib/futimens.c (rpl_futimens): Adjust comment.
42259
42260         utimens: work around Linux ctime bug
42261         * lib/utimens.c (detect_ctime_bug): New helper function.
42262         (update_timespec): Differentiate between workaround needed for
42263         this bug vs. what is needed for systems that lack utimensat.
42264         (fdutimens, lutimens): Work around bug.
42265
42266         utimens: check for ctime update
42267         * tests/test-utimens-common.h (check_ctime): Define.
42268         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
42269         * tests/test-futimens.h (test_futimens): Likewise.
42270         * tests/test-lutimens.h (test_lutimens): Likewise.
42271         * doc/posix-functions/futimens.texi (futimens): Document the bug.
42272         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
42273
42274 2009-12-19  Bruno Haible  <bruno@clisp.org>
42275
42276         dprintf-posix: Check against memory leak fixed on 2009-12-15.
42277         * tests/test-dprintf-posix2.sh: New file.
42278         * tests/test-dprintf-posix2.c: New file.
42279         * modules/dprintf-posix-tests (Files): Add them.
42280         (configure.ac): Check for getrlimit and setrlimit.
42281         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
42282
42283 2009-12-19  Bruno Haible  <bruno@clisp.org>
42284
42285         fprintf-posix: Check against memory leak fixed on 2009-12-15.
42286         * tests/test-fprintf-posix3.sh: New file.
42287         * tests/test-fprintf-posix3.c: New file.
42288         * modules/fprintf-posix-tests (Files): Add them.
42289         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
42290
42291 2009-12-19  Eric Blake  <ebb9@byu.net>
42292
42293         dirfd: fix prototype
42294         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
42295         * lib/dirfd.c (dirfd): Likewise.
42296
42297         canonicalize: reduce memory usage
42298         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
42299         allocation to size.
42300         Reported by Solar Designer <solar@openwall.com>.
42301
42302 2009-12-19  Bruno Haible  <bruno@clisp.org>
42303
42304         New module attribute 'Applicability'.
42305         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
42306         * gnulib-tool: New option --extract-applicability.
42307         (func_usage): Document it.
42308         (sed_extract_prog): Recognize it.
42309         (func_get_applicability): New function.
42310         (func_import): Generalize handling of 'link-warning' module.
42311         * modules/link-warning (Applicability): New section.
42312         * modules/arg-nonnull (Applicability): New section.
42313         Repoted by Simon Josefsson <simon@josefsson.org>.
42314
42315 2009-12-19  Bruno Haible  <bruno@clisp.org>
42316
42317         fflush: tweak
42318         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
42319         * lib/fseeko.c (rpl_fseeko): Likewise.
42320
42321 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
42322
42323         * lib/gl_list.h: Fix typo in comment.
42324
42325 2009-12-16  Eric Blake  <ebb9@byu.net>
42326
42327         fcntl: use to simplify other modules
42328         * modules/cloexec (Depends-on): Add fcntl.
42329         * modules/fchdir (Depends-on): Likewise.
42330         * modules/fd-safer-flag (Depends-on): Likewise.
42331         * modules/unistd-safer (Depends-on): Likewise.
42332         * modules/dup3 (configure.ac): Set module indicator.
42333         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
42334         missing.
42335         * lib/fchdir.c (_gl_register_dup): Fix comment.
42336         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
42337         * lib/dup-safer.c (dup_safer): Likewise.
42338         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
42339         * lib/dup3.c (dup3): Likewise.
42340         * tests/test-fchdir.c (main): Enhance test.
42341         Fixes a dup_cloexec bug reported by Ondřej Vašík.
42342
42343         fcntl: port portions of fcntl to mingw
42344         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
42345         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
42346         replacement for mingw.
42347         * modules/fcntl (Description): Update.
42348         (Depends-on): Add dup2.
42349         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
42350         * modules/fcntl-h (Makefile.am): Substitute it.
42351         * lib/fcntl.in.h (fcntl): Update declaration.
42352         (F_DUPFD, F_GETFD): New macros, when needed.
42353         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42354         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
42355         * tests/test-fcntl.c (check_flags, main): Enhance test for items
42356         we now guarantee.
42357
42358         fcntl: work around cygwin bug in F_DUPFD
42359         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
42360         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
42361         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
42362         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
42363         * doc/posix-functions/fcntl.texi (fcntl): Document it.
42364
42365         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
42366         * modules/fcntl (Files): List new files.
42367         (configure.ac): Run a test.
42368         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
42369         * lib/fcntl.c (rpl_fcntl): Likewise.
42370         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
42371         (gl_FCNTL_H): Always replace fcntl.h.
42372         * modules/fcntl-h (Makefile.am): Substitute witnesses.
42373         * lib/fcntl.in.h (fcntl): Declare replacement.
42374         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
42375         needed, plus a witness.
42376         * doc/posix-functions/fcntl.texi (fcntl): Document this.
42377         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
42378         * tests/test-fcntl.c: New file.
42379         * modules/fcntl-tests: Likewise.
42380
42381         binary-io: avoid potential compilation warning
42382         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
42383         directives.
42384
42385         fflush: avoid compilation error on NetBSD
42386         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
42387         between off_t and fpos_t, since the latter is sometimes a struct.
42388         * lib/fseeko.c (rpl_fseeko): Likewise.
42389         Reported by Alexander Nasonov <alnsn@yandex.ru>.
42390
42391 2009-12-15  Eric Blake  <ebb9@byu.net>
42392
42393         fcntl-h, stdio, sys_ioctl: fix declarations
42394         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
42395         function must not take arguments.
42396         * lib/sys_ioctl.in.h (ioctl): Likewise.
42397         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
42398         (open): Add a link warning.
42399
42400 2009-12-15  Jim Meyering  <meyering@redhat.com>
42401
42402         areadlink, areadlink-with-size: relax license to LGPLv2+
42403         * modules/areadlink (License): Relax to LGPLv2+.
42404         * modules/areadlink-with-size (License): Likewise.
42405
42406 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
42407             Bruno Haible  <bruno@clisp.org>
42408
42409         *printf: Fix memory leak.
42410         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
42411         * lib/vfprintf.c (vfprintf): Likewise.
42412         * lib/dprintf.c (dprintf): Likewise.
42413         * lib/vdprintf.c (vdprintf): Likewise.
42414
42415 2009-12-14  Eric Blake  <ebb9@byu.net>
42416
42417         accept4: adjust module dependencies
42418         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
42419
42420         utimens: one more try at avoiding compiler warning
42421         * lib/utimens.c (lutimens): Lower scope of result.
42422
42423 2009-12-13  Bruno Haible  <bruno@clisp.org>
42424
42425         Move the malloc checking from module 'list' to new module 'xlist'.
42426         * modules/xlist: New file.
42427         * lib/gl_xlist.h: New file.
42428         * lib/gl_xlist.c: New file.
42429         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
42430         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
42431         gl_list_add_last, gl_list_add_before, gl_list_add_after,
42432         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
42433         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
42434         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
42435         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
42436         gl_sortedlist_nx_add): New declarations.
42437         (struct gl_list_implementation): Rename and change methods accordingly.
42438         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
42439         (gl_list_nx_create): Renamed from gl_list_create.
42440         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
42441         (gl_list_nx_set_at): Renamed from gl_list_set_at.
42442         (gl_list_nx_add_first): Renamed from gl_list_add_first.
42443         (gl_list_nx_add_last): Renamed from gl_list_add_last.
42444         (gl_list_nx_add_before): Renamed from gl_list_add_before.
42445         (gl_list_nx_add_after): Renamed from gl_list_add_after.
42446         (gl_list_nx_add_at): Renamed from gl_list_add_at.
42447         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
42448         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
42449         gl_list_create_empty.
42450         (gl_list_nx_create): Renamed from gl_list_create.
42451         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
42452         (gl_list_nx_set_at): Renamed from gl_list_set_at.
42453         (gl_list_nx_add_first): Renamed from gl_list_add_first.
42454         (gl_list_nx_add_last): Renamed from gl_list_add_last.
42455         (gl_list_nx_add_before): Renamed from gl_list_add_before.
42456         (gl_list_nx_add_after): Renamed from gl_list_add_after.
42457         (gl_list_nx_add_at): Renamed from gl_list_add_at.
42458         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
42459         * lib/gl_array_list.c: Don't include xalloc.h.
42460         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
42461         NULL upon out-of-memory.
42462         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
42463         out-of-memory.
42464         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
42465         Change return type to 'int'.
42466         (gl_array_nx_set_at): Renamed from gl_array_set_at.
42467         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
42468         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
42469         upon out-of-memory.
42470         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
42471         upon out-of-memory.
42472         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
42473         upon out-of-memory.
42474         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
42475         upon out-of-memory.
42476         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
42477         out-of-memory.
42478         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
42479         Update.
42480         (gl_array_list_implementation): Update.
42481         * lib/gl_carray_list.c: Don't include xalloc.h.
42482         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
42483         Return NULL upon out-of-memory.
42484         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
42485         out-of-memory.
42486         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
42487         Change return type to 'int'.
42488         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
42489         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
42490         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
42491         upon out-of-memory.
42492         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
42493         upon out-of-memory.
42494         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
42495         out-of-memory.
42496         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
42497         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
42498         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
42499         Update.
42500         (gl_carray_list_implementation): Update.
42501         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
42502         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
42503         gl_linked_create_empty. Return NULL upon out-of-memory.
42504         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
42505         out-of-memory.
42506         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
42507         Change return type to 'int'. Return -1 upon out-of-memory.
42508         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
42509         out-of-memory.
42510         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
42511         upon out-of-memory.
42512         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
42513         upon out-of-memory.
42514         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
42515         NULL upon out-of-memory.
42516         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
42517         upon out-of-memory.
42518         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
42519         out-of-memory.
42520         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
42521         Update.
42522         * lib/gl_linked_list.c: Don't include xalloc.h.
42523         (gl_linked_list_implementation): Update.
42524         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
42525         (add_to_bucket): Change return type to 'int'.
42526         (gl_linkedhash_list_implementation): Update.
42527         * lib/gl_anytree_list1.h (free_subtree): New function.
42528         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
42529         gl_tree_create_empty. Return NULL upon out-of-memory.
42530         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
42531         Change return type to 'int'. Return -1 upon out-of-memory.
42532         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
42533         out-of-memory.
42534         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
42535         (gl_tree_remove_node): New function, moved here from
42536         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
42537         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
42538         Update.
42539         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
42540         malloc, not xmalloc. Return NULL upon out-of-memory.
42541         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
42542         out-of-memory.
42543         (gl_tree_remove_node_from_tree): New function, extracted from
42544         gl_tree_remove_node.
42545         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
42546         upon out-of-memory.
42547         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
42548         out-of-memory.
42549         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
42550         upon out-of-memory.
42551         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
42552         upon out-of-memory.
42553         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
42554         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
42555         not xmalloc. Return NULL upon out-of-memory.
42556         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
42557         out-of-memory.
42558         (gl_tree_remove_node_from_tree): New function, extracted from
42559         gl_tree_remove_node.
42560         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
42561         upon out-of-memory.
42562         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
42563         out-of-memory.
42564         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
42565         upon out-of-memory.
42566         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
42567         upon out-of-memory.
42568         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
42569         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
42570         gl_anytree_list1.h before gl_anyavltree_list2.h.
42571         (gl_avltree_list_implementation): Update.
42572         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
42573         gl_anytree_list1.h before gl_anyavltree_list2.h.
42574         (gl_rbtree_list_implementation): Update.
42575         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
42576         Change return type to 'int'. Return -1 upon out-of-memory. Use
42577         __builtin_expect.
42578         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
42579         (gl_avltreehash_list_implementation): Update.
42580         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
42581         (gl_rbtreehash_list_implementation): Update.
42582         * modules/array-list (Depends-on): Remove xalloc.
42583         * modules/carray-list (Depends-on): Likewise.
42584         * modules/linked-list (Depends-on): Likewise.
42585         * modules/linkedhash-list (Depends-on): Likewise.
42586         * modules/avltree-list (Depends-on): Likewise.
42587         * modules/rbtree-list (Depends-on): Likewise.
42588         * modules/avltreehash-list (Depends-on): Likewise.
42589         * modules/rbtreehash-list (Depends-on): Likewise.
42590
42591         * modules/xsublist: New file.
42592         * lib/gl_xsublist.h: New file.
42593         * lib/gl_xsublist.c: New file.
42594         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
42595         (gl_sublist_nx_create): New declaration.
42596         * lib/gl_sublist.c: Don't include xalloc.h.
42597         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
42598         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
42599         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
42600         Change return type to 'int'. Return -1 upon out-of-memory.
42601         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
42602         upon out-of-memory.
42603         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
42604         NULL upon out-of-memory.
42605         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
42606         upon out-of-memory.
42607         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
42608         NULL upon out-of-memory.
42609         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
42610         NULL upon out-of-memory.
42611         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
42612         upon out-of-memory.
42613         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
42614         (gl_sublist_list_implementation): Update.
42615         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
42616         upon out-of-memory.
42617         * modules/sublist (Depends-on): Remove xalloc.
42618
42619         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
42620         * tests/test-carray_list.c: Likewise.
42621         * tests/test-linked_list.c: Likewise.
42622         * tests/test-linkedhash_list.c: Likewise.
42623         * tests/test-avltree_list.c: Likewise.
42624         * tests/test-rbtree_list.c: Likewise.
42625         * tests/test-avltreehash_list.c: Likewise.
42626         * tests/test-rbtreehash_list.c: Likewise.
42627         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
42628         * modules/carray-list-tests (Makefile.am): Likewise.
42629         * modules/linked-list-tests (Makefile.am): Likewise.
42630         * modules/linkedhash-list-tests (Makefile.am): Likewise.
42631         * modules/avltree-list-tests (Makefile.am): Likewise.
42632         * modules/rbtree-list-tests (Makefile.am): Likewise.
42633         * modules/avltreehash-list-tests (Makefile.am): Likewise.
42634         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
42635
42636         * NEWS: Mention the changes.
42637
42638         * lib/clean-temp.c: Include gl_xlist.h.
42639         * modules/clean-temp (Depends-on): Add xlist.
42640
42641         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
42642         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
42643
42644         * tests/test-array_oset.c: Include gl_xlist.h.
42645         * modules/array-oset-tests (Depends-on): Add xlist.
42646
42647         Reported by José E. Marchesi <jemarch@gnu.org>.
42648
42649 2009-12-13  Bruno Haible  <bruno@clisp.org>
42650
42651         Move the malloc checking from module 'oset' to new module 'xoset'.
42652         * modules/xoset: New file.
42653         * lib/gl_xoset.h: New file.
42654         * lib/gl_xoset.c: New file.
42655         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
42656         declarations.
42657         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
42658         (struct gl_oset_implementation): Rename and change methods accordingly.
42659         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
42660         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
42661         'int'. Mark as __warn_unused_result__.
42662         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
42663         gl_oset_create_empty.
42664         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
42665         'int'.
42666         * lib/gl_array_oset.c: Don't include xalloc.h.
42667         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
42668         malloc, not xmalloc.
42669         (grow): Change return type to 'int'. Don't call xalloc_die.
42670         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
42671         to 'int'.
42672         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
42673         'int'.
42674         (gl_array_oset_implementation): Update.
42675         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
42676         gl_tree_create_empty.
42677         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
42678         'int'.
42679         * lib/gl_avltree_oset.c: Don't include xalloc.h.
42680         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
42681         xmalloc.
42682         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
42683         not xmalloc.
42684         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
42685         xmalloc.
42686         (gl_avltree_oset_implementation): Update.
42687         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
42688         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
42689         xmalloc.
42690         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
42691         not xmalloc.
42692         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
42693         xmalloc.
42694         (gl_rbtree_oset_implementation): Update.
42695         * modules/array-oset (Depends-on): Remove xalloc.
42696         * modules/avltree-oset (Depends-on): Likewise.
42697         * modules/rbtree-oset (Depends-on): Likewise.
42698         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
42699         * tests/test-avltree_oset.c: Likewise.
42700         * tests/test-rbtree_oset.c: Likewise.
42701         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
42702         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
42703         * modules/rbtree-oset-tests (Makefile.am): Likewise.
42704         * NEWS: Mention the change.
42705
42706 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
42707
42708         maint.mk: allow a project to override release-prep commands
42709         * top/maint.mk (alpha, beta, stable): Move release-preparatory
42710         commands into a new rule.
42711         (release-prep): New rule.
42712         (release-prep-hook): New overridable variable.
42713
42714 2009-12-13  Bruno Haible  <bruno@clisp.org>
42715
42716         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
42717
42718 2009-12-13  Jim Meyering  <meyering@redhat.com>
42719
42720         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
42721         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
42722
42723 2009-12-12  Bruno Haible  <bruno@clisp.org>
42724
42725         duplocale: Tweak.
42726         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
42727
42728 2009-12-12  Karl Berry  <karl@gnu.org>
42729
42730         * config/srclist.txt (strtoll.c): tab changes, no more sync.
42731
42732 2009-12-12  Bruno Haible  <bruno@clisp.org>
42733
42734         * m4/po.m4: Undo incorrect untabification.
42735
42736 2009-12-12  Bruno Haible  <bruno@clisp.org>
42737
42738         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
42739         * modules/c-strtod (Depends-on): Add locale.
42740         * modules/c-strtold (Depends-on): Likewise.
42741
42742 2009-12-12  Bruno Haible  <bruno@clisp.org>
42743
42744         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
42745
42746 2009-12-11  Eric Blake  <ebb9@byu.net>
42747
42748         setenv: relax requirement in light of POSIX ruling
42749         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
42750         not NULL.
42751         * tests/test-setenv.c (main): Relax test.
42752         * tests/test-unsetenv.c (main): Likewise.
42753         * doc/posix-functions/setenv.texi (setenv): Document this.
42754         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42755
42756 2009-12-11  Bruno Haible  <bruno@clisp.org>
42757
42758         New module 'fd-safer-flag'.
42759         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
42760         * lib/dup-safer.c (dup_safer_flag): Remove function.
42761         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
42762         * lib/fd-safer.c (fd_safer_flag): Remove function.
42763         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
42764         * modules/cloexec (configure.ac): Drop indicator macro.
42765         * modules/fd-safer-flag: New file.
42766         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
42767         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
42768         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
42769
42770 2009-12-11  Bruno Haible  <bruno@clisp.org>
42771
42772         Tests for module 'nl_langinfo'.
42773         * modules/nl_langinfo-tests: New file.
42774         * tests/test-nl_langinfo.sh: New file.
42775         * tests/test-nl_langinfo.c: New file.
42776
42777         New module 'nl_langinfo'.
42778         * lib/nl_langinfo.c: New file.
42779         * m4/nl_langinfo.m4: New file.
42780         * modules/nl_langinfo: New file.
42781         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
42782
42783 2009-12-11  Bruno Haible  <bruno@clisp.org>
42784
42785         Tests for module 'langinfo'.
42786         * modules/langinfo-tests: New file.
42787         * tests/test-langinfo.c: New file.
42788
42789         New module 'langinfo'.
42790         * lib/langinfo.in.h: New file.
42791         * m4/langinfo_h.m4: New file.
42792         * modules/langinfo: New file.
42793         * doc/posix-headers/langinfo.texi: Mention the new module.
42794
42795 2009-12-11  Bruno Haible  <bruno@clisp.org>
42796
42797         * lib/config.charset: Untabify.
42798
42799 2009-12-11  Bruno Haible  <bruno@clisp.org>
42800
42801         * modules/unistd-safer (configure.ac): Drop indicator macro.
42802
42803 2009-12-11  Bruno Haible  <bruno@clisp.org>
42804
42805         Move pipe2-safer code to its own file.
42806         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
42807         * lib/pipe-safer.c (pipe2_safer): Remove function.
42808         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
42809         (Makefile.am): Add it to lib_SOURCES.
42810
42811 2009-12-10  Bruno Haible  <bruno@clisp.org>
42812
42813         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
42814
42815 2009-12-10  Bruno Haible  <bruno@clisp.org>
42816
42817         Declare which arguments expect non-NULL values, for GCC and clang.
42818         * build-aux/arg-nonnull.h: New file.
42819         * modules/arg-nonnull: New file.
42820         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
42821         (inet_ntop, inet_pton): Use it.
42822         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
42823         (closedir, dirfd, opendir, scandir, alphasort): Use it.
42824         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
42825         (open, openat): Use it.
42826         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
42827         (fnmatch): Use it.
42828         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
42829         (getopt, getopt_long, getopt_long_only): Use it.
42830         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
42831         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
42832         Use it.
42833         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
42834         (iconv_open): Use it.
42835         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
42836         (strtoimax, strtoumax): Use it.
42837         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
42838         (duplocale): Use it.
42839         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
42840         (frexp, frexpl): Use it.
42841         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
42842         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
42843         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
42844         (tsearch, tfind, tdelete, twalk): Use it.
42845         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
42846         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
42847         sigpending): Use it.
42848         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
42849         (posix_spawn, posix_spawnp, posix_spawnattr_init,
42850         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
42851         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
42852         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
42853         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
42854         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
42855         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
42856         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
42857         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
42858         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
42859         Use it.
42860         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
42861         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
42862         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
42863         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
42864         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
42865         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
42866         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
42867         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
42868         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
42869         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
42870         strtoull, unsetenv): Use it.
42871         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
42872         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
42873         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
42874         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
42875         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
42876         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
42877         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
42878         (strcasecmp, strncasecmp): Use it.
42879         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
42880         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
42881         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
42882         rpl_setsockopt): Use it.
42883         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
42884         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
42885         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
42886         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
42887         (gettimeofday): Use it.
42888         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
42889         (times): Use it.
42890         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
42891         (uname): Use it.
42892         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
42893         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
42894         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
42895         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
42896         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
42897         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
42898         unlinkat, write): Use it.
42899         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
42900         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
42901         * lib/argv-iter.h: Include arg-nonnull.h.
42902         (_ATTRIBUTE_NONNULL_): Remove macro.
42903         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
42904         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
42905         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
42906         optimization.
42907         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
42908         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
42909         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
42910         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
42911         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
42912         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
42913         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
42914         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
42915         * modules/arpa_inet (Depends-on): Add arg-nonnull.
42916         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
42917         * modules/dirent (Depends-on): Add arg-nonnull.
42918         (Makefile.am): Insert arg-nonnull.h into dirent.h.
42919         * modules/fcntl-h (Depends-on): Add arg-nonnull.
42920         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
42921         * modules/fnmatch (Depends-on): Add arg-nonnull.
42922         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
42923         * modules/getopt-posix (Depends-on): Add arg-nonnull.
42924         (Makefile.am): Insert arg-nonnull.h into getopt.h.
42925         * modules/glob (Depends-on): Add arg-nonnull.
42926         (Makefile.am): Insert arg-nonnull.h into glob.h.
42927         * modules/iconv_open (Depends-on): Add arg-nonnull.
42928         (Makefile.am): Insert arg-nonnull.h into iconv.h.
42929         * modules/inttypes (Depends-on): Add arg-nonnull.
42930         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
42931         * modules/locale (Depends-on): Add arg-nonnull.
42932         (Makefile.am): Insert arg-nonnull.h into locale.h.
42933         * modules/math (Depends-on): Add arg-nonnull.
42934         (Makefile.am): Insert arg-nonnull.h into math.h.
42935         * modules/netdb (Depends-on): Add arg-nonnull.
42936         (Makefile.am): Insert arg-nonnull.h into netdb.h.
42937         * modules/search (Depends-on): Add arg-nonnull.
42938         (Makefile.am): Insert arg-nonnull.h into search.h.
42939         * modules/signal (Depends-on): Add arg-nonnull.
42940         (Makefile.am): Insert arg-nonnull.h into signal.h.
42941         * modules/spawn (Depends-on): Add arg-nonnull.
42942         (Makefile.am): Insert arg-nonnull.h into spawn.h.
42943         * modules/stdio (Depends-on): Add arg-nonnull.
42944         (Makefile.am): Insert arg-nonnull.h into stdio.h.
42945         * modules/stdlib (Depends-on): Add arg-nonnull.
42946         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
42947         * modules/string (Depends-on): Add arg-nonnull.
42948         (Makefile.am): Insert arg-nonnull.h into string.h.
42949         * modules/strings (Depends-on): Add arg-nonnull.
42950         (Makefile.am): Insert arg-nonnull.h into strings.h.
42951         * modules/sys_socket (Depends-on): Add arg-nonnull.
42952         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
42953         * modules/sys_stat (Depends-on): Add arg-nonnull.
42954         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
42955         * modules/sys_time (Depends-on): Add arg-nonnull.
42956         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
42957         * modules/sys_times (Depends-on): Add arg-nonnull.
42958         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
42959         * modules/sys_utsname (Depends-on): Add arg-nonnull.
42960         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
42961         * modules/time (Depends-on): Add arg-nonnull.
42962         (Makefile.am): Insert arg-nonnull.h into time.h.
42963         * modules/unistd (Depends-on): Add arg-nonnull.
42964         (Makefile.am): Insert arg-nonnull.h into unistd.h.
42965         * modules/wchar (Depends-on): Add arg-nonnull.
42966         (Makefile.am): Insert arg-nonnull.h into wchar.h.
42967         * modules/argv-iter (Depends-on): Add arg-nonnull.
42968         * tests/test-canonicalize.c (null_ptr): New function.
42969         (main): Use it.
42970         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
42971         (main): Use it.
42972         * tests/test-memmem.c (null_ptr): New function.
42973         (main): Use it.
42974         Reported by Jim Meyering.
42975
42976 2009-12-10  Bruno Haible  <bruno@clisp.org>
42977
42978         Use spaces for indentation, not tabs.
42979         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
42980         * m4/*.m4: Untabify.
42981         * build-aux/*.h: Untabify.
42982         * tests/**/*.[hc]: Untabify.
42983         * README: New section "Indent with spaces, not TABs", based on
42984         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
42985         * NEWS: Mention the change.
42986
42987 2009-12-10  Bruno Haible  <bruno@clisp.org>
42988
42989         pty test: Fix link error.
42990         * modules/pty-tests (Makefile.am): Add the default LDADD value to
42991         test_pty_LDADD.
42992
42993 2009-12-07  Simon Josefsson  <simon@josefsson.org>
42994
42995         * modules/pty: New file.
42996         * modules/pty-tests: New file.
42997         * m4/pty.m4: New file.
42998         * tests/test-pty.c: New file.
42999         * doc/glibc-headers/pty.texi: Modified.
43000         * doc/glibc-functions/forkpty.texi: Modified.
43001         * doc/glibc-functions/openpty.texi: Modified.
43002
43003 2009-12-10  Bruno Haible  <bruno@clisp.org>
43004
43005         Avoid syntax error in C++ mode.
43006         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
43007
43008 2009-12-10  Bruno Haible  <bruno@clisp.org>
43009
43010         Use sed with option -e.
43011         * gnulib-tool (func_version, func_emit_copyright_notice,
43012         func_emit_initmacro_end, func_import, func_create_testdir): Pass
43013         option -e to sed.
43014         * modules/link-warning (Makefile.am): Likewise.
43015
43016 2009-12-10  Jim Meyering  <meyering@redhat.com>
43017
43018         mgetgroups: do not write bytes beyond end of malloc'd buffer
43019         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
43020         username, we call getgroups with a one-element-shorter buffer,
43021         but still told it the length was original, max_n_groups.
43022
43023 2009-12-09  Eric Blake  <ebb9@byu.net>
43024
43025         cloexec: relax license
43026         * modules/cloexec (Maintainer): Add myself.
43027         (License): Use LGPL, not GPL.
43028
43029         link-warning: optimize generation
43030         * modules/link-warning (Makefile.am): Reduce process usage.
43031
43032 2009-12-09  Bruno Haible  <bruno@clisp.org>
43033
43034         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
43035         workaround was added on 2009-11-17.
43036
43037 2009-12-09  Jim Meyering  <meyering@redhat.com>
43038             Bruno Haible  <bruno@clisp.org>
43039
43040         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
43041         * modules/link-warning (Makefile.am): Make the comment-removing sed
43042         command more robust in the face of bootstrap-prepended comment lines.
43043
43044 2009-12-09  Bruno Haible  <bruno@clisp.org>
43045
43046         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
43047         most one group.
43048
43049 2009-12-09  Simon Josefsson <simon@josefsson.org>
43050             Bruno Haible  <bruno@clisp.org>
43051
43052         * build-aux/link-warning.h: Add copyright notice.
43053         * modules/link-warning (Makefile.am): Generate link-warning.h from
43054         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
43055         * NEWS: Mention change in link-warning module.
43056         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
43057         * modules/dirent (Makefile.am): Add dependency to dirent.h.
43058         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
43059         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
43060         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
43061         * modules/math (Makefile.am): Add dependency to math.h.
43062         * modules/search (Makefile.am): Add dependency to search.h.
43063         * modules/signal (Makefile.am): Add dependency to signal.h.
43064         * modules/spawn (Makefile.am): Add dependency to spawn.h.
43065         * modules/stdio (Makefile.am): Add dependency to stdio.h.
43066         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
43067         * modules/string (Makefile.am): Add dependency to string.h.
43068         * modules/strings (Makefile.am): Add dependency to strings.h.
43069         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
43070         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
43071         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
43072         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
43073         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
43074         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
43075         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
43076         * modules/unistd (Makefile.am): Add dependency to unistd.h.
43077         * modules/wchar (Makefile.am): Add dependency to wchar.h.
43078
43079 2009-12-09  Bruno Haible  <bruno@clisp.org>
43080
43081         fchdir: Optimize away rpl_fstat when possible.
43082         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
43083         REPLACE_OPEN_DIRECTORY.
43084         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
43085
43086 2009-12-09  Bruno Haible  <bruno@clisp.org>
43087
43088         * lib/fchdir.c: Update comment.
43089
43090 2009-12-09  Bruno Haible  <bruno@clisp.org>
43091
43092         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
43093
43094 2009-12-08  Eric Blake  <ebb9@byu.net>
43095
43096         fchdir: avoid memory leak on re-registration.
43097         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
43098
43099 2009-12-08  Jim Meyering  <meyering@redhat.com>
43100
43101         init.sh: avoid Solaris 10 /bin/sh portability problem
43102         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
43103         sourced script:
43104           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
43105           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
43106           bar
43107         tests/init.sh relied on that, accepting a --set-path=DIR argument,
43108         and two tests used that idiom.
43109         * tests/init.sh: Update suggested usage comments.
43110         (path_prepend_): New function, to be used in place
43111         of the --src-path=DIR option.
43112         (setup_): Move PATH-prepending code into path_prepend_.
43113         * tests/test-pread.sh: Adapt to new usage.
43114         * tests/test-xalloc-die.sh: Likewise.
43115
43116 2009-12-08  Simon Josefsson  <simon@josefsson.org>
43117
43118         * doc/gnulib.texi (Glibc pty.h): Add.
43119         * doc/glibc-functions/forkpty.texi: Add.
43120         * doc/glibc-functions/openpty.texi: Add.
43121         Suggested by Bruno Haible.
43122
43123 2009-12-08  Eric Blake  <ebb9@byu.net>
43124
43125         fchdir: fix logic bugs
43126         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
43127         * tests/test-fchdir.c (main): Enhance test.
43128         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
43129         is in use.
43130
43131         dup2: fix logic bugs
43132         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
43133         REPLACE_DUP2 to decide when rpl_dup2 is needed.
43134         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
43135         exists.
43136         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
43137
43138 2009-12-07  Eric Blake  <ebb9@byu.net>
43139
43140         unlink: fix m4 detection
43141         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
43142
43143         unistd-safer: add unit test
43144         * modules/unistd-safer-tests: New file.
43145         * tests/test-dup-safer.c: Likewise.
43146         * tests/test-cloexec.c (setmode): Avoid compiler warning.
43147         * tests/test-dup2.c (setmode): Likewise.
43148         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
43149
43150         cloexec: preserve text vs. binary across dup_cloexec
43151         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
43152         mode.
43153         * modules/dup2-tests (Depends-on): Add binary-io.
43154         * modules/cloexec-tests (Depends-on): Likewise.
43155         * tests/test-dup2.c (setmode, is_mode): New helpers.
43156         (main): Add tests that translation mode is preserved.
43157         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
43158         Reported by Bruno Haible.
43159
43160         mgetgroups: reduce duplicate listings
43161         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
43162         resulting array.
43163         * tests/test-chown.h (test_chown): Simplify client.
43164         * tests/test-lchown.h (test_lchown): Likewise.
43165
43166 2009-12-06  Bruno Haible  <bruno@clisp.org>
43167
43168         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
43169         value.
43170
43171 2009-12-06  Bruno Haible  <bruno@clisp.org>
43172
43173         * lib/progname.c: Include stdio.h, stdlib.h.
43174         (set_program_name): Reject a NULL argument.
43175
43176 2009-12-05  Eric Blake  <ebb9@byu.net>
43177
43178         pipe2-safer: new module
43179         * modules/pipe2-safer: New file.
43180         * lib/unistd-safer.h (pipe2_safer): New prototype.
43181         * lib/unistd--.h (pipe2): New wrapper.
43182         * lib/pipe-safer.c (pipe2_safer): New function.
43183         * modules/pipe (Depends-on): Add pipe2-safer.
43184         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
43185
43186         stdlib-safer: preserve cloexec flag for mkostemp[s]
43187         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
43188         fd_safer_flag.
43189
43190         unistd-safer: allow preservation of cloexec status via flag
43191         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
43192         prototypes.
43193         * lib/dup-safer.c (dup_safer_flag): New function.
43194         * lib/fd-safer.c (fd_safer_flag): Likewise.
43195         * modules/cloexec (configure.ac): Set witness.
43196
43197         test-dup2: enhance test
43198         * modules/dup2-tests (Depends-on): Add cloexec.
43199         * tests/test-dup2.c (main): Enhance test.
43200
43201         cloexec: add dup_cloexec
43202         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
43203         header and comments.
43204         * lib/cloexec.c (set_cloexec_flag): Add comments.
43205         (dup_cloexec): New function, with mingw implementation borrowed
43206         from...
43207         * lib/w32spawn.h (dup_noinherit): ...here.
43208         * modules/execute (Depends-on): Add cloexec.
43209         * modules/pipe (Depends-on): Likewise.
43210         * modules/cloexec (Depends-on): Add dup2.
43211         * modules/cloexec-tests (Files): New file.
43212         * tests/test-cloexec.c: Likewise.
43213
43214         test-xalloc-die: fix test for mingw
43215         * modules/xalloc-die-tests (Files): Add tests/init.sh.
43216         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
43217         directory and .exe suffix off argv[0] output.
43218
43219         test-fseeko: fix test for mingw
43220         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
43221         than undefining fseek, so test will pass on mingw.
43222
43223 2009-12-05  Bruno Haible  <bruno@clisp.org>
43224
43225         * lib/progname.h (set_program_name): Clarify specification.
43226         * lib/progname.c (set_program_name): Likewise.
43227         Reported by Jim Meyering.
43228
43229 2009-12-05  Jim Meyering  <meyering@redhat.com>
43230
43231         maint.mk: backslash-escape parens in default regexp
43232         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
43233         backslash-escape the literal parentheses.
43234
43235         maint.mk: news-date-check: use grep -E
43236         * top/maint.mk (today): Define a Make variable, not a...
43237         (news-date-check): ...shell variable.
43238         (news-date-regexp): Use the Make variable.
43239         Use grep's -E option.  Change the failing diagnostic to mention
43240         the variable, $(news-date-regexp).
43241
43242 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
43243
43244         maintainer-makefile: allow customization of NEWS entry format
43245         * top/maint.mk (news-date-regexp): New overridable variable.
43246         (news-date-check): Use it.
43247
43248 2009-12-04  Eric Blake  <ebb9@byu.net>
43249
43250         mgetgroups: add xgetgroups, and avoid ENOSYS failures
43251         * lib/mgetgroups.h (xgetgroups): New prototype.
43252         * lib/mgetgroups.c (xgetgroups): New wrapper.
43253         (mgetgroups): Handle ENOSYS.
43254         * modules/mgetgroups (Depends-on): Add realloc.
43255         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
43256
43257         mgetgroups: avoid argument promotion issues with -1
43258         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
43259         for invalid gid_t.
43260         * tests/test-chown.h (getegid, test_chown): Likewise.
43261         * tests/test-lchown.h (getegid, test_lchown): Likewise.
43262
43263 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
43264
43265         exclude: Fix header file problems.
43266         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
43267
43268 2009-12-01  Jim Meyering  <meyering@redhat.com>
43269
43270         fts: fts_open: do not let an empty string cause immediate failure
43271         This is required in support of GNU rm, for which the command
43272         "rm A '' B" must process and remove both A and B, in spite of
43273         the empty string argument.
43274         * lib/fts.c (fts_open): Do not let the presence of an empty string
43275         cause fts_open to fail immediately.  Most fts-using tools must be
43276         able to process all arguments, in order, and can be expected to
43277         diagnose such arguments themselves.
43278
43279 2009-11-30  Eric Blake  <ebb9@byu.net>
43280
43281         utimens: fix compilation error
43282         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
43283         Declare variable at right scope.
43284
43285 2009-11-29  Jim Meyering  <meyering@redhat.com>
43286
43287         bootstrap: handle perl-5.11's changed --version output
43288         * build-aux/bootstrap (get_version): Handle perl separately,
43289         since perl-5.11's --version output is different.
43290
43291 2009-11-28  Jim Meyering  <meyering@redhat.com>
43292
43293         userspec: depend on the inttostr module, too
43294         * modules/userspec (Depends-on): Add inttostr.
43295
43296         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
43297         * lib/userspec.c (parse_with_separator): Do not accept a user ID
43298         number of MAXUID when it evaluates to (uid_t) -1.
43299         Likewise for group ID.  Reported by Matt McCutchen in
43300         <http://savannah.gnu.org/bugs/?28113>
43301
43302         userspec: reformat to use spaces, not TABs
43303         * lib/userspec.c: Expand TABs to spaces.
43304         Add Emacs' "indent-tabs-mode: nil" hint.
43305
43306 2009-11-27  Eric Blake  <ebb9@byu.net>
43307
43308         getopt-gnu: flush out another BSD bug
43309         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
43310         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
43311         flush out BSD bug.
43312         * tests/test-getopt.h (test_getopt): End lists with NULL.
43313         * tests/test-getopt_long.h (test_getopt_long): Likewise.
43314         (test_getopt_long_posix): Enhance test.
43315         * modules/getopt-posix-tests (Depends-on): Add stdbool.
43316         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
43317         getopt-gnu.
43318         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
43319         Likewise.
43320
43321 2009-11-27  Simon Josefsson  <simon@josefsson.org>
43322
43323         * modules/idpriv-droptemp-tests (Notice): Fix text.
43324
43325 2009-11-27  Jim Meyering  <meyering@redhat.com>
43326
43327         test-xalloc-die: avoid spurious failure due to libtool argv difference
43328         In a libtool-enabled project, this test would fail due to a difference
43329         in the emitted program name, e.g.,
43330         -test-xalloc-die: memory exhausted
43331         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
43332         Use program to avoid that.
43333         * modules/xalloc-die-tests (Depends-on): Add progname.
43334         * tests/test-xalloc-die.c: Include progname.h".
43335         (program_name): Remove decl.
43336         (main): Call set_program_name.
43337         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
43338
43339 2009-11-26  Richard Jones  <rjones@redhat.com>
43340
43341         w32sock: leave win32 error in place.
43342         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
43343
43344 2009-11-26  Eric Blake  <ebb9@byu.net>
43345
43346         init.sh: suggest to use skip_ and fail_ functions in comments
43347         * tests/init.sh: Add a sentence.
43348
43349 2009-11-25  Bruno Haible  <bruno@clisp.org>
43350
43351         init.sh: add documentation in comments
43352         * tests/init.sh: Add some developer and user documentation.
43353
43354 2009-11-26  Jim Meyering  <meyering@redhat.com>
43355
43356         init.sh: accommodate even those who specify bogus srcdir manually
43357         * tests/init.sh: Normally, srcdir is guaranteed by automake and
43358         configure-time tests to be sanitized, so that there is no need to
43359         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
43360         (with no double quotes) suffices.  However, since tests may be
43361         invoked manually, and since you may explicitly set srcdir to the
43362         name of a directory containing spaces, do quote its uses here.
43363         * tests/test-pread.sh: Likewise.
43364         Suggested by Bruno Haible.
43365
43366         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
43367         * tests/test-pread.sh: Write no data into the pipe, because
43368         test-pread actually reads none.  This avoids a diagnostic,
43369         "bash: echo: write error: Broken pipe", that arises in the unusual
43370         event something is ignoring SIGPIPE, and might be interpreted
43371         as some sort of failure.  Reported by Bruno Haible.
43372
43373 2009-11-25  Jim Meyering  <meyering@redhat.com>
43374
43375         test-pread: cover failure with ESPIPE and EINVAL
43376         * tests/test-pread.c (main): Test for failure, too.
43377         * tests/test-pread.sh: Invoke with stdin on a pipe.
43378         Suggested by Eric Blake.
43379
43380         pread: improvement and fix
43381         * modules/pread (Depends-on): Depend on lseek, for portability to
43382         e.g., mingw.  Suggested by Eric Blake.
43383         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
43384
43385         unistd.in.h: correct declaration of pread
43386         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
43387         Reported by Richard W.M. Jones.
43388
43389         test-pread.sh: distribute the test script
43390         * modules/pread-tests (Files): Include test-pread.sh.
43391
43392         test-pread.sh: clean up
43393         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
43394         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
43395         That is unnecessary, since it's always ".".
43396         Suggestion from Eric Blake.
43397
43398         test-pread.sh: make executable
43399         * tests/test-pread.sh: Set executable bit.
43400         Reported by Eric Blake.
43401
43402         correct typo in test-pread.sh
43403         * tests/test-pread.sh: Add #! line.
43404
43405         test pread
43406         * tests/test-pread.c: New file.
43407         * tests/test-pread.sh: Likewise.
43408         * modules/pread-tests: Likewise.
43409
43410         pread: new module
43411         * modules/pread: New file.
43412         * lib/unistd.in.h (pread): Define/declare.
43413         * lib/pread.c (pread): New file.
43414         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
43415         * modules/unistd (Makefile.am): Substitute witnesses.
43416         * doc/posix-functions/pread.texi (pread): Update.
43417         * MODULES.html.sh: Add pread.
43418
43419 2009-11-25  Jim Meyering  <meyering@redhat.com>
43420
43421         tests/init.sh: new file to be used via most *.sh tests
43422         * tests/init.sh: New file.
43423
43424 2009-11-25  Eric Blake  <ebb9@byu.net>
43425
43426         utimens: work around older Linux failure with symlinks
43427         * lib/utimens.c (lutimensat_works_really): New variable.
43428         (fdutimens, lutimens): Use it to manage kernels that support
43429         nanosecond times on files, but not on symlinks.
43430         Reported by Ondřej Vašík.
43431
43432         utimes: fix configure grammar
43433         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
43434
43435 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
43436
43437         regex: Fix fastmap for multibyte character ranges.
43438         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
43439         characters when a multibyte character range is included.
43440
43441 2009-11-22  Andy Wingo  <wingo@pobox.com>
43442
43443         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
43444         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
43445
43446 2009-11-24  Bruno Haible  <bruno@clisp.org>
43447
43448         doc: Most *_l functions exist in MacOS X 10.5.
43449         * doc/posix-functions/duplocale.texi: Update platforms list.
43450         * doc/posix-functions/freelocale.texi: Likewise.
43451         * doc/posix-functions/newlocale.texi: Likewise.
43452         * doc/posix-functions/uselocale.texi: Likewise.
43453         * doc/posix-functions/isalnum_l.texi: Likewise.
43454         * doc/posix-functions/isalpha_l.texi: Likewise.
43455         * doc/posix-functions/isblank_l.texi: Likewise.
43456         * doc/posix-functions/iscntrl_l.texi: Likewise.
43457         * doc/posix-functions/isdigit_l.texi: Likewise.
43458         * doc/posix-functions/isgraph_l.texi: Likewise.
43459         * doc/posix-functions/islower_l.texi: Likewise.
43460         * doc/posix-functions/isprint_l.texi: Likewise.
43461         * doc/posix-functions/ispunct_l.texi: Likewise.
43462         * doc/posix-functions/isspace_l.texi: Likewise.
43463         * doc/posix-functions/isupper_l.texi: Likewise.
43464         * doc/posix-functions/iswalnum_l.texi: Likewise.
43465         * doc/posix-functions/iswalpha_l.texi: Likewise.
43466         * doc/posix-functions/iswblank_l.texi: Likewise.
43467         * doc/posix-functions/iswcntrl_l.texi: Likewise.
43468         * doc/posix-functions/iswctype_l.texi: Likewise.
43469         * doc/posix-functions/iswdigit_l.texi: Likewise.
43470         * doc/posix-functions/iswgraph_l.texi: Likewise.
43471         * doc/posix-functions/iswlower_l.texi: Likewise.
43472         * doc/posix-functions/iswprint_l.texi: Likewise.
43473         * doc/posix-functions/iswpunct_l.texi: Likewise.
43474         * doc/posix-functions/iswspace_l.texi: Likewise.
43475         * doc/posix-functions/iswupper_l.texi: Likewise.
43476         * doc/posix-functions/iswxdigit_l.texi: Likewise.
43477         * doc/posix-functions/isxdigit_l.texi: Likewise.
43478         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
43479         * doc/posix-functions/strcasecmp_l.texi: Likewise.
43480         * doc/posix-functions/strcoll_l.texi: Likewise.
43481         * doc/posix-functions/strfmon_l.texi: Likewise.
43482         * doc/posix-functions/strftime_l.texi: Likewise.
43483         * doc/posix-functions/strncasecmp_l.texi: Likewise.
43484         * doc/posix-functions/strxfrm_l.texi: Likewise.
43485         * doc/posix-functions/tolower_l.texi: Likewise.
43486         * doc/posix-functions/toupper_l.texi: Likewise.
43487         * doc/posix-functions/towctrans_l.texi: Likewise.
43488         * doc/posix-functions/towlower_l.texi: Likewise.
43489         * doc/posix-functions/towupper_l.texi: Likewise.
43490         * doc/posix-functions/wcscoll_l.texi: Likewise.
43491         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
43492         * doc/posix-functions/wctrans_l.texi: Likewise.
43493         * doc/posix-functions/wctype_l.texi: Likewise.
43494         * doc/glibc-functions/strptime_l.texi: Likewise.
43495         * doc/glibc-functions/strtod_l.texi: Likewise.
43496         * doc/glibc-functions/strtof_l.texi: Likewise.
43497         * doc/glibc-functions/strtol_l.texi: Likewise.
43498         * doc/glibc-functions/strtold_l.texi: Likewise.
43499         * doc/glibc-functions/strtoll_l.texi: Likewise.
43500         * doc/glibc-functions/strtoul_l.texi: Likewise.
43501         * doc/glibc-functions/strtoull_l.texi: Likewise.
43502         * doc/glibc-functions/wcsftime_l.texi: Likewise.
43503         * doc/glibc-functions/wcstod_l.texi: Likewise.
43504         * doc/glibc-functions/wcstof_l.texi: Likewise.
43505         * doc/glibc-functions/wcstol_l.texi: Likewise.
43506         * doc/glibc-functions/wcstold_l.texi: Likewise.
43507         * doc/glibc-functions/wcstoll_l.texi: Likewise.
43508         * doc/glibc-functions/wcstoul_l.texi: Likewise.
43509         * doc/glibc-functions/wcstoull_l.texi: Likewise.
43510
43511 2009-11-24  Bruno Haible  <bruno@clisp.org>
43512
43513         duplocale: Fix logic bug.
43514         * lib/duplocale.c: Don't include <langinfo.h>.
43515         (_NL_LOCALE_NAME): Remove macro.
43516         (rpl_duplocale): Use setlocale instead of nl_langinfo.
43517         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
43518
43519 2009-11-23  Jim Meyering  <meyering@redhat.com>
43520
43521         test-update-copyright: don't hard-code /usr/bin/perl
43522         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
43523         perl to print the current year.  Gilles Espinasse reported that
43524         the replaced use of perl was hard-coded as /usr/bin/perl.
43525
43526 2009-11-23  Bruno Haible  <bruno@clisp.org>
43527
43528         duplocale: Add support for glibc 2.3.x.
43529         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
43530
43531 2009-11-22  Bruno Haible  <bruno@clisp.org>
43532
43533         vasnprintf: Tiny optimization.
43534         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
43535         MacOS X.
43536
43537 2009-11-22  Bruno Haible  <bruno@clisp.org>
43538
43539         Tests for module 'duplocale'.
43540         * modules/duplocale-tests: New file.
43541         * tests/test-duplocale.c: New file.
43542
43543         New module 'duplocale'.
43544         * m4/duplocale.m4: New file.
43545         * lib/locale.in.h (duplocale): New declaration.
43546         * lib/duplocale.c: New file.
43547         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
43548         gl_LOCALE_H_DEFAULTS): New macros.
43549         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
43550         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
43551         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
43552         REPLACE_DUPLOCALE.
43553         * modules/duplocale: New file.
43554         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
43555
43556 2009-11-22  Bruno Haible  <bruno@clisp.org>
43557
43558         * modules/locale-tests (configure.ac): Test for newlocale function.
43559         * tests/test-locale.c: When the system has extended locale functions,
43560         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
43561
43562         locale: Make locale_t available when possible.
43563         * lib/locale.in.h: Include <xlocale.h> when it exists.
43564         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
43565         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
43566         * modules/locale (Depends-on): Add extensions.
43567         (Makefile.am): Also substitute HAVE_XLOCALE_H.
43568         * doc/posix-headers/locale.texi: Document the problem with locale_t.
43569
43570 2009-11-22  Bruno Haible  <bruno@clisp.org>
43571
43572         Add comments.
43573         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
43574         invocation.
43575         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
43576         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
43577         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
43578
43579 2009-11-22  Bruno Haible  <bruno@clisp.org>
43580
43581         error: account for the possibility of freopen (stdout).
43582         * lib/error.c: Include <unistd.h>.
43583         (flush_stdout): New function, extracted from error and error_at_line.
43584         Determine stdout's fd dynamically.
43585         (error, error_at_line): Invoke flush_stdout.
43586         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
43587         * modules/error (Depends-on): Add unistd.
43588
43589 2009-11-22  Bruno Haible  <bruno@clisp.org>
43590
43591         diffseq: Add comment.
43592         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
43593
43594 2009-11-22  Jim Meyering  <meyering@redhat.com>
43595
43596         c-stack: avoid defining an unused static function
43597         * lib/c-stack.c (find_stack_direction): Do not define this function
43598         when it will not be used.
43599
43600         diffseq: avoid spurious gcc warnings
43601         * lib/diffseq.h (IF_LINT2): Define.
43602         (compareseq): Use it to initialize two members of "part".
43603         This avoids two used-uninitialized warnings.
43604
43605 2009-11-21  Jim Meyering  <meyering@redhat.com>
43606
43607         c-stack: avoid "ignoring return value of `write'" warning
43608         * lib/c-stack.c: Include "ignore-value.h".
43609         (die): Explicitly ignore each write return value.
43610         * modules/c-stack (Depends-on): Add ignore-value.
43611
43612 2009-11-21  Bruno Haible  <bruno@clisp.org>
43613
43614         diffseq: reduce scope of variable 'best'.
43615         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
43616         variable, earlier used for two different purposes.
43617
43618 2009-11-21  Jim Meyering  <meyering@redhat.com>
43619
43620         diffseq: remove useless assignment to "best"
43621         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
43622         assignment.  At that point "best" is already guaranteed to be zero.
43623
43624 2009-11-20  Eric Blake  <ebb9@byu.net>
43625
43626         build: mention ftp redirector in release announcements
43627         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
43628         values that used to come from cfg.mk; mention FTP redirect URL.
43629         * build-aux/announce-gen: Mention the mirror list.
43630         Suggested by Karl Berry.
43631
43632         nanosleep: improve port to mingw
43633         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
43634         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
43635         LIB_NANOSLEEP, but only when needed.
43636         * modules/select (Link): Document LIBSOCKET.
43637         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
43638         enough.
43639
43640         nanosleep: work around cygwin bug
43641         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
43642         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
43643         bug.
43644         (getnow): Delete, not needed.
43645         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
43646         LIB_CLOCK_GETTIME.
43647         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
43648         clock-time, gettime.
43649         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
43650         bug.
43651         * modules/nanosleep-tests: New test.
43652         * tests/test-nanosleep.c: New file.
43653
43654         sleep: work around cygwin bug
43655         * lib/sleep.c (rpl_sleep): Work around the bug.
43656         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
43657         (gl_PREREQ_SLEEP): Delete unused macro.
43658         * modules/sleep (Depends-on): Add verify.
43659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
43660         * modules/unistd (Makefile.am): Substitute witness.
43661         * lib/unistd.in.h (sleep): Update prototype.
43662         * doc/posix-functions/sleep.texi (sleep): Document the bug.
43663         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
43664         * modules/sleep-tests (Depends-on): Check for alarm.
43665
43666 2009-11-20  Jim Meyering  <meyering@redhat.com>
43667
43668         maint.mk: improve sc_prohibit_magic_number_exit
43669         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
43670         so it does not match uses like System.exit(1).
43671         Add comments showing how to correct all offenders.
43672
43673 2009-11-19  Eric Blake  <ebb9@byu.net>
43674
43675         xalloc-die-tests: add missing library
43676         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
43677
43678         test-xvasprintf: silence compiler warnings
43679         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
43680         empty string from gcc.
43681
43682 2009-11-19  Jim Meyering  <meyering@redhat.com>
43683
43684         xfreopen: new module, from coreutils
43685         * modules/xfreopen: New module.
43686         * lib/xfreopen.c: New file.
43687         * lib/xfreopen.h: New file.
43688         * MODULES.html.sh (File stream based Input/Output"): Add it.
43689
43690 2009-11-19  Eric Blake  <ebb9@byu.net>
43691
43692         manywarnings: depend on warnings
43693         * modules/manywarnings (Depends-on): Add warnings.
43694
43695         build: avoid compiler warnings
43696         * lib/select.c (rpl_select): Delete unused variable.
43697         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
43698
43699 2009-11-18  Eric Blake  <ebb9@byu.net>
43700
43701         tests: avoid false negative with --with-packager
43702         * tests/test-version-etc.sh: Discard packager information.
43703         * tests/test-argp-version-etc-1.sh: Likewise.
43704         Reported by Mike Frysinger.
43705
43706         utimens: fix regression on Solaris
43707         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
43708         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
43709         can only change fd timestamps via futimesat.  Instead, use an
43710         additional witness macro to avoid BSD bug.
43711         Reported by Jim Meyering.
43712
43713 2009-11-17  Eric Blake  <ebb9@byu.net>
43714
43715         usleep: use it to simplify tests
43716         * modules/stat-time-tests (Depends-on): Add usleep.
43717         (configure.ac): Drop usleep check.
43718         * modules/chown-tests (Depends-on, configure.ac): Likewise.
43719         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
43720         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
43721         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
43722         * modules/openat-tests (Depends-on, configure.ac): Likewise.
43723         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
43724         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
43725         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
43726         Likewise.
43727         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
43728         * tests/test-lchown.h (nap): Likewise.
43729         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
43730         * tests/test-stat-time.c (nap): Likewise.
43731         * tests/test-utimens-common.h (nap): Update comments.
43732
43733         usleep: new module
43734         * modules/usleep: New file.
43735         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
43736         * lib/usleep.c (usleep): Likewise.
43737         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
43738         * modules/unistd (Makefile.am): Substitute witnesses.
43739         * lib/unistd.in.h (usleep): Add declaration.
43740         * doc/pastposix-functions/usleep.texi (usleep): Document this.
43741         * MODULES.html.sh (Date and time): Likewise.
43742         * modules/usleep-tests (Depends-on): New test.
43743         * tests/test-usleep.c: New file.
43744
43745         chown: work around OpenBSD bug
43746         * lib/chown.c (rpl_chown): Work around the bug.
43747         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
43748         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
43749         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
43750         * modules/chown (Depends-on): Add stdbool.
43751         * modules/lchown (Depends-on): Likewise.
43752         * doc/posix-functions/chown.texi (chown): Document the bug.
43753         * doc/posix-functions/lchown.texi (lchown): Likewise.
43754         * tests/test-lchown.h (test_chown): Relax test.
43755
43756         mkstemp: avoid conflict with C++ keyword template
43757         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
43758         * lib/mkostemp.c (mkostemp): Likewise.
43759         * lib/mkostemps.c (mkostemps): Likewise.
43760         * lib/mkstemp.c (mkstemp): Likewise.
43761         * lib/mkstemps.c (mkstemps): Likewise.
43762
43763         xalloc-die-tests: optimize
43764         * tests/test-xalloc-die.sh: Reduce number of processes.
43765
43766 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43767
43768         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
43769         patch from ludo@gnu.org (Ludovic Courtès).
43770
43771 2009-11-17  Jim Meyering  <meyering@redhat.com>
43772
43773         version-etc: use proper license string
43774         * modules/version-etc (License): Use LGPL, not LGPLv3+.
43775         * modules/version-etc-fsf: Likewise.
43776
43777 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43778
43779         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
43780         printed to stdout.  Deal with EOL differences.
43781
43782 2009-11-17  Eric Blake  <ebb9@byu.net>
43783
43784         unsetenv: work around Solaris bug
43785         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
43786         * lib/unsetenv.c (rpl_unsetenv): Work around it.
43787         Reported by Jim Meyering.
43788
43789         vasnprintf: avoid compiler warnings
43790         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
43791         variables.
43792         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
43793
43794 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43795
43796         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
43797         settings since xalloc-die is no longer the self test,
43798         xalloc-die.sh is.
43799
43800 2009-11-17  Jim Meyering  <meyering@redhat.com>
43801
43802         test-xalloc-die.sh: make the code agree with the commit log
43803         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
43804         at the end, just in case you happen to have a test-xalloc-die
43805         program in some other PATH directory.
43806
43807         test-xalloc-die.sh: fix a portability bug
43808         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
43809         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
43810         Otherwise, argv[0] (as often seen in diagnostics) would be too
43811         system-dependent, sometimes with, and sometimes without the leading "./".
43812
43813         version-etc-fsf: relax license to LGPLv3+
43814         * modules/version-etc-fsf (License): Relax license.
43815
43816 2009-11-16  Eric Blake  <ebb9@byu.net>
43817
43818         xalloc-die-tests: avoid printing null pointer
43819         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
43820         shell script.
43821         * tests/test-xalloc-die.c (program_name): Declare.
43822         * tests/test-xalloc-die.sh (tmpfiles): New file.
43823
43824         setenv, unsetenv: work around various bugs
43825         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
43826         (setenv) [HAVE_SETENV]: Work around bugs.
43827         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
43828         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
43829         for bugs.
43830         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
43831         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
43832         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
43833         * modules/stdlib (Makefile.am): Update substitutions.
43834         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
43835         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
43836         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
43837         * modules/setenv-tests: New test.
43838         * modules/unsetenv-tests: Likewise.
43839         * tests/test-setenv.c: New file.
43840         * tests/test-unsetenv.c: Likewise.
43841
43842 2009-11-16  Jim Meyering  <meyering@redhat.com>
43843
43844         version-etc: relax license to LGPLv3+
43845         * modules/version-etc (License): Relax license.
43846
43847         better AC_REQUIRE expanded-before-required-warning avoidance
43848         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
43849         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
43850         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
43851         which is no longer needed.
43852
43853 2009-11-16  Eric Blake  <ebb9@byu.net>
43854
43855         test-freading: clean up temporary file
43856         * tests/test-freading.c (main): Remove file on success, and use
43857         ASSERT more liberally.
43858         Reported by Jim Meyering.
43859
43860 2009-11-16  Jim Meyering  <meyering@redhat.com>
43861
43862         avoid new AC_REQUIRE expanded-before-required warnings
43863         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
43864         merely using it.
43865         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
43866         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
43867
43868 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43869
43870         * tests/test-xalloc-die.c: New file.
43871         * modules/xalloc-die-tests: New file.
43872         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
43873         XFAIL_TESTS so it can be appended by modules.
43874
43875 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43876
43877         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
43878         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
43879
43880 2009-11-14  Eric Blake  <ebb9@byu.net>
43881
43882         fnmatch: avoid compiler warning
43883         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
43884         to silence compiler warning about mismatch signedness in ?:.
43885         Reported by Robert Millan.
43886
43887         intprops: add double-inclusion guard
43888         * lib/intprops.h: Allow idempotent includes.
43889         Suggested by Bruce Korb.
43890
43891         openat: detect Solaris fchownat bug
43892         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
43893         penalizing glibc chownat when only lchownat is broken.
43894         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
43895         trailing slash bugs.
43896         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
43897         * modules/openat-tests (Files): Include more files.
43898         (Depends-on): Add mgetgroups, sleep, stat-time.
43899         (configure.ac): Add additional checks.
43900         (Makefile.am): Build new test.
43901         * tests/test-fchownat.c: New file.
43902
43903         lchown: detect Solaris and FreeBSD bug
43904         * lib/lchown.c (rpl_lchown): Work around bug.
43905         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
43906         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43907         * modules/unistd (Makefile.am): Populate it.
43908         * lib/unistd.in.h (lchown): Update declaration.
43909         * doc/posix-functions/lchown.texi (lchown): Document the bug.
43910         * modules/lchown-tests: New file.
43911         * tests/test-lchown.h (test_lchown): Likewise.
43912         * tests/test-lchown.c (main): Likewise.
43913
43914         chown: detect Solaris and FreeBSD bug
43915         * lib/chown.c (rpl_chown): Work around bug.
43916         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
43917         (gl_PREREQ_CHOWN): Delete.
43918         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43919         * modules/unistd (Makefile.am): Populate it.
43920         * lib/unistd.in.h (chown): Update declaration.
43921         * lib/lchown.c (chown): Update client.
43922         * modules/lchown (Depends-on): Add lstat.
43923         * doc/posix-functions/chown.texi (chown): Document the bug.
43924         * doc/posix-functions/getgroups.texi (getgroups): Document
43925         getgroups pitfall.
43926         * modules/chown-tests: New file.
43927         * tests/test-chown.h (test_chown): Likewise.
43928         * tests/test-chown.c (main): Likewise.
43929
43930 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
43931
43932         gnulib-tool: correctly detect absence of m4 directories
43933         * gnulib-tool: Avoid extra newline on data passed to wc -l.
43934
43935 2009-11-14  Jim Meyering  <meyering@redhat.com>
43936
43937         maint.mk: Prohibit inclusion of "xalloc.h" without use.
43938         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43939
43940 2009-11-14  John W. Eaton  <jwe@gnu.org>
43941
43942         strftime.h: wrap function declaration in extern "C" block
43943         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
43944
43945 2009-11-13  Eric Blake  <ebb9@byu.net>
43946
43947         getgroups: avoid compiler warning
43948         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
43949
43950         getgroups: work around FreeBSD bug
43951         * lib/getgroups.c (rpl_getgroups): Work around the bug.
43952         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
43953         * doc/posix-functions/getgroups.texi (getgroups): Document it.
43954         * tests/test-getgroups.c (main): Fix buffer overrun.
43955
43956         getgroups: avoid compilation failure
43957         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
43958         * modules/getgroups (Depends-on): Add stdint.
43959
43960 2009-11-13  Jim Meyering  <meyering@redhat.com>
43961
43962         test-getgroups: avoid compilation failure
43963         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
43964
43965 2009-11-13  Eric Blake  <ebb9@byu.net>
43966
43967         mgetgroups: new module, taken from coreutils
43968         * modules/mgetgroups: New file.
43969         * lib/mgetgroups.h: Likewise.
43970         * lib/mgetgroups.c (mgetgroups): Likewise.
43971         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
43972         * MODULES.html.sh (Users and groups): Mention it.
43973
43974         getgroups: don't expose GETGROUPS_T to user
43975         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
43976         an element at a time if GETGROUPS_T is wrong size.
43977         * lib/getugroups.h (getugroups): Change signature.
43978         * lib/unistd.in.h (getgroups): Likewise.
43979         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
43980         signature needs fixing.
43981         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
43982         AC_TYPE_GETGROUPS.
43983         * modules/group-member (Depends-on): Add getgroups.
43984         * lib/group-member.c (group_info, get_group_info): Use gid_t.
43985         (group_member): Rely on getgroups replacement.
43986         * lib/getugroups.c (getugroups): Use gid_t.
43987         * tests/test-getgroups.c (main): Likewise.
43988         * NEWS: Mention the signature change.
43989         * doc/posix-functions/getgroups.texi (getgroups): Mention the
43990         problem with signature.
43991         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
43992         GETGROUPS_T is still useful for setgroups.
43993
43994         getgroups, getugroups: provide stubs for mingw
43995         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
43996         * lib/getugroups.c (getugroups): Likewise.
43997         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
43998         function.  Modernize replacement scheme.
43999         (gl_PREREQ_GETGROUPS): Delete.
44000         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
44001         * modules/getgroups (configure.ac): Declare witness.
44002         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
44003         * modules/unistd (Depends-on): Substitute witness.
44004         * lib/unistd.in.h (getgroups): Declare replacement.
44005
44006         getgroups: avoid calling exit
44007         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
44008         drop xalloc.
44009         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
44010         dependencies.
44011         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
44012         exiting, in the rare case of malloc failure.
44013
44014         getgroups: fix logic error
44015         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
44016         has more than 20 groups.
44017         * modules/getgroups-tests: New test.
44018         * tests/test-getgroups.c: New file.
44019
44020 2009-11-13  Simon Josefsson  <simon@josefsson.org>
44021
44022         * tests/test-base64.c: Improve.
44023
44024 2009-11-13  Simon Josefsson  <simon@josefsson.org>
44025
44026         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
44027         Blake <ebb9@byu.net>.
44028
44029 2009-11-13  Simon Josefsson  <simon@josefsson.org>
44030
44031         * tests/test-xvasprintf.c: Add %s%s related checks.
44032
44033 2009-11-12  Eric Blake  <ebb9@byu.net>
44034
44035         version-etc: match standards.texi style
44036         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
44037         and use <> only for URLs.
44038
44039 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
44040
44041         fts: do not fail on a submount during traversal
44042         * lib/fts.c (fts_build): Read the stat info again after opening
44043         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
44044         Original report at http://bugzilla.redhat.com/501848.
44045
44046 2009-11-12  Jim Meyering  <meyering@redhat.com>
44047
44048         bootstrap: sync from coreutils
44049         * build-aux/bootstrap (bootstrap_epilogue): New function.
44050         Use git_modules_config in one more place.  This make bootstrap's
44051         --gnulib-srcdir option more useful for testing.
44052
44053         bootstrap: generalize autoheader check
44054         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
44055         AC_CONFIG_HEADERS.
44056
44057 2009-11-11  Eric Blake  <ebb9@byu.net>
44058
44059         mkfifoat: use new modules for Solaris and BSD bugs
44060         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
44061         * lib/mkfifoat.c (mknodat): Split...
44062         * lib/mknodat.c (mknodat): ...into new file.
44063         * modules/mkfifoat (Files): Ship new file.
44064         (Depends-on): Add mkfifo, mknod.
44065         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
44066         (Depends-on): Add symlink.
44067         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
44068         redundant with test_mkfifo.h.
44069         (do_mkfifoat, do_mknodat): New helpers.
44070
44071         mknod: new module
44072         * modules/mknod: New file.
44073         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
44074         * lib/mknod.c (mknod): Likewise.
44075         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
44076         defaults.
44077         * modules/sys_stat (Makefile.am): Substitute them.
44078         * lib/sys_stat.in.h (mknod): Declare replacement.
44079         * MODULES.html.sh (Support for systems lacking POSIX:2008):
44080         Document it.
44081         * doc/posix-functions/mknod.texi (mknod): Likewise.
44082         * modules/mknod-tests: New test.
44083         * tests/test-mknod.c: Likewise.
44084
44085         mkfifo: new module
44086         * modules/mkfifo: New file.
44087         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
44088         * lib/mkfifo.c (mkfifo): Likewise.
44089         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
44090         defaults.
44091         * modules/sys_stat (Makefile.am): Substitute them.
44092         * lib/sys_stat.in.h (mkfifo): Declare replacement.
44093         * MODULES.html.sh (Support for systems lacking POSIX:2008):
44094         Document it.
44095         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
44096         * modules/mkfifo-tests: New test.
44097         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
44098         from test-mkfifoat.c.
44099         * tests/test-mkfifo.c: New file.
44100
44101         readlink: detect FreeBSD bug
44102         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
44103         slash on symlink.
44104         * doc/posix-functions/readlink.texi (readlink): Document the bug.
44105         * tests/test-readlink.h (test_readlink): Enhance test.
44106
44107         symlink: detect FreeBSD bug
44108         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
44109         slash on symlink.
44110         * doc/posix-functions/symlink.texi (symlink): Document the bug.
44111         * tests/test-symlink.h (test_symlink): Enhance test.
44112
44113 2009-11-10  Eric Blake  <ebb9@byu.net>
44114
44115         link: detect FreeBSD bug
44116         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
44117         symlink.
44118         * doc/posix-functions/link.texi (link): Document the bug.
44119         * tests/test-link.h (test_link): Enhance test.
44120         * tests/test-linkat.c (main): Update caller.
44121
44122         unlink, remove: detect FreeBSD bug
44123         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
44124         slash on symlink.
44125         * doc/posix-functions/unlink.texi (unlink): Document the bug.
44126         * doc/posix-functions/remove.texi (remove): Likewise.
44127         * tests/test-unlink.h (test_unlink): Enhance test.
44128         * tests/test-remove.c (main): Likewise.
44129
44130 2009-11-09  Eric Blake  <ebb9@byu.net>
44131
44132         rename: detect FreeBSD bug
44133         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
44134         slash on symlink.
44135         * modules/renameat-tests (Depends-on): Add filenamecat.
44136         * tests/test-rename.h (test_rename): Allow one more errno.
44137         * tests/test-renameat.c (main): Likewise.
44138         * doc/posix-functions/rename.texi (rename): Document the bug.
44139
44140         open: detect FreeBSD bug
44141         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
44142         symlink.
44143         * doc/posix-functions/open.texi (open): Document the bug.
44144         * doc/posix-functions/utimes.texi (utimes): Likewise.
44145         * tests/test-open.h (test_open): Add parameters, and test symlink
44146         handling.
44147         * tests/test-open.c (main): Adjust caller.
44148         * tests/test-fcntl-safer.c (main): Likewise.
44149         * modules/open-tests (Depends-on): Add stdbool, symlink.
44150         * modules/fcntl-safer-tests (Depends-on): Likewise.
44151         * tests/test-openat.c (main): Add test-open tests.
44152
44153         stat: detect FreeBSD bug
44154         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
44155         symlink.
44156         * doc/posix-functions/stat.texi (stat): Document the bug.
44157         * tests/test-stat.h (test_stat_func): Add argument.
44158         * tests/test-stat.c (main): Adjust caller.
44159         * tests/test-fstatat.c (main): Likewise.
44160         * modules/stat-tests (Depends-on): Add stdbool, symlink.
44161         Reported by Jim Meyering.
44162
44163 2009-11-09  James Youngman  <jay@gnu.org>
44164
44165         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
44166         * lib/strftime.c: Correct placement of #include "ignore-value.h".
44167
44168 2009-11-08  Jim Meyering  <meyering@redhat.com>
44169
44170         utimens: remove invalid futimesat call
44171         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
44172         It used the file descriptor of the target file as the DIR_FD
44173         parameter and NULL as the file name.  That caused failure with
44174         errno == EFAULT on FreeBSD-8.0-rc2
44175
44176 2009-11-07  Eric Blake  <ebb9@byu.net>
44177
44178         fflush, freadseek: use fseeko, not fseek
44179         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
44180         (clear_ungetc_buffer): Avoid potential problems on large files.
44181         * lib/freadseek.c (freadseek): Likewise.
44182         * modules/freadseek (Depends-on): Add fseeko.
44183         * modules/fseek (configure.ac): Set a witness.
44184         * tests/test-fflush.c (main): Use fseeko.
44185         * tests/test-fpurge.c (fseek): Disable link warning.
44186         * tests/test-freadable.c (fseek): Likewise.
44187         * tests/test-freading.c (fseek): Likewise.
44188         * tests/test-fseeko.c (fseek): Likewise.
44189         * tests/test-ftell.c (fseek): Likewise.
44190         * tests/test-ftello.c (fseek): Likewise.
44191         * tests/test-fwritable.c (fseek): Likewise.
44192         * tests/test-fwriting.c (fseek): Likewise.
44193
44194 2009-11-06  Simon Josefsson  <simon@josefsson.org>
44195
44196         * modules/memchr (Depends-on): Drop getpagesize dependency.
44197
44198 2009-11-06  Simon Josefsson  <simon@josefsson.org>
44199
44200         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
44201         Reported by Ludovic Courtès.
44202         * build-aux/pmccabe2html: Improve example usage.
44203         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
44204
44205 2009-11-06  Jim Meyering  <meyering@redhat.com>
44206
44207         do-release-commit-and-tag: New module.
44208         Automate the release-commit and tag process.
44209         * build-aux/do-release-commit-and-tag: New script, from coreutils.
44210         * modules/do-release-commit-and-tag: New file.
44211         * MODULES.html.sh (Support for maintaining and releasing): Add it.
44212
44213 2009-11-06  Simon Josefsson  <simon@josefsson.org>
44214
44215         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
44216         because test-select.c uses inet_pton.
44217
44218 2009-11-06  Simon Josefsson  <simon@josefsson.org>
44219
44220         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
44221         GETADDRINFO_LIB.  Bump serial number.
44222         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
44223         Suggested by Eric Blake <ebb9@byu.net>.
44224
44225 2009-11-05  Eric Blake  <ebb9@byu.net>
44226
44227         strtod: detect darwin bug
44228         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
44229         Reported by Leo Davis.
44230
44231         freopen-safer: new module
44232         * modules/freopen-safer: New module.
44233         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
44234         * lib/freopen-safer.c (freopen_safer): New file.
44235         * lib/stdio-safer.h (freopen_safer): New declaration.
44236         * lib/stdio--.h (freopen): New override.
44237         * MODULES.html.sh (File stream based Input/Output): Mention it.
44238         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
44239         freopen-safer module.
44240         * doc/posix-functions/stderr.texi (stderr): Likewise.
44241         * doc/posix-functions/stdin.texi (stdin): Likewise.
44242         * doc/posix-functions/stdout.texi (stdout): Likewise.
44243         * modules/freopen-safer-tests: New test.
44244         * tests/test-reopen-safer.c: New file.
44245
44246 2009-11-05  Jim Meyering  <meyering@redhat.com>
44247
44248         maint.mk: Prohibit inclusion of "close-stream.h" without use.
44249         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
44250
44251 2009-11-05  Simon Josefsson  <simon@josefsson.org>
44252
44253         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
44254
44255 2009-11-05  Simon Josefsson  <simon@josefsson.org>
44256
44257         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
44258
44259 2009-11-05  Simon Josefsson  <simon@josefsson.org>
44260
44261         Fix link error.
44262         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
44263         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
44264
44265 2009-11-05  Simon Josefsson  <simon@josefsson.org>
44266
44267         * tests/test-func.c: Also test value of __func__.
44268
44269 2009-11-05  Simon Josefsson  <simon@josefsson.org>
44270
44271         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
44272         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
44273
44274 2009-11-05  Bruno Haible  <bruno@clisp.org>
44275
44276         Fix link error.
44277         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
44278         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
44279         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
44280
44281 2009-11-05  Bruno Haible  <bruno@clisp.org>
44282
44283         Tests for module 'inet_pton'.
44284         * modules/inet_pton-tests: New file.
44285         * tests/test-inet_pton.c: New file.
44286
44287 2009-11-05  Bruno Haible  <bruno@clisp.org>
44288
44289         Tests for module 'inet_ntop'.
44290         * modules/inet_ntop-tests: New file.
44291         * tests/test-inet_ntop.c: New file.
44292
44293 2009-11-04  Eric Blake  <ebb9@byu.net>
44294
44295         stdlib-safer: wrap all mkstemp variants
44296         * modules/mkostemp (configure.ac): Set witness.
44297         * modules/mkostemps (configure.ac): Likewise.
44298         * modules/mkstemps (configure.ac): Likewise.
44299         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
44300         (mkstemps_safer): Wrap more functions.
44301         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
44302         wrapping.
44303         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
44304         (mkstemps_safer): Implement the wrappers.
44305
44306         mkstemps, mkostemps: new modules
44307         * modules/mkostemps: New module.
44308         * modules/mkstemps: Likewise.
44309         * lib/mkostemps.c (mkostemps): New file.
44310         * lib/mkstemps.c (mkstemps): Likewise.
44311         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
44312         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
44313         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
44314         * modules/stdlib (Makefile.am): Substitute them.
44315         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
44316         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
44317         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
44318         * doc/gnulib.texi (Glibc stdlib.h): Include them.
44319         * MODULES.html.sh (File system functions): Mention them.
44320
44321         tempname: resync from glibc
44322         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
44323         same values for __GT_FILE as glibc.  Abort even when assertions
44324         are disabled.
44325         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
44326         match its value otherwise.  Allow idempotent inclusion.
44327         * lib/mkdtemp.c (mkdtemp): Adjust caller.
44328         * lib/mkostemp.c (mkostemp): Likewise.
44329         * lib/mkstemp.c (mkstemp): Likewise.
44330         * lib/tmpfile.c (tmpfile): Likewise.
44331         * NEWS: Document this.
44332
44333         utimens: fix use of futimens on older Linux
44334         * lib/utimens.c (fdutimens): Use updated, rather than original,
44335         timespec to avoid bug in older Linux kernel.
44336         Reported by Simon Josefsson.
44337
44338 2009-11-04  Bruno Haible  <bruno@clisp.org>
44339
44340         Make num_processors more flexible and consistent.
44341         * lib/nproc.h (enum nproc_query): New type.
44342         (num_processors): Add a 'query' argument.
44343         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
44344         (num_processors): Add a 'query' argument. Test the value of the
44345         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
44346         mingw, count the number of CPUs available for the current process.
44347         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
44348         Check for sched_getaffinity and sched_getaffinity_np.
44349         * modules/nproc (Depends-on): Add c-ctype, extensions.
44350         * NEWS: Mention the change.
44351
44352 2009-11-03  Bruno Haible  <bruno@clisp.org>
44353
44354         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
44355
44356 2009-11-03  Jim Meyering  <meyering@redhat.com>
44357
44358         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
44359         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
44360         if it is defined.
44361
44362 2009-11-02  Eric Blake  <ebb9@byu.net>
44363
44364         mktime, timegm: share common declaration
44365         * lib/mktime-internal.h: New file.
44366         * lib/mktime.c: Use it rather than open-coding a declaration.
44367         * lib/timegm.c: Likewise.
44368         * modules/mktime (Files): Ship it.
44369         * modules/timegm (Files): Likewise.
44370         Suggested by Bruno Haible.
44371
44372         test-update-copyright: update test to match script changes
44373         * tests/test-update-copyright.sh: Avoid hard-coding perl
44374         location.  Don't update *.bak created by earlier runs.
44375
44376 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
44377             Simon Josefsson  <simon@josefsson.org>
44378             Bruno Haible  <bruno@clisp.org>
44379
44380         Fix link error on Solaris 8.
44381         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
44382         also in libnsl. Define also INET_PTON_LIB.
44383         * modules/inet_pton (Link): New section.
44384
44385 2009-11-02  Simon Josefsson  <simon@josefsson.org>
44386             Bruno Haible  <bruno@clisp.org>
44387
44388         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
44389         * modules/inet_ntop (Link): New section.
44390         Reported by Boyan Kasarov <bkasarov@gmail.com>.
44391
44392 2009-11-02  Eric Blake  <ebb9@byu.net>
44393
44394         maint: avoid compiler warnings in m4 macros
44395         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
44396         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
44397
44398 2009-11-02  Simon Josefsson  <simon@josefsson.org>
44399
44400         * m4/pmccabe2html.m4: Remove file.
44401         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
44402         function.  Change maintainer.
44403         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
44404         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
44405         Courtès).
44406
44407 2009-10-31  Eric Blake  <ebb9@byu.net>
44408
44409         fseeko: fix m4 regression
44410         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
44411         regression from 2009-10-27.
44412         Reported by Ralf Wildenhues.
44413
44414 2009-10-31  Jim Meyering  <meyering@redhat.com>
44415
44416         inttostr: aesthetics and improved (compile-time) safety
44417         Define inttype_is_signed rather than inttype_is_unsigned,
44418         since the sole use is via "#if inttype_is_signed".
44419         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
44420         inttype_is_unsigned.
44421         * lib/offtostr.c (inttype_is_signed): Likewise.
44422         * lib/uinttostr.c (inttype_is_signed): Likewise.
44423         * lib/umaxtostr.c (inttype_is_signed): Likewise.
44424         * lib/inttostr.c (inttostr): Use verify to cross-check the
44425         inttype_is_signed value and the signedness of the actual type.
44426         * modules/inttostr (Depends-on): Add verify.
44427
44428 2009-10-30  Eric Blake  <ebb9@byu.net>
44429
44430         build: avoid compiler warnings
44431         * lib/fchmodat.c (lchmod): Mark unused variables.
44432         * lib/getopt.c (_getopt_initialize): Likewise.
44433         * lib/mktime.c (__mktime_internal): Provide prototype.
44434         * lib/inttostr.c (inttostr): Avoid compiler warning even with
44435         older gcc that do not understand #pragma GCC diagnostic.
44436         * lib/uinttostr.c (inttype_is_unsigned): Define.
44437         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
44438
44439 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
44440
44441         stat: fix compilation on AIX
44442         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
44443         only see struct stat64.
44444
44445 2009-10-30  Eric Blake  <ebb9@byu.net>
44446
44447         exclude: make more robust
44448         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
44449         rather than masking a coding bug.
44450         Suggested by Bruno Haible.
44451
44452 2009-10-30  Jim Meyering  <meyering@redhat.com>
44453
44454         perl scripts: remove #!/usr/bin/perl in favor of more portable...
44455         Rather than putting #!/usr/bin/perl on the first line,
44456         start with a variant of what's recommended by "man perlrun" that
44457         invokes the first "perl" program from your shell's search path.
44458         * build-aux/gitlog-to-changelog: Replace #!... as above.
44459         Add a "Local Variables" perl mode setting.
44460         Prompted by a patch from Ludovic Courtès.
44461         Improved by Eric Blake.
44462         * build-aux/useless-if-before-free: Likewise.
44463         * build-aux/announce-gen: Likewise.
44464         * build-aux/update-copyright: Likewise.
44465
44466 2009-10-29  Eric Blake  <ebb9@byu.net>
44467
44468         filenamecat-lgpl: adjust clients
44469         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
44470         filenamecat.
44471         * modules/renameat (Depends-on): Likewise.
44472
44473         filenamecat: split into filenamecat-lgpl
44474         * modules/filenamecat-lgpl: New module.
44475         * modules/filenamecat (Files): Move library-safe files into
44476         filenamecat-lgpl.
44477         (Depends-on): Add filenamecat-lgpl.
44478         (configure.ac): Declare witness.
44479         * lib/filenamecat.h (file_name_concat): Only declare when using
44480         GPL module.
44481         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
44482         Move...
44483         * lib/filenamecat-lgpl.c: ...into new file.
44484         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
44485         (gl_FILE_NAME_CONCAT): Use it.
44486         * MODULES.html.sh (File system functions): Mention new module.
44487
44488         argp: avoid memory leak
44489         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
44490         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
44491         base_name, since the latter malloc()s and can call exit().
44492         Leak introduced 2006-07-03.
44493
44494         dirname-lgpl: adjust clients that don't need full dirname
44495         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
44496         * modules/filenamecat (Depends-on): Likewise.
44497         * modules/linkat (Depends-on): Likewise.
44498         * modules/mkancesdirs (Depends-on): Likewise.
44499         * modules/mkdir (Depends-on): Likewise.
44500         * modules/openat (Depends-on): Likewise.
44501         * modules/savewd (Depends-on): Likewise.
44502         * modules/rename (Depends-on): Likewise.
44503         (License): Relax license.
44504         * modules/mkdir-tests (Depends-on): Drop progname.
44505         (Makefile.am): Delete unneeded LDADD.
44506         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
44507
44508         dirname: split into dirname-lgpl
44509         * modules/dirname-lgpl: New module.
44510         * modules/dirname (Files): Move library-safe files into
44511         dirname-lgpl.
44512         (Depends-on): Add dirname-lgpl.
44513         (configure.ac): Declare witness.
44514         * modules/double-slash-root (License): Relax license.
44515         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
44516         module.
44517         * lib/dirname.c (dir_len, mdir_name): Move...
44518         * lib/dirname-lgpl.c: ...into new file.
44519         * lib/basename.c (last_component, base_len): Move...
44520         * lib/basename-lgpl.c: ...into new file.
44521         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
44522         (gl_DIRNAME): Use it.
44523         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
44524         Mention new module.
44525         * modules/dirname-tests (Depends-on): Add progname.
44526         * tests/test-dirname.c (program_name): Delete.
44527
44528         mkdir: make safe for libraries
44529         * modules/mkdir (Depends-on): Drop xalloc.
44530         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
44531         exit.
44532
44533         tests: avoid some compiler warnings
44534         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
44535         literals.
44536         * tests/test-memchr.c (main): Avoid type mismatch.
44537         * tests/test-arpa_inet.c (main): Avoid unused parameters.
44538         * tests/test-base64.c (main): Likewise.
44539         * tests/test-getdelim.c (main): Likewise.
44540         * tests/test-gethostname.c (main): Likewise.
44541         * tests/test-getline.c (main): Likewise.
44542         * tests/test-netinet_in.c (main): Likewise.
44543         * tests/test-select.c (open_server_socket, main): Likewise.
44544         * tests/test-select-stdin.c (main): Likewise.
44545         * tests/test-sockets.c (main): Likewise.
44546         * tests/test-strsignal.c (main): Likewise.
44547         * tests/test-sys_select.c (main): Likewise.
44548         * tests/test-sys_socket.c (main): Likewise.
44549         * tests/test-u64.c (main): Likewise.
44550         * tests/test-xfprintf-posix.c (main): Likewise.
44551         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
44552
44553         sockets: avoid compiler warning
44554         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
44555
44556         maint: detect usage(1) and other suspicious exits
44557         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
44558
44559 2009-10-29  Jim Meyering  <meyering@redhat.com>
44560
44561         timespec: long-to-int truncation could make timespec_cmp malfunction
44562         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
44563         a multiple of 2^32 nanoseconds as no difference.
44564
44565 2009-10-28  Jim Meyering  <meyering@redhat.com>
44566
44567         fprintftime: wrap macro code argument in "do {...} while(0)"
44568         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
44569         cpy macro must be a statement that can be followed by a semicolon.
44570         Now that the else clause contains a comment and is hence longer
44571         than one line, I require curly braces.  That in turn requires
44572         that we wrap this code block in the standard do...while(0).
44573
44574         fprintftime: remove stray semicolon from previous change
44575         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
44576
44577         fprintftime: avoid a warning about ignored fwrite return value
44578         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
44579         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
44580         that is unsafe.
44581         * modules/fprintftime (Depends-on): Add ignore-value.
44582
44583         exclude: avoid an unwarranted warning
44584         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
44585
44586 2009-10-27  Eric Blake  <ebb9@byu.net>
44587
44588         fseek: avoid compilation failure when fflush is replaced
44589         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
44590         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
44591         module is in use.
44592         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
44593         module is not in use; since REPLACE_FSEEK worked otherwise.
44594         (GNULIB_FTELLO): Likewise for ftell.
44595         Reported by Ian Beckwith and others.
44596
44597 2009-10-27  Bruno Haible  <bruno@clisp.org>
44598
44599         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
44600         Reported by Jim Meyering.
44601
44602 2009-10-27  Jim Meyering  <jim@meyering.net>
44603             Bruno Haible  <bruno@clisp.org>
44604
44605         Avoid warning despite dropping the return value of fwrite.
44606         * lib/unicodeio.c: Include ignore-value.h.
44607         (fwrite_success_callback): Explicitly ignore fwrite's return value.
44608         * modules/unicodeio (Depends-on): Add ignore-value.
44609
44610 2009-10-26  Eric Blake  <ebb9@byu.net>
44611
44612         areadlinkat: fix fallback path
44613         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
44614         pointer and zero.
44615
44616 2009-10-22  Pádraig Brady  <P@draigBrady.com>
44617
44618         Use a better IO block size for modern systems
44619         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
44620         * lib/md2.c: Likewise.
44621         * lib/md4.c: Likewise.
44622         * lib/md5.c: Likewise.
44623         * lib/sha1.c: Likewise.
44624         * lib/sha256.c: Likewise.
44625         * lib/sha512.c: Likewise.
44626
44627 2009-10-22  Eric Blake  <ebb9@byu.net>
44628
44629         tests: avoid several compiler warnings
44630         * tests/test-getcwd.c (main): Avoid buffer underflow.
44631         * tests/test-getdate.c (main): String literals are not safe with
44632         putenv, so use setenv.  Declare unused argument.
44633         * modules/getdate-tests (Depends-on): Add setenv.
44634         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
44635         problems with string literals in char *.
44636         * tests/test-hash.c (main): Avoid shadowing declaration.
44637         (insert_new): Treat string literals as char const *.
44638         * tests/test-getopt.h (test_getopt): Likewise.
44639         (getopt_loop): Alter types to minimize casting elsewhere.
44640         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
44641         (test_getopt_long_posix): Likewise.
44642         (do_getopt_long): Add wrapper to minimize casting.
44643         * tests/test-atexit.c (clear_temp_file): Use void.
44644         * tests/test-areadlink-with-size.c (main): Declare unused
44645         arguments.
44646         * tests/test-areadlink.c (main): Likewise.
44647         * tests/test-areadlinkat-with-size.c (main): Likewise.
44648         * tests/test-areadlinkat.c (main): Likewise.
44649         * tests/test-canonicalize-lgpl.c (main): Likewise.
44650         * tests/test-canonicalize.c (main): Likewise.
44651         * tests/test-dirent-safer.c (main): Likewise.
44652         * tests/test-dirname.c (main): Likewise.
44653         * tests/test-dup2.c (main): Likewise.
44654         * tests/test-fchdir.c (main): Likewise.
44655         * tests/test-fcntl-h.c (main): Likewise.
44656         * tests/test-fcntl-safer.c (main): Likewise.
44657         * tests/test-fdopendir.c (main): Likewise.
44658         * tests/test-fdutimensat.c (main): Likewise.
44659         * tests/test-fflush.c (main): Likewise.
44660         * tests/test-filenamecat.c (main): Likewise.
44661         * tests/test-filevercmp.c (main): Likewise.
44662         * tests/test-fopen-safer.c (main): Likewise.
44663         * tests/test-fopen.c (main): Likewise.
44664         * tests/test-fpending.c (main): Likewise.
44665         * tests/test-fpurge.c (main): Likewise.
44666         * tests/test-freading.c (main): Likewise.
44667         * tests/test-fstatat.c (main): Likewise.
44668         * tests/test-fsync.c (main): Likewise.
44669         * tests/test-futimens.c (main): Likewise.
44670         * tests/test-getndelim2.c (main): Likewise.
44671         * tests/test-gettimeofday.c (main): Likewise.
44672         * tests/test-getopt.c (main): Likewise.
44673         * tests/test-i-ring.c (main): Likewise.
44674         * tests/test-inttypes.c (main): Likewise.
44675         * tests/test-link.c (main): Likewise.
44676         * tests/test-lstat.c (main): Likewise.
44677         * tests/test-math.c (main): Likewise.
44678         * tests/test-md5.c (main): Likewise.
44679         * tests/test-memchr2.c (main): Likewise.
44680         * tests/test-memrchr.c (main): Likewise.
44681         * tests/test-mkdir.c (main): Likewise.
44682         * tests/test-mkdirat.c (main): Likewise.
44683         * tests/test-mkfifoat.c (main): Likewise.
44684         * tests/test-open.c (main): Likewise.
44685         * tests/test-openat-safer.c (main): Likewise.
44686         * tests/test-openat.c (main): Likewise.
44687         * tests/test-quotearg.c (main): Likewise.
44688         * tests/test-rawmemchr.c (main): Likewise.
44689         * tests/test-readlink.c (main): Likewise.
44690         * tests/test-remove.c (main): Likewise.
44691         * tests/test-rename.c (main): Likewise.
44692         * tests/test-renameat.c (main): Likewise.
44693         * tests/test-rmdir.c (main): Likewise.
44694         * tests/test-sha1.c (main): Likewise.
44695         * tests/test-signal.c (main): Likewise.
44696         * tests/test-sigaction.c (main): Likewise.
44697         * tests/test-stat.c (main): Likewise.
44698         * tests/test-stat-time.c (main): Likewise.
44699         * tests/test-stddef.c (main): Likewise.
44700         * tests/test-stdint.c (main): Likewise.
44701         * tests/test-stdio.c (main): Likewise.
44702         * tests/test-stdlib.c (main): Likewise.
44703         * tests/test-strchrnul.c (main): Likewise.
44704         * tests/test-strerror.c (main): Likewise.
44705         * tests/test-string.c (main): Likewise.
44706         * tests/test-strtod.c (main): Likewise.
44707         * tests/test-strverscmp.c (main): Likewise.
44708         * tests/test-symlink.c (main): Likewise.
44709         * tests/test-symlinkat.c (main): Likewise.
44710         * tests/test-sys_stat.c (main): Likewise.
44711         * tests/test-sys_time.c (main): Likewise.
44712         * tests/test-time.c (main): Likewise.
44713         * tests/test-unistd.c (main): Likewise.
44714         * tests/test-unlink.c (main): Likewise.
44715         * tests/test-unlinkat.c (main): Likewise.
44716         * tests/test-utimens.c (main): Likewise.
44717         * tests/test-utimensat.c (main): Likewise.
44718         * tests/test-version-etc.c (main): Likewise.
44719         * tests/test-wchar.c (main): Likewise.
44720         * tests/test-wctype.c (main): Likewise.
44721         * tests/test-xprintf-posix.c (main): Likewise.
44722         * tests/test-posixtm.c (main): Likewise.
44723         (STREQ): Delete unused macro.
44724         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
44725         shadowed variables.
44726         * tests/test-memchr.c (main): Likewise.
44727
44728 2009-10-21  Eric Blake  <ebb9@byu.net>
44729
44730         areadlinkat: avoid failure on older glibc
44731         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
44732         rather than mis-comparing 0 against FUNC_RESULT of char*.
44733
44734 2009-10-21  Bruno Haible  <bruno@clisp.org>
44735
44736         * modules/stpncpy (License): Relicense under LGPLv2+.
44737         Reported by David Lutterkort <lutter@redhat.com>.
44738
44739 2009-10-20  Eric Blake  <ebb9@byu.net>
44740
44741         utimensat: work around Solaris 9 bug
44742         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
44743         has trailing slash bugs.
44744         * tests/test-lutimens.h (test_lutimens): Enhance test.
44745         * tests/test-utimens.h (test_utimens): Likewise.
44746         * doc/posix-functions/utime.texi (utime): Enhance documentation.
44747         * doc/posix-functions/utimes.texi (utimes): Likewise.
44748         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44749         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
44750         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
44751         * doc/posix-functions/futimens.texi (futimens): Likewise.
44752
44753         fdutimensat: new module
44754         * modules/fdutimensat: New file.
44755         * lib/fdutimensat.c (fdutimensat): Likewise.
44756         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
44757         * MODULES.html.sh (File system functions): Mention module.
44758         * modules/fdutimensat-tests: New test.
44759         * tests/test-fdutimensat.c: Likewise.
44760
44761         doc: regenerate INSTALL
44762         * doc/INSTALL: Reflect recent autoconf update.
44763         * doc/INSTALL.ISO: Likewise.
44764         * doc/INSTALL.UTF-8: Likewise.
44765
44766 2009-10-20  Pádraig Brady  <P@draigBrady.com>
44767
44768         acl: warn if ACL support is not detected
44769         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
44770
44771 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
44772
44773         * lib/nproc.h: Add extern "C" block for C++.
44774
44775 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
44776             Bruno Haible  <bruno@clisp.org>
44777
44778         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
44779         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
44780         * doc/posix-functions/isalpha.texi: Likewise.
44781         * doc/posix-functions/isblank.texi: Likewise.
44782         * doc/posix-functions/iscntrl.texi: Likewise.
44783         * doc/posix-functions/isdigit.texi: Likewise.
44784         * doc/posix-functions/isgraph.texi: Likewise.
44785         * doc/posix-functions/islower.texi: Likewise.
44786         * doc/posix-functions/isprint.texi: Likewise.
44787         * doc/posix-functions/ispunct.texi: Likewise.
44788         * doc/posix-functions/isspace.texi: Likewise.
44789         * doc/posix-functions/isupper.texi: Likewise.
44790         * doc/posix-functions/isxdigit.texi: Likewise.
44791
44792 2009-10-18  Bruno Haible  <bruno@clisp.org>
44793
44794         Tests for module 'isblank'.
44795         * modules/isblank-tests: New file.
44796         * tests/test-isblank.c: New file.
44797
44798         New module 'isblank'.
44799         * lib/isblank.c: New file.
44800         * m4/isblank.m4: New file.
44801         * modules/isblank: New file.
44802         * doc/posix-functions/isblank.texi: Mention the new module.
44803
44804 2009-10-18  Bruno Haible  <bruno@clisp.org>
44805
44806         New module 'ctype'.
44807         * lib/ctype.in.h: New file.
44808         * m4/ctype.m4: New file.
44809         * modules/ctype: New file.
44810         * doc/posix-headers/ctype.texi: Mention the new module.
44811
44812 2009-10-18  Jim Meyering  <meyering@redhat.com>
44813
44814         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
44815         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
44816         right after its initialization, rather than farther down.
44817         Keeping these in close proximity makes it easier to ensure
44818         that each such variable is initialized.  E.g.,
44819
44820             LIB_CLOCK_GETTIME=
44821             AC_SUBST([LIB_CLOCK_GETTIME])
44822
44823         This change also increments these serial numbers.
44824         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
44825         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44826         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44827
44828 2009-10-18  Bruno Haible  <bruno@clisp.org>
44829
44830         Don't let environment variables perturb build.
44831         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
44832         (gl_PREREQ_GETHRXTIME): ... not here.
44833
44834 2009-10-18  Bruno Haible  <bruno@clisp.org>
44835
44836         Avoid symlink attack in localcharset module.
44837         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
44838         (O_NOFOLLOW): Define fallback.
44839         (get_charset_aliases): Don't open the file if it is a symbolic link.
44840         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
44841         gl_FCNTL_H.
44842         (gl_FCNTL_H): Require it.
44843         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
44844         * modules/localcharset (Files): Add m4/fcntl_h.m4.
44845         Reported by Fergal Glynn <fglynn@veracode.com>.
44846
44847 2009-10-18  Bruno Haible  <bruno@clisp.org>
44848
44849         Implement nproc for mingw.
44850         * lib/nproc.c: Include <windows.h>
44851         (num_processors): On native Windows platforms, try GetSystemInfo.
44852
44853 2009-10-18  Bruno Haible  <bruno@clisp.org>
44854
44855         Implement nproc for IRIX.
44856         * lib/nproc.c: Include <sys/sysmp.h>.
44857         (num_processors): On IRIX systems, try sysmp.
44858         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
44859
44860 2009-10-18  Bruno Haible  <bruno@clisp.org>
44861
44862         Implement nproc for HP-UX.
44863         * lib/nproc.c: Include <sys/pstat.h>
44864         (num_processors): On HP-UX systems, try pstat_getdynamic.
44865         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
44866         pstat_getdynamic.
44867
44868 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
44869             Bruno Haible  <bruno@clisp.org>
44870
44871         Implement nproc for NetBSD, OpenBSD.
44872         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
44873         (ARRAY_SIZE): New macro.
44874         (num_processors): On BSD systems, try sysctl of HW_NCPU.
44875         * m4/nproc.m4: New file.
44876         * modules/nproc (Files): Add m4/nproc.m4.
44877         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
44878         (Makefile.am): Instead, augment lib_SOURCES.
44879
44880 2009-10-18  Bruno Haible  <bruno@clisp.org>
44881
44882         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
44883         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
44884         sys/param.h.
44885
44886 2009-10-16  Eric Blake  <ebb9@byu.net>
44887
44888         utimensat: new module
44889         * modules/utimensat: New file.
44890         * lib/utimensat.c (utimensat): Likewise.
44891         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
44892         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
44893         so we can work around Linux bugs.
44894         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44895         * modules/sys_stat (Makefile.am): Substitute them.
44896         * lib/sys_stat.in.h (utimensat): Declare it.
44897         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44898         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44899         * modules/utimensat-tests: New test.
44900         * tests/test-utimensat.c: Likewise.
44901
44902         utimens: let lutimens work on non-symlinks
44903         * lib/utimens.c (lutimens): Fall back to utimens rather than
44904         failing with ENOSYS, when file is not a symlink.
44905         (utimens): Reduce redirection.
44906         * tests/test-lutimens.h (test_lutimens): Update test to cover
44907         non-symlinks.
44908         * tests/test-utimens.h (test_utimens): Update test to cover
44909         symlinks.
44910         * tests/test-utimens.c (main): Update caller.
44911
44912         utimens: cache whether utimensat syscall works
44913         * lib/utimens.c (utimensat_works_really): New cache variable.
44914         (fdutimens, lutimens): Use it to avoid failing syscall.
44915
44916         test-stat-time, test-utimens: improve portability
44917         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
44918         ext4 on alpha, and for cygwin.
44919         * tests/test-utimens-common.h: New file.
44920         (nap): Factor delays into single function.
44921         * tests/test-lutimens.h (test_lutimens): Use new header.
44922         * tests/test-futimens.h (test_futimens): Likewise.
44923         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
44924         timestamps to occur from same machine, as was done previously for
44925         test_utimens.
44926         * modules/utimens-tests (Files): Ship new file.
44927         * modules/futimens-tests (Files): Likewise.
44928         Reported in part by Jim Meyering.
44929
44930         sys_stat: sort replacement declarations
44931         * lib/sys_stat.in.h: Sort declarations.
44932         * lib/futimens.c (futimens): Fix typo.
44933
44934 2009-10-15  Jim Meyering  <meyering@redhat.com>
44935
44936         don't let environment settings perturb build
44937         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
44938         could cause a configure-time and/or build-time malfunction.
44939         Typically, a configure-time function-in-library test is performed
44940         via code like this:
44941
44942           LIB_VAR=
44943           AC_SUBST([LIB_VAR])
44944           prefix_saved_LIBS=$LIBS
44945             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
44946                        [test "$ac_cv_search_FUNC" = "none required" ||
44947                         LIB_VAR=$ac_cv_search_FUNC])
44948           LIBS=$prefix_saved_LIBS
44949
44950         However, in each of the files affected by this change, the LIB_VAR=
44951         initialization was omitted.  Thus, when set in the environment, its
44952         value would propagate into generated Makefiles when FUNC is not found
44953         in LIB_NAME.
44954         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
44955         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44956         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44957
44958 2009-10-14  Eric Blake  <ebb9@byu.net>
44959
44960         fchdir: avoid infinite recursion in mingw
44961         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
44962         recursing.
44963
44964         test-stat-time: port to mingw
44965         * tests/test-stat-time.c (force_unlink): Return a value.
44966         (test_ctime) [W32]: Fix compilation error.
44967         (nap): Don't call usleep with too large an argument.  Use
44968         force_unlink.
44969         * doc/pastposix-functions/usleep.texi (usleep): Document the
44970         portability issue.
44971
44972 2009-10-13  Jim Meyering  <meyering@redhat.com>
44973
44974         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
44975         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
44976         * modules/pipe-filter-ii: Likewise.
44977         * modules/sys_socket-tests: Likewise.
44978         * modules/tsearch-tests: Likewise.
44979         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
44980         (check): Depend on it.
44981
44982 2009-10-12  Eric Blake  <ebb9@byu.net>
44983
44984         utimens-tests: port to NFS file systems
44985         * tests/test-utimens.h (test_utimens): Refactor utimecmp
44986         comparisons to avoid spurious failures from timestamp drift
44987         between NFS machines.
44988
44989 2009-10-12  Eric Blake  <ebb9@byu.net>
44990
44991         stat-time-tests: minor cleanups
44992         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
44993         * tests/test-stat-time.c (nap): Separate assignment from call.
44994         Suggested by Paolo Bonzini and Bruno Haible.
44995
44996         sys_stat: guarantee struct timespec
44997         * lib/sys_stat.in.h (includes): Always include <time.h>
44998         * modules/sys_stat (Depends-on): Add time.
44999         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
45000         mode_t permission values.
45001         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
45002         get at subsecond timestamps.
45003
45004 2009-10-10  Eric Blake  <ebb9@byu.net>
45005
45006         futimens: new module
45007         * modules/futimens: New file.
45008         * lib/futimens.c (futimens): Likewise.
45009         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
45010         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
45011         we can work around Linux bugs.
45012         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45013         * modules/sys_stat (Makefile.am): Substitute them.
45014         * lib/sys_stat.in.h (futimens): Declare it.
45015         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45016         * doc/posix-functions/futimens.texi (futimens): Likewise.
45017         * modules/futimens-tests: New test.
45018         * tests/test-futimens.c: Likewise.
45019
45020         utimens: introduce fdutimens
45021         * lib/utimens.h (fdutimens): New prototype.
45022         * lib/utimens.c (gl_futimens): Move guts...
45023         (fdutimens): ...to new interface.
45024         * tests/test-utimens.c (do_fdutimens): Use it.
45025
45026         utimens: add UTIME_NOW and UTIME_OMIT support
45027         * lib/utimens.c (validate_timespec, update_timespec): New helper
45028         functions.
45029         (gl_futimens, lutimens): Use them.
45030         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
45031         stdbool, sys_stat.
45032         (Link): Mention resulting library dependency.
45033         * modules/utimecmp (Link): Likewise.
45034         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
45035         (Makefile.am): Pick up library dependency.
45036         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
45037         definition.
45038         * tests/test-sys_stat.c: Test the definitions.
45039         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
45040         * NEWS: Document library dependency.
45041
45042         utimecmp: support symlink timestamps
45043         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
45044         hashing when possible.  Use pathconf when available.
45045         (SYSCALL_RESOLUTION): Recognize tighter resolution.
45046         * modules/utimecmp (Depends-on): Add lstat.
45047
45048         utimens: add lutimens interface
45049         * lib/utimens.c (lutimens): New function.
45050         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
45051         * lib/utimens.h (lutimens): Declare new interface.
45052         * tests/test-utimens.c (main): Enhance test.
45053         * tests/test-lutimens.h (test_lutimens): New file.
45054         * modules/utimens-tests (Files): Distribute it.
45055         (Depends-on): Add symlink.
45056         (configure.ac): Check for usleep.
45057
45058         utimens: validate futimens usage
45059         * lib/utimens.c (gl_futimens): Require valid fd up front, using
45060         fewer syscalls on failure later on.  Avoid compiler warning on
45061         mingw.
45062         * modules/utimens (Depends-on): Add dup2.
45063
45064         utimens: add test
45065         * modules/utimens-tests: New test.
45066         * tests/test-utimens.h: New file.
45067         * tests/test-futimens.h: Likewise.
45068         * tests/test-utimens.c: Likewise.
45069
45070         doc: mention timestamp portability issues
45071         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
45072         instead.
45073         * doc/posix-functions/utime.texi (utime): Likewise.
45074         * doc/posix-functions/utimes.texi (utimes): Likewise.
45075         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
45076         instead.
45077         * doc/posix-functions/futimens.texi (futimens): Mention utimens
45078         module.
45079         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
45080         Mention weakness with symlink timestamps.
45081         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
45082         to utimensat/futimens instead.
45083         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
45084
45085         test-dup2: enhance test
45086         * tests/test-dup2.c (main): Also check AT_FDCWD.
45087
45088         test-stat-time: avoid more spurious failures
45089         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
45090         xfs; and avoid race if the two timestamps cross quantization edge.
45091
45092         relocatable: prefer 'file system' over 'filesystem'
45093         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
45094         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
45095         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
45096         * doc/relocatable.texi (Enabling Relocatability): Likewise.
45097         * lib/relocatable.c (compute_curr_prefix): Likewise.
45098
45099 2009-10-10  Jim Meyering  <meyering@redhat.com>
45100
45101         stat-time-tests: check for the usleep function
45102         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
45103
45104 2009-10-10  Bruno Haible  <bruno@clisp.org>
45105
45106         * modules/xnanosleep: Put the Link section after the Include section.
45107
45108 2009-10-09  Eric Blake  <ebb9@byu.net>
45109
45110         dup2: work around FreeBSD 6.1 bug
45111         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
45112         * doc/posix-functions/dup2.texi (dup2): Document it.
45113         Reported by Nelson H. F. Beebe and Jim Meyering.
45114
45115         test-stat-time: port to buggy NFS clients
45116         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
45117         (test_ctime): Also skip test if mtime and ctime are skewed.
45118
45119         maint: prefer 'file system' over 'filesystem'
45120         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
45121         * doc/posix-functions/lstat.texi (lstat): Likewise.
45122         * lib/file-has-acl.c (file_has_acl): Likewise.
45123         * lib/fwriteerror.c [TEST]: Likewise.
45124         * tests/test-areadlink.h (test_areadlink): Likewise.
45125         * tests/test-areadlinkat-with-size.c (main): Likewise.
45126         * tests/test-areadlinkat.c (main): Likewise.
45127         * tests/test-canonicalize-lgpl.c (main): Likewise.
45128         * tests/test-canonicalize.c (main): Likewise.
45129         * tests/test-fstatat.c (main): Likewise.
45130         * tests/test-linkat.c (main): Likewise.
45131         * tests/test-lstat.h (test_lstat_func): Likewise.
45132         * tests/test-mkdir.h (test_mkdir): Likewise.
45133         * tests/test-readlink.h (test_readlink): Likewise.
45134         * tests/test-remove.c (main): Likewise.
45135         * tests/test-rename.h (test_rename): Likewise.
45136         * tests/test-renameat.c (main): Likewise.
45137         * tests/test-rmdir.h (test_rmdir_func): Likewise.
45138         * tests/test-symlink.h (test_symlink): Likewise.
45139         * tests/test-symlinkat.c (main): Likewise.
45140         * tests/test-unlink.h (test_unlink_func): Likewise.
45141         * tests/test-unlinkat.c (main): Likewise.
45142
45143         maint: make realtime library usage explicit
45144         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
45145         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
45146         * modules/settime (Link): Likewise.
45147         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
45148
45149         test-stat-time: speed up execution
45150         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
45151         warning on mingw.
45152         (nap): New helper function.
45153         (prepare_test): Use it to reduce sleep time.
45154         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
45155         execution.
45156         * modules/stat-time-tests (configure.ac): Check for usleep.
45157
45158 2009-10-09  Jim Meyering  <meyering@redhat.com>
45159
45160         selinux-h: always use getfilecon wrappers
45161         * lib/getfilecon.c: New file.
45162         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
45163         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
45164         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
45165         (fgetfilecon): Provide a stub.
45166         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
45167         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
45168         file unconditionally.
45169         When <selinux/selinux.h> is found, arrange to use wrappers.
45170         * modules/selinux-h (Files): Add getfilecon.c.
45171         (Makefile.am): Substitute include-next-related bits
45172         into the now-always-generated selinux/selinux.h file.
45173         * doc/glibc-functions/lgetfilecon.texi: New file.
45174         * doc/glibc-functions/fgetfilecon.texi: New file.
45175         * doc/glibc-functions/getfilecon.texi: New file.
45176         * doc/glibc-functions/getfilecon-desc.texi: New file.
45177         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
45178         which to pull in the new files.
45179         * MODULES.html.sh (Misc): Add selinux-h.
45180
45181 2009-10-08  Jim Meyering  <meyering@redhat.com>
45182
45183         unistd: fix comment typo
45184         * lib/unistd.in.h (euidaccess): Fix a comment typo.
45185
45186 2009-10-08  Eric Blake  <ebb9@byu.net>
45187
45188         areadlink: use SIZE_MAX consistently
45189         * modules/areadlink (Depends-on): Add stdint.
45190         * modules/areadlink-with-size (Depends-on): Likewise.
45191         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
45192         gives NULL; drop sys/types, since unistd gives size_t; and add
45193         stdint for SIZE_MAX.
45194         (SIZE_MAX): Rely on headers.
45195         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
45196         and add stdint.
45197         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
45198         (SIZE_MAX): Likewise.
45199         (INITIAL_BUF_SIZE): Turn into enum.
45200         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
45201
45202 2009-10-08  Jim Meyering  <meyering@redhat.com>
45203
45204         areadlinkat: avoid compilation failure
45205         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
45206         Fix typo in comment.
45207
45208 2009-10-07  Eric Blake  <ebb9@byu.net>
45209
45210         areadlinkat-with-size: new module
45211         * modules/areadlinkat-with-size: New module.
45212         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
45213         * lib/areadlink.h (areadlinkat): Declare it.
45214         * MODULES.html.sh (File system functions): Mention it.
45215         * modules/areadlinkat-with-size-tests: New test.
45216         * tests/test-areadlinkat-with-size.c: New file.
45217
45218         xreadlinkat: new module
45219         * modules/xreadlinkat: New module.
45220         * lib/xreadlinkat.c (xreadlinkat): New file.
45221         * lib/xreadlink.h (xreadlinkat): Declare it.
45222         * MODULES.html.sh (File system functions): Mention it.
45223
45224         areadlinkat: new module
45225         * lib/at-func.c (FUNC_FAIL): New define.
45226         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
45227         * modules/areadlinkat: New module.
45228         * lib/linkat.c (areadlinkat): Move...
45229         * lib/areadlinkat.c (areadlinkat): ...to new file.
45230         * lib/areadlink.h (areadlinkat): Declare it.
45231         * modules/linkat (Depends-on): Add areadlinkat.
45232         * MODULES.html.sh (File system functions): Mention it.
45233         * modules/areadlinkat-tests: New test.
45234         * tests/test-areadlinkat.c: New file.
45235
45236         areadlink, areadlink-with-size: add tests
45237         * modules/areadlink-tests: New test.
45238         * modules/areadlink-with-size-tests: Likewise.
45239         * tests/test-areadlink.h: New file.
45240         * tests/test-areadlink.c: Likewise.
45241         * tests/test-areadlink-with-size.c: Likewise.
45242
45243         maint: minor cleanups
45244         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
45245         _UNUSED_PARAMETER_ instead.
45246         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
45247         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
45248         * modules/linkat-tests (Files): Distribute test-link.h.
45249
45250         openat, utimens: whitespace cleanup
45251         * lib/openat.c: Prefer space throughout, rather than mix of 8
45252         spaces vs. tabs.
45253         * lib/at-func.c: Likewise.
45254         * lib/utimens.c: Likewise.
45255
45256         openat: avoid using wrong fd
45257         * lib/openat.c (openat_permissive): Reject user's fd if saving the
45258         working directory chooses same fd.
45259         * lib/at-func.c (AT_FUNC_NAME): Likewise.
45260
45261         mkdir, mkdirat: fix cygwin 1.5.x bug
45262         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
45263         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
45264         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
45265         bug.
45266         (gl_PREREQ_MKDIR): Delete unused macro.
45267         * modules/mkdir (Files): Track file rename.
45268         (configure.ac): Update macro name.
45269         * modules/openat (Depends-on): Add mkdir.
45270         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
45271
45272         mkdir, mkdirat: add tests
45273         * modules/mkdir-tests: New test.
45274         * tests/test-mkdir.h: New file.
45275         * tests/test-mkdir.c: Likewise.
45276         * tests/test-mkdirat.c: Likewise.
45277         * modules/openat-tests (Files): Add new files.
45278         (Makefile.am): Run new test.
45279
45280 2009-10-06  Eric Blake  <ebb9@byu.net>
45281
45282         doc: tweak *at function documentation
45283         * doc/posix-functions/faccessat.texi (faccessat): Mention
45284         known issue with replacement.
45285         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
45286         * doc/posix-functions/linkat.texi (linkat): Likewise.
45287         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45288         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45289         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45290         * doc/posix-functions/renameat.texi (renameat): Likewise.
45291         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45292
45293         openat: fix GNU/Hurd bug in unlinkat
45294         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
45295         broken.
45296         * doc/posix-functions/unlink.texi (unlink): Document this.
45297         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
45298
45299         fdopendir: fix GNU/Hurd bug
45300         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
45301         allowing non-directory fds.
45302         * lib/fdopendir.c (rpl_fdopendir): Work around it.
45303         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
45304         * modules/dirent (Makefile.am): Substitute it.
45305         * lib/dirent.in.h (fdopendir): Declare replacement.
45306         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
45307         * tests/test-fdopendir.c (main): Test something other than
45308         /dev/null, since on Hurd that behaves like a directory.
45309
45310         test-symlink: port to GNU/Hurd
45311         * tests/test-symlink.h (test_symlink): Relax expected errno.
45312
45313         doc: tweak more cygwin information
45314         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
45315         now compatible with glibc.
45316         * doc/posix-functions/getopt.texi (getopt): Likewise.
45317
45318         getopt-gnu: add another test
45319         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
45320         guarantee behavior relied on by m4.
45321         * tests/test-getopt.c (main): Use it.
45322         * modules/getopt-posix-tests (Depends-on): Add setenv.
45323         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
45324
45325         getopt: fix compilation on darwin
45326         * lib/getopt.in.h (includes): Leave breadcrumbs during system
45327         include.
45328         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
45329         Reported by Ludovic Courtès.
45330
45331 2009-10-06  Bruno Haible  <bruno@clisp.org>
45332
45333         * modules/size_max (Description): Discourage its use.
45334         Reported by Simon Josefsson.
45335
45336 2009-10-06  Jim Meyering  <meyering@redhat.com>
45337
45338         linkat: avoid compilation failure
45339         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
45340
45341 2009-10-05  Eric Blake  <ebb9@byu.net>
45342
45343         linkat: support Linux 2.6.17
45344         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
45345         linkat on Linux, but allow cache variable override.
45346         * lib/linkat.c (rpl_linkat): Define override.
45347         * modules/linkat (Depends-on): Add symlinkat.
45348         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
45349         * modules/unistd (Makefile.am): Substitute it.
45350         * lib/unistd.in.h (linkat): Declare replacement.
45351         Reported by Pádraig Brady.
45352
45353         quotearg: port test to systems with C.UTF-8 locale
45354         * tests/test-quotearg.c (struct result_strings): Add another
45355         member, differentiating between C.ASCII and C.UTF-8 handling.
45356         (compare_strings): Add parameter.
45357         (main): Adjust all callers.
45358
45359         getopt: avoid clash with FreeBSD _getopt_internal
45360         * lib/getopt.in.h (_getopt_internal): Override the name.
45361         * lib/getopt_int.h (includes): Pick up any overrides.
45362         Reported by Reuben Thomas.
45363
45364         hash: allow C89 compilation
45365         * lib/hash.c (check_tuning): Move declaration before statement.
45366         Reported by Reuben Thomas.
45367
45368 2009-10-05  Karl Berry  <karl@gnu.org>
45369
45370         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
45371
45372 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
45373             Bruno Haible  <bruno@clisp.org>
45374
45375         * lib/uname.c (uname): Use a table-driven algorithm to compute
45376         Windows NT versions.
45377
45378 2009-10-04  Bruno Haible  <bruno@clisp.org>
45379
45380         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
45381         program_invocation_short_name.
45382         * modules/progname (configure.ac): Test for presence of
45383         program_invocation_short_name.
45384         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
45385
45386 2009-10-04  Bruno Haible  <bruno@clisp.org>
45387
45388         * lib/progname.c (set_program_name): Fix comment.
45389         Reported by Jim Meyering.
45390
45391 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
45392             Bruno Haible  <bruno@clisp.org>
45393
45394         * lib/uname.c: Include <string.h>.
45395         (uname): Do only one call to GetVersionEx in the common case.
45396
45397 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
45398             Bruno Haible  <bruno@clisp.org>
45399
45400         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
45401         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
45402         (uname): Add support for Windows CE and various non-x86 CPU types.
45403
45404 2009-10-03  Bruno Haible  <bruno@clisp.org>
45405
45406         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
45407         invocation to tests/configure.ac.
45408         Reported by Ian Beckwith <ianb@erislabs.net>.
45409
45410 2009-10-02  Eric Blake  <ebb9@byu.net>
45411
45412         fchdir: avoid compiler warning
45413         * lib/fchdir.c (canonicalize_file_name)
45414         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
45415
45416         test-open: support mingw errno values
45417         * tests/test-open.h (test_open): Relax test.
45418         * tests/test-fopen.h (test_fopen): Likewise.
45419         * tests/test-openat-safer.c (main): Likewise.
45420
45421         open: fix opening directory on mingw
45422         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
45423
45424         test-open: on GNU/Hurd, /dev/null is a directory
45425         * tests/test-fopen.h (main): Rename...
45426         (test_fopen): ...to this.  Use a guaranteed non-directory when
45427         confirming open behavior on trailing slash.
45428         * tests/test-openat-safer.c (main): Likewise.
45429         * tests/test-open.h (main): Likewise....
45430         (test_open): ...to this.
45431         * tests/test-fopen.c (main): Adjust caller.
45432         * tests/test-fopen-safer.c (main): Likewise.
45433         * tests/test-open.c (main): Likewise.
45434         * tests/test-fcntl-safer.c (main): Likewise.
45435         Reported by Samuel Thibault.
45436
45437         rename, fchdir: don't ignore chdir failure
45438         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
45439         * lib/rename.c (rpl_rename) [W32]: Likewise.
45440         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
45441         an empty destination directory if source cannot be renamed,
45442         although there is still possibility for failure.
45443         * doc/posix-functions/rename.texi (rename): Document the race.
45444         Reported by Jim Meyering.
45445
45446         maint: cleanup whitespace in recent commits
45447         * lib/rename.c (rpl_rename): Remove tabs.
45448         * tests/test-link.h (test_link): Likewise.
45449         * lib/fchdir.c (get_name): Likewise.
45450         Reported by Jim Meyering.
45451
45452 2009-10-02  Ben Pfaff  <blp@gnu.org>
45453
45454         relocatable-prog-wrapper: Add missing dependency on
45455         double-slash-root.
45456         * modules/relocatable-prog-wrapper: Add dependency.
45457         Reported by Ian Beckwith <ianb@erislabs.net>.
45458
45459 2009-10-02  Eric Blake  <ebb9@byu.net>
45460
45461         renameat: fix Solaris bugs
45462         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
45463         needed fixing.
45464         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
45465         * modules/stdio (Makefile.am): Substitute it.
45466         * lib/stdio.in.h (renameat): Declare replacement.
45467         * lib/renameat.c (rpl_renameat): Implement fix.
45468
45469         renameat: new module
45470         * modules/renameat: New file.
45471         * lib/renameat.c (renameat): Likewise.
45472         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
45473         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
45474         * modules/stdio (Makefile.am): Substitute them.
45475         * lib/stdio.in.h (renameat): Declare it.
45476         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45477         * doc/posix-functions/renameat.texi (renameat): Likewise.
45478         * modules/renameat-tests: New test.
45479         * tests/test-renameat.c: Likewise.
45480
45481         rename: fix mingw bugs
45482         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
45483         directory overwrite bugs.
45484
45485         rename: fix another cygwin 1.5 bug
45486         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
45487         checks.
45488         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
45489         unnecessary cygwin workarounds.  Also work around bug with moving
45490         full directory onto an empty one.
45491         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
45492
45493         rename-dest-slash: merge into rename module
45494         * modules/rename-dest-slash (Status): Mark obsolete.
45495         (Depends-on): Add rename.
45496         (Files): Let rename do it all.
45497         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
45498         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
45499         * m4/rename-dest-slash.m4: ...so this file can be deleted.
45500         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
45501         * lib/rename.c (rpl_rename): Update comments.
45502
45503         rename: fix cygwin 1.5.x bugs
45504         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
45505         * lib/rename.c (rpl_rename): Work around them.
45506         * modules/rename (Depends-on): Add same-inode.
45507
45508         rename: fix Solaris 10 bug
45509         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
45510         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
45511         was the only bug.
45512
45513         rename: fix Solaris 9 bug
45514         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
45515         on non-directory.  Avoid calling exit.
45516         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
45517         strdup.
45518         * modules/rename-tests (Depends-on): Drop lstat.
45519         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
45520         (gl_PREREQ_RENAME): Delete unused macro.
45521
45522         rename-dest-slash: fix NetBSD bug
45523         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
45524         links.
45525         * modules/rename-dest-slash (Depends-on): Add same-inode.
45526
45527         rename-tests: new test, exposes several platform bugs
45528         * modules/rename-tests: New file.
45529         * tests/test-rename.h: Likewise.
45530         * tests/test-rename.c: Likewise.
45531         * doc/posix-functions/rename.texi (rename): Improve documentation,
45532         including bugs that will eventually be fixed in gnulib.
45533
45534 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
45535
45536         * lib/uname.c: Include <stdlib.h>
45537         (uname): Assume version info is available.
45538
45539 2009-10-02  Jim Meyering  <meyering@redhat.com>
45540
45541         gnu-web-doc-update: correct --help output
45542         * build-aux/gnu-web-doc-update: Make --help output relevant.
45543
45544         gnu-web-doc-update: add standard options
45545         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
45546
45547         gnu-web-doc-update: New module.
45548         Use this script to automatically update the on-line web documentation
45549         for your GNU project at http://www.gnu.org/software/$pkg/manual/
45550         * modules/gnu-web-doc-update: New file, from coreutils.
45551         * build-aux/gnu-web-doc-update: New script.
45552
45553 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
45554
45555         link: LoadLibrary is not needed.
45556         * lib/link.c: Use GetModuleHandle.
45557
45558 2009-10-01  Eric Blake  <ebb9@byu.net>
45559
45560         getopt: bump serial number
45561         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
45562         change.
45563
45564         tests: tighten link, rmdir, and remove tests
45565         * tests/test-link.h (includes): No need to use <config.h> here.
45566         Clean up if directory hard link was created, otherwise test for
45567         trailing '.'.
45568         * tests/test-linkat.c (main): Simplify.
45569         * tests/test-remove.c (main): Enhance test for trailing '.'.
45570         * tests/test-rmdir.h (test_rmdir_func): Likewise.
45571
45572 2009-10-01  Jim Meyering  <meyering@redhat.com>
45573
45574         maint.mk: requiring "make major" was annoying, for a "minor" release.
45575         What is intended is "stable", to contrast with alpha and beta,
45576         so require "make stable", not "make major".
45577         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
45578         (get_tool_versions): Likewise.
45579         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
45580
45581 2009-09-30  Ben Pfaff  <blp@gnu.org>
45582
45583         Fix broken build of replacement for Windows tmpfile().
45584         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
45585         flags argument added along with the 'mkostemp' module.
45586
45587 2009-09-28  Bruno Haible  <bruno@clisp.org>
45588
45589         Avoid identifier clash with POSIX function 'remove' defined as a macro.
45590         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
45591         to 'remove_elt'.
45592         (gl_list_remove): Update.
45593         * lib/gl_list.c (gl_list_remove): Update.
45594         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
45595         to 'remove_elt'.
45596         (gl_oset_remove): Update.
45597         * lib/gl_list.c (gl_oset_remove): Update.
45598         Reported by Eric Blake.
45599
45600 2009-09-28  Eric Blake  <ebb9@byu.net>
45601
45602         doc: mention yet more cygwin 1.7 status
45603         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
45604         cygwin.
45605         * doc/glibc-functions/execvpe.texi (execvpe): New file.
45606         * doc/gnulib.texi (Glibc unistd.h): Mention it.
45607
45608         argp: fix test failure
45609         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
45610         that are not upper-case.  Pass correct range to tolower.
45611
45612 2009-09-27  Jim Meyering  <meyering@redhat.com>
45613
45614         test-yesno: work around sparc-dash here-document infelicity
45615         Without this change, the literal \177 byte in a here document
45616         would make dash 0.5.5.1-3 access uninitialized memory.
45617         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
45618         Instead, use a marker, "@", and filter through tr to create the desired
45619         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
45620
45621 2009-09-27  Bruno Haible  <bruno@clisp.org>
45622
45623         Disable untested support for new flavours of ACLs on AIX.
45624         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
45625         progress.
45626         * lib/set-mode-acl.c (qset_acl): Likewise.
45627
45628 2008-12-07  Bruno Haible  <bruno@clisp.org>
45629
45630         Add support for new flavours of ACLs on AIX. (Untested.)
45631         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
45632         (file_has_acl): Add support for newer AIX.
45633         * lib/set-mode-acl.c (qset_acl): Likewise.
45634         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
45635         Rainer Tammer <tammer@tammer.net>.
45636
45637 2009-09-26  Eric Blake  <ebb9@byu.net>
45638
45639         argp: fix compilation of getopt
45640         * lib/getopt.in.h (includes): Use different guard than glibc.
45641         Reported by Sergey Poznyakoff.
45642
45643         doc: mention more cygwin 1.7 status
45644         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
45645         bug.
45646         * doc/posix-functions/execl.texi (execl): Likewise.
45647         * doc/posix-functions/execle.texi (execle): Likewise.
45648         * doc/posix-functions/execlp.texi (execlp): Likewise.
45649         * doc/posix-functions/execv.texi (execv): Likewise.
45650         * doc/posix-functions/execve.texi (execve): Likewise.
45651         * doc/posix-functions/execvp.texi (execvp): Likewise.
45652         * doc/glibc-functions/canonicalize_file_name.texi
45653         (canonicalize_file_name): Cygwin 1.7 now provides this.
45654         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
45655         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
45656         on AT_SYMLINK_NOFOLLOW.
45657
45658 2009-09-24  Eric Blake  <ebb9@byu.net>
45659
45660         test-linkat: make test more robust
45661         * tests/test-linkat.c (main): Avoid collision with EEXIST.
45662
45663         getopt: fix inclusion guards for cygwin
45664         * modules/getopt-posix (Depends-on): Add include-next.
45665         (Makefile.am): Substitute more items in replacement header.
45666         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
45667         <getopt.h>.
45668         * lib/getopt.in.h (includes): Use split inclusion guard, and
45669         prefer <getopt.h> over include <unistd.h> when one is present.
45670         (option): Also override name of 'struct option'.
45671
45672         same-inode: revert prior change; it is not yet ready
45673         * NEWS: Undo mention of this change.
45674         * lib/same-inode.h (same-inode.h): Undo tri-state change.
45675         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
45676         * lib/cycle-check.c (cycle_check): Likewise.
45677         * lib/same.c (same_name): Likewise.
45678         * lib/at-func2.c (at_func2): Likewise.
45679
45680 2009-09-23  Eric Blake  <ebb9@byu.net>
45681
45682         linkat: new module
45683         * modules/linkat: New file.
45684         * lib/at-func2.c (at_func2): Likewise.
45685         * lib/linkat.c (linkat): Likewise.
45686         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
45687         * lib/openat-priv.h (at_func2): Add declaration.
45688         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45689         * modules/unistd (Makefile.am): Substitute them.
45690         * lib/unistd.in.h (linkat): Declare it.
45691         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45692         * doc/posix-functions/linkat.texi (linkat): Likewise.
45693         * doc/posix-functions/link.texi (link): Tweak wording.
45694         * tests/test-link.c (main): Move guts...
45695         * tests/test-link.h (test_link): ...into new file.
45696         * modules/linkat-tests: New test.
45697         * tests/test-linkat.c: Likewise.
45698         * modules/link-tests (Files): Ship new file.
45699         (Depends-on): Add stdbool.
45700
45701         dirname: add library-safe mdir_name
45702         * lib/dirname.h (mdir_name): New prototype.
45703         * lib/dirname.c (dir_name): Move guts...
45704         (mdir_name): ...to new function that avoids xalloc_die.
45705
45706         fchdir: another mingw fix
45707         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
45708         * lib/fchdir.c (get_name): New helper method; skips canonicalize
45709         on mingw (where it has not yet been ported), and make it optional
45710         elsewhere.
45711         (_gl_register_fd): Use it.
45712
45713         same-inode: make SAME_INODE tri-state, to port to mingw
45714         * NEWS: Mention this change.
45715         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
45716         st_ino always being 0.
45717         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
45718         * lib/cycle-check.c (cycle_check): Likewise.
45719         * lib/same.c (same_name): Likewise.
45720
45721         lstat: avoid mingw compilation error
45722         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
45723         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
45724         lstat ourselves.
45725         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
45726         was adequate.
45727         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
45728         the checks for lstat.
45729         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
45730
45731         link: fix test failure on Solaris 9
45732         * lib/link.c (rpl_link): Don't assume link will catch bogus
45733         trailing slash on source.
45734
45735         test-symlinkat: enhance test
45736         * tests/test-readlink.c (main): Move guts...
45737         * tests/test-readlink.h (test_readlink): ...into new file.
45738         * tests/test-symlink.c (main): Move guts...
45739         * tests/test-symlink.h (test_symlink): ...into new file.
45740         * tests/test-symlinkat.c (main): Use new files for further
45741         coverage.
45742         (do_symlink, do_readlink): New helper functions.
45743         * modules/symlink-tests (Files): Ship new file.
45744         (Depends-on): Add stdbool.
45745         * modules/readlink-tests (Files): Ship new file.
45746         (Depends-on): Add stdbool.
45747         * modules/symlinkat-tests (Files): Use new files.
45748
45749 2009-09-23  Eric Blake  <ebb9@byu.net>
45750
45751         readlink: document portability issue with symlink length
45752         * doc/posix-functions/lstat.texi (lstat): Mention that some file
45753         systems have bogus st_size on symlinks, and mention the
45754         areadlink-with-size module.
45755         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
45756         * doc/posix-functions/readlink.texi (readlink): Mention the
45757         areadlink module, and ERANGE failure.
45758         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45759         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
45760
45761         readlink: fix Solaris 9 bug with trailing slash
45762         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
45763         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
45764         * doc/posix-functions/readlink.texi (readlink): Document this.
45765         * modules/readlink-tests: New test.
45766         * tests/test-readlink.c: Likewise.
45767
45768         readlink: fix cygwin 1.5.x bug with return type
45769         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
45770         * lib/unistd.in.h (readlink): Use ssize_t.
45771         * lib/readlink.c (readlink): Likewise.
45772         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45773         * modules/unistd (Makefile.am): Substitute it.
45774         * lib/unistd.in.h (readlink): Declare replacement.
45775         * doc/posix-functions/readlink.texi (readlink): Document this.
45776
45777         symlink: use throughout gnulib
45778         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
45779         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
45780         symlink is not used.
45781         * modules/symlinkat (Depends-on): Add symlink.
45782         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45783         * modules/canonicalize-tests (Depends-on): Likewise.
45784         * modules/lstat-tests (Depends-on): Likewise.
45785         * modules/openat-tests (Depends-on): Likewise.
45786         * modules/remove-tests (Depends-on): Likewise.
45787         * modules/rmdir-tests (Depends-on): Likewise.
45788         * modules/unlink-tests (Depends-on): Likewise.
45789         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
45790         * tests/test-canonicalize.c (symlink): Likewise.
45791         * tests/test-fstatat.c (symlink): Likewise.
45792         * tests/test-lstat.c (symlink): Likewise.
45793         * tests/test-remove.c (symlink): Likewise.
45794         * tests/test-rmdir.c (symlink): Likewise.
45795         * tests/test-unlink.c (symlink): Likewise.
45796         * tests/test-unlinkat.c (symlink): Likewise.
45797
45798         symlink: new module, for Solaris 9 bug
45799         * modules/symlink: New file.
45800         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
45801         * lib/symlink.c: Likewise.
45802         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
45803         * modules/unistd (Makefile.am): Substitute them.
45804         * lib/unistd.in.h (symlink): Declare replacement.
45805         * MODULES.html.sh (File system functions): Mention it.
45806         * doc/posix-functions/symlink.texi (symlink): Likewise.
45807         * modules/symlink-tests: New test.
45808         * tests/test-symlink.c: Likewise.
45809
45810 2009-09-23  Bruno Haible  <bruno@clisp.org>
45811
45812         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
45813         when needed.
45814         Test case: gnulib-tool --import --with-tests atexit inttypes.
45815         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
45816
45817 2009-09-23  Bruno Haible  <bruno@clisp.org>
45818
45819         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
45820         subcommand, not in a subshell.
45821
45822 2009-09-22  Eric Blake  <ebb9@byu.net>
45823
45824         unistd: sort replacement declarations
45825         * lib/unistd.in.h: Sort declarations.
45826
45827         open, openat: minor optimization
45828         * lib/open.c (open): If open succeeded, len is non-zero.
45829         * lib/openat.c (rpl_openat): Likewise.
45830
45831         link-follow: ensure correct result
45832         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
45833         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
45834         distinguish between possible failures.
45835
45836 2009-09-21  Eric Blake  <ebb9@byu.net>
45837
45838         fts: avoid compiler warning
45839         * lib/fts.c (dirent_inode_sort_may_be_useful)
45840         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
45841
45842 2009-09-19  Bruno Haible  <bruno@clisp.org>
45843
45844         * lib/progreloc.c (canonicalize_file_name): New declaration.
45845
45846 2009-09-19  Eric Blake  <ebb9@byu.net>
45847
45848         link: fix quoting
45849         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
45850
45851         openat: fix openat bugs on Solaris 9
45852         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
45853         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
45854         * modules/openat (Depends-on): Add open.
45855         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
45856         * modules/fcntl-h (Makefile.am): Substitute it.
45857         * lib/fcntl.in.h (openat): Declare replacement.
45858         * doc/posix-functions/openat.texi (openat): Document this.
45859
45860         openat: move fstatat and unlinkat into correct files
45861         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
45862         compiled.
45863         * lib/openat.c (fstatat, unlinkat): Move...
45864         * lib/fstatat.c (fstatat): ...into correct files.
45865         * lib/unlinkat.c (unlinkat): Likewise.
45866
45867         openat: fix unlinkat bugs on Solaris 9
45868         * lib/unlinkat.c (unlinkat): New file.
45869         * modules/openat (Depends-on): Add unlink.
45870         (Files): Distribute it.
45871         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
45872         trailing slash behavior is broken.
45873         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45874         * modules/unistd (Makefile.am): Substitute it.
45875         * lib/unistd.in.h (unlinkat): Declare replacement.
45876         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
45877
45878         openat: fix fstatat bugs on Solaris 9
45879         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
45880         stat.
45881         * doc/posix-functions/fstatat.texi (fstatat): Document this.
45882
45883         test-unlinkat: enhance test, to expose Solaris 9 bug
45884         * tests/test-unlink.c (main): Factor guts...
45885         * tests/test-unlink.h (test_rmdir_func): ...into new file.
45886         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
45887         * tests/test-rmdir.c (main): Adjust caller.
45888         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
45889         (unlinker): New helper function.
45890         (rmdirat): Enhance check.
45891         * modules/rmdir-tests (Depends-on): Add stdbool.
45892         * modules/unlink-tests (Depends-on): Likewise.
45893         (Files): Add test-unlink.h.
45894         * modules/openat-tests (Files): Likewise.
45895         (Depends-on): Add unlinkdir.
45896
45897         test-fstatat: new test, to expose Solaris 9 bugs
45898         * tests/test-stat.c (main): Factor guts...
45899         * tests/test-stat.h (test_stat_func): ...into new file.
45900         * tests/test-lstat.c (main): Factor guts...
45901         * tests/test-lstat.h (test_lstat_func): ...into new file.
45902         * tests/test-fstatat.c: New file.
45903         * modules/stat-tests (Files): Add test-stat.h.
45904         * modules/lstat-tests (Files): Add test-lstat.h.
45905         (Depends-on): Add stdbool.
45906         * modules/openat-tests (Depends-on): Add pathmax.
45907         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
45908         (Makefile.am): Run new test.
45909
45910         remove: new module, for mingw and Solaris 9 bugs
45911         * modules/remove: New file.
45912         * lib/remove.c: Likewise.
45913         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
45914         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
45915         * modules/stdio (Makefile.am): Use them.
45916         * lib/stdio.in.h (remove): Declare replacement.
45917         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45918         * doc/posix-functions/remove.texi (remove): Likewise.
45919         * modules/remove-tests: New test.
45920         * tests/test-remove.c: Likewise.
45921
45922         unlink: new module, for Solaris 9 bug
45923         * modules/unlink: New file.
45924         * lib/unlink.c: Likewise.
45925         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
45926         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45927         * modules/unistd (Makefile.am): Use them.
45928         * lib/unistd.in.h (stat): Declare replacement.
45929         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45930         * doc/posix-functions/unlink.texi (unlink): Likewise.
45931         * modules/unlink-tests: New test.
45932         * tests/test-unlink.c: Likewise.
45933
45934         lstat: fix Solaris 9 bug
45935         * lib/lstat.c (lstat): Also check for trailing slash on
45936         non-symlink, non-directories.  Use stat module to simplify logic.
45937         * doc/posix-functions/lstat.texi (lstat): Document it.
45938         * modules/lstat-tests (Depends-on): Add errno, same-inode.
45939         (configure.ac): Check for symlink.
45940         * tests/test-lstat.c (main): Add more tests.
45941
45942         stat: add as dependency to other modules
45943         * modules/chown (Depends-on): Add stat.
45944         * modules/euidaccess (Depends-on): Likewise.
45945         * modules/fchdir (Depends-on): Likewise.
45946         * modules/isdir (Depends-on): Likewise.
45947         * modules/link (Depends-on): Likewise.
45948         * modules/lstat (Depends-on): Likewise.
45949         * modules/mkdir-p (Depends-on): Likewise.
45950         * modules/modechange (Depends-on): Likewise.
45951         * modules/open (Depends-on): Likewise.
45952         * modules/readlink (Depends-on): Likewise.
45953         * modules/same (Depends-on): Likewise.
45954
45955         stat: fix Solaris 9 bug
45956         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
45957         slash.
45958         * lib/stat.c (rpl_stat): Work around it.
45959         * doc/posix-functions/stat.texi (stat): Update documentation.
45960
45961         stat: new module, for mingw bug
45962         * modules/stat: New file.
45963         * lib/stat.c: Likewise.
45964         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
45965         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45966         * modules/sys_stat (Makefile.am): Use them.
45967         * lib/sys_stat.in.h (stat): Declare replacement.
45968         * lib/openat.c (fstatat): Deal with lstat and stat being function
45969         macros.
45970         * modules/openat (Depends-on): Add inline.
45971         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45972         * doc/posix-functions/stat.texi (stat): Likewise.
45973         * modules/stat-tests: New test.
45974         * tests/test-stat.c: Likewise.
45975
45976 2009-09-19  Jim Meyering  <meyering@redhat.com>
45977
45978         syntax-check: detect unnecessary inclusion of canonicalize.h
45979         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
45980
45981 2009-09-19  Eric Blake  <ebb9@byu.net>
45982
45983         canonicalize-lgpl: adjust clients to use correct header
45984         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45985         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
45986         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
45987         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
45988         * lib/progreloc.c (includes): Likewise.
45989
45990 2009-09-19  Jim Meyering  <meyering@redhat.com>
45991
45992         test-posixtm.c: correct a comment
45993         * tests/test-posixtm.c: Correct first-line comment.
45994         Spotted by Eric Blake.
45995
45996 2009-09-16  Jim Meyering  <meyering@redhat.com>
45997
45998         posixtm-tests: make T const-correct; add a test case
45999         * tests/test-posixtm.c (T): Declare const.
46000         Add a test for -(2^31+1).
46001         Remove useless can-succeed-only-in-2002 test.
46002
46003         posixtm-tests: adjust the sole failing test
46004         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
46005         expected output matches what mktime now produces.  Cross-checked via
46006         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
46007
46008         posixtm: move #ifdef'd tests into a new module
46009         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
46010         * tests/test-posixtm.c: ... this new file.
46011         * modules/posixtm-tests: New module.
46012
46013 2009-09-19  Eric Blake  <ebb9@byu.net>
46014
46015         openat: simplify use of at-func.c
46016         * lib/at-func.c (includes): Include prerequisites here, to
46017         simplify requirements on client files.
46018         * lib/openat-priv.h: Add double-inclusion guard.
46019         * lib/faccessat.c (includes): Simplify.
46020         * lib/fchmodat.c (includes): Likewise.
46021         * lib/fchownat.c (includes): Likewise.
46022         * lib/mkdirat.c (includes): Likewise.
46023         * lib/mkfifoat.c (includes): Likewise.
46024         * lib/symlinkat.c (includes): Likewise.
46025
46026         openat: allow return of fd 0
46027         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
46028         * modules/save-cwd (Depends-on): Replace fcntl-safer with
46029         unistd-safer.
46030         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
46031         <fcntl.h>; this module does not leak fds.
46032         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
46033         must be allowed to return 0, leaving openat_safer to add the
46034         safety.
46035         (openat_permissive): Avoid writing to just-opened fd 2 if
46036         restoring the current directory fails.
46037         * lib/openat-die.c (openat_restore_fail): Add comment.
46038         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
46039         (save_cwd): Guarantee safe fd, but without use of open_safer.
46040         * tests/test-openat.c: New test.
46041         * modules/openat-tests (Files, Makefile.am): Distribute and build
46042         new file.
46043
46044         relocatable-prog-wrapper: fix build
46045         * modules/relocatable-prog-wrapper (Files): Update name of
46046         canonicalize m4 file, broken on 2009-09-17.
46047         Reported by emad hajjar <aleppos@hotmail.com>.
46048
46049 2009-09-19  Bruno Haible  <bruno@clisp.org>
46050
46051         * lib/safe-alloc.h: Use the standard header with GPL copyright.
46052         * lib/safe-alloc.c: Likewise.
46053         Reported by Ian Beckwith <ianb@erislabs.net>.
46054
46055 2009-09-18  Bruno Haible  <bruno@clisp.org>
46056
46057         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
46058         Reported by <erobles@sensacd.com.mx>.
46059
46060 2009-09-17  Eric Blake  <ebb9@byu.net>
46061
46062         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
46063         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
46064         slashes when checking if last component is missing.
46065         * tests/test-canonicalize.c (main): Test this.
46066
46067         canonicalize, canonicalize-lgpl: honor // if distinct from /
46068         * modules/canonicalize (Files): Add double-slash-root.m4.
46069         * modules/canonicalize-lgpl (Files): Likewise.
46070         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
46071         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
46072         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
46073         fallback definition.
46074         (canonicalize_filename_mode): Use it to protect //.
46075         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
46076         (__realpath): Likewise.
46077         * tests/test-canonicalize.c (main): Test this.
46078         * tests/test-canonicalize-lgpl.c (main): Likewise.
46079         * modules/canonicalize-tests (Depends-on): Add same-inode.
46080         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
46081
46082         canonicalize-lgpl: fix glibc bug with trailing slash
46083         * m4/canonicalize-lgpl.m4: Move contents...
46084         * m4/canonicalize.m4: ...here.
46085         (gl_CANONICALIZE_LGPL): Factor realpath check...
46086         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
46087         glibc 2.3.5 bug, fixed 2005-04-27.
46088         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
46089         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
46090         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
46091         * modules/canonicalize-lgpl (Files): Manage file rename.
46092         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
46093         * modules/stdlib (Makefile.am): Substitute witness.
46094         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
46095         is needed.
46096         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
46097         replacement is required.
46098         * lib/canonicalize.c (canonicalize_file_name): Likewise.
46099         * doc/glibc-functions/canonicalize_file_name.texi
46100         (canonicalize_file_name): Document this.
46101         * doc/posix-functions/realpath.texi (realpath): Likewise.
46102
46103         canonicalize-lgpl: reject non-directory with trailing slash
46104         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
46105         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
46106         catches failures in glibc 2.3.5.
46107         * tests/test-canonicalize.c (main): Likewise.
46108
46109         canonicalize-lgpl: use native realpath if it works
46110         * lib/canonicalize-lgpl.c (realpath): Guard with
46111         FUNC_REALPATH_WORKS.
46112         * lib/stdlib.in.h (realpath): Make declaration optional based on
46113         HAVE_REALPATH.
46114         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
46115         native realpath works.
46116         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
46117         * modules/stdlib (Makefile.am): Substitute witness.
46118
46119         canonicalize, canonicalize-lgpl: use <stdlib.h>
46120         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
46121         (Include): Mention <stdlib.h>.
46122         (configure.ac): Mention functions we provide.
46123         * modules/canonicalize (configure.ac): Likewise.
46124         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
46125         realpath if canonicalize_file_name is missing.
46126         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
46127         * modules/stdlib (Makefile.am): Substitute witnesses.
46128         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
46129         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
46130         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
46131         * NEWS: Document this.
46132         * doc/glibc-functions/canonicalize_file_name.texi
46133         (canonicalize_file_name): Likewise.
46134         * doc/posix-functions/realpath.texi (realpath): Likewise.
46135         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
46136
46137         test-canonicalize: consolidate into single C program
46138         * tests/test-canonicalize.sh: Delete; move setup into...
46139         * tests/test-canonicalize.c (main): ...the program, making it
46140         easier to run in debugger.  Add some tests.
46141         * modules/canonicalize-tests (Files): Remove unused file.
46142         (Depends-on): Add progname.
46143         (configure.ac, Makefile.am): Simplify.
46144
46145         test-canonicalize-lgpl: consolidate into single C program
46146         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
46147         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
46148         easier to run in debugger.  Add some tests.
46149         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
46150         (configure.ac, Makefile.am): Simplify.
46151
46152         canonicalize: avoid resolvepath
46153         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
46154         unnecessary checks.
46155         * lib/canonicalize.c (includes): Simplify.
46156         (canonicalize_file_name): Drop resolvepath implementation.
46157         * modules/canonicalize (Depends-on): Drop filenamecat.
46158
46159         canonicalize: don't lose errno
46160         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
46161         over calls to free.
46162
46163         canonicalize: simplify errno handling
46164         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
46165         assignment.
46166
46167         canonicalize, canonicalize-lgpl: update module dependencies
46168         * modules/canonicalize (Depends-on): Add extensions, lstat,
46169         pathmax, stdlib.
46170         (Files): Drop pathmax.h.
46171         (configure.ac): Adjust macro name.
46172         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
46173         lstat, stdlib, sys_stat.
46174         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
46175         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
46176         extensions.
46177         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
46178         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
46179         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
46180         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
46181         declaration, if available.
46182         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
46183         we can rely on the readlink module.
46184         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
46185         (includes): Use <unistd.h> unconditionally.
46186
46187 2009-09-17  Eric Blake  <ebb9@byu.net>
46188
46189         maint: make Include sections of modules consistent
46190         * modules/alloca: Use only header name; no need to list #include.
46191         * modules/alloca-opt: Likewise.
46192         * modules/arpa_inet: Likewise.
46193         * modules/canon-host: Likewise.
46194         * modules/configmake: Likewise.
46195         * modules/dirent: Likewise.
46196         * modules/eealloc: Likewise.
46197         * modules/environ: Likewise.
46198         * modules/fchdir: Likewise.
46199         * modules/fcntl: Likewise.
46200         * modules/fcntl-h: Likewise.
46201         * modules/gethrxtime: Likewise.
46202         * modules/gettime: Likewise.
46203         * modules/ignore-value: Likewise.
46204         * modules/inet_ntop: Likewise.
46205         * modules/inet_pton: Likewise.
46206         * modules/inttypes: Likewise.
46207         * modules/isnand-nolibm: Likewise.
46208         * modules/isnanf-nolibm: Likewise.
46209         * modules/mbchar: Likewise.
46210         * modules/mbfile: Likewise.
46211         * modules/mbiter: Likewise.
46212         * modules/mbuiter: Likewise.
46213         * modules/netdb: Likewise.
46214         * modules/netinet_in: Likewise.
46215         * modules/nproc: Likewise.
46216         * modules/pagealign_alloc: Likewise.
46217         * modules/poll: Likewise.
46218         * modules/printf-frexp: Likewise.
46219         * modules/pthread: Likewise.
46220         * modules/putenv: Likewise.
46221         * modules/random_r: Likewise.
46222         * modules/relocatable-prog: Likewise.
46223         * modules/search: Likewise.
46224         * modules/select: Likewise.
46225         * modules/selinux-h: Likewise.
46226         * modules/settime: Likewise.
46227         * modules/signal: Likewise.
46228         * modules/size_max: Likewise.
46229         * modules/socklen: Likewise.
46230         * modules/ssize_t: Likewise.
46231         * modules/stdarg: Likewise.
46232         * modules/stdbool: Likewise.
46233         * modules/stddef: Likewise.
46234         * modules/stdint: Likewise.
46235         * modules/stdio: Likewise.
46236         * modules/stdlib: Likewise.
46237         * modules/string: Likewise.
46238         * modules/strings: Likewise.
46239         * modules/sys_file: Likewise.
46240         * modules/sys_ioctl: Likewise.
46241         * modules/sys_select: Likewise.
46242         * modules/sys_socket: Likewise.
46243         * modules/sys_stat: Likewise.
46244         * modules/sys_time: Likewise.
46245         * modules/sys_times: Likewise.
46246         * modules/sys_utsname: Likewise.
46247         * modules/sys_wait: Likewise.
46248         * modules/sysexits: Likewise.
46249         * modules/time: Likewise.
46250         * modules/times: Likewise.
46251         * modules/tmpfile: Likewise.
46252         * modules/trim: Likewise.
46253         * modules/unistd: Likewise.
46254         * modules/wchar: Likewise.
46255         * modules/wctype: Likewise.
46256
46257 2009-09-17  Bruno Haible  <bruno@clisp.org>
46258
46259         Make getdate.y compile on QNX and NetBSD 5 / i386.
46260         * m4/getdate.m4 (gl_GETDATE): Conditionally define
46261         TIME_T_FITS_IN_LONG_INT.
46262         * lib/getdate.y (long_time_t): New type.
46263         (relative_time): Change type of 'seconds' field to long_time_t.
46264         (get_date): Update types of local variables. Check against overflow
46265         during conversion from long_time_t to time_t.
46266         Reported by Matt Kraai <kraai@ftbfs.org>
46267         and Hasso Tepper <hasso@netbsd.org>.
46268
46269 2009-09-17  Bruno Haible  <bruno@clisp.org>
46270
46271         * modules/COPYING: Update copyright years.
46272         * modules/README: Likeiwse.
46273         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
46274         Reported by Ian Beckwith <ianb@erislabs.net>.
46275
46276 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
46277
46278         * users.txt: Update references for gnuit package.
46279
46280 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
46281
46282         * m4/getdelim.m4: Fix typo in copyright line.
46283
46284 2009-09-17  Bruno Haible  <bruno@clisp.org>
46285
46286         * lib/atoll.c: Use the standard header with GPL copyright.
46287         * lib/argz.in.h: Likewise.
46288         * lib/glob.c: Likewise.
46289         * lib/glob-libc.h: Likewise.
46290         * lib/random_r.c: Likewise.
46291         * lib/siglist.h: Likewise.
46292         * lib/strsignal.c: Likewise.
46293         Reported by Ian Beckwith <ianb@erislabs.net>.
46294
46295 2009-09-17  Eric Blake  <ebb9@byu.net>
46296
46297         rmdir: ensure correct dependency order
46298         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
46299
46300 2009-09-17  Bruno Haible  <bruno@clisp.org>
46301
46302         Disable assertion that fails on NetBSD 5 / i386.
46303         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
46304         Reported by Sam Steingold <sds@gnu.org>
46305         and Hasso Tepper <hasso@netbsd.org>.
46306
46307 2009-09-16  Eric Blake  <ebb9@byu.net>
46308
46309         unlinkdir: port to mingw
46310         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
46311         on which no one can unlink a directory.
46312
46313         stdlib: sort witness names
46314         * modules/stdlib (Makefile.am): Sort replacements.
46315         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
46316         * lib/stdlib.in.h: Likewise.
46317
46318         parse-duration-tests: avoid link failure
46319         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
46320         LIBINTL.
46321         Reported by Tom G. Christensen.
46322
46323         openat-tests: ensure unlinkat behaves like rmdir
46324         * tests/test-rmdir.c (main): Factor guts...
46325         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
46326         * modules/rmdir-tests (Files): Ship new file.
46327         * modules/openat-tests: New test.
46328         * tests/test-unlinkat.c: Likewise.
46329
46330         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
46331         * modules/rmdir-errno (Status, Notice): Now obsolete.
46332
46333         rmdir: work around cygwin 1.5.x and mingw bugs
46334         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
46335         * lib/rmdir.c (rmdir): Work around it.
46336         * modules/rmdir (Status, Notice): No longer obsolete.
46337         (Files): Add dos.m4.
46338         (Depends-on): Add unistd.
46339         (configure.ac): Set witnesses.
46340         (License): Relax to LGPLv2+.
46341         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
46342         * modules/unistd (Makefile.am): Substitute witnesses.
46343         * lib/unistd.in.h (rmdir): Declare replacement.
46344         * doc/posix-functions/rmdir.texi (rmdir): Document this.
46345         * modules/rmdir-tests: New tests.
46346         * tests/test-rmdir.c: Likewise.
46347
46348 2009-09-15  Eric Blake  <ebb9@byu.net>
46349
46350         fchdir: improve use of replacement functions
46351         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
46352         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
46353         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
46354         REPLACE_CLOSEDIR.
46355         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
46356         * modules/sys_stat (Makefile.am): Substitute correct witness.
46357         * modules/dirent (Makefile.am): Likewise.
46358         * modules/unistd (Makefile.am): Likewise.
46359         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
46360         * lib/unistd.in.h (dup): Likewise.
46361         * lib/sys_stat.in.h (fstat): Likewise.
46362
46363         maint: ignore gnulib-tool temp files
46364         * .gitignore: Ignore files created during gnulib-tool --test.
46365
46366 2009-09-13  Jim Meyering  <meyering@redhat.com>
46367
46368         posixtm: don't reject a time that specify "60" as the number of seconds
46369         * lib/posixtm.c (posixtime): The code to reject invalid dates
46370         would also reject a time specified with the .60 suffix.
46371         But POSIX allows that, in order to accommodate leap seconds.
46372         So don't reject it.
46373         (main): Adjust tests accordingly.
46374         * modules/posixtm (Depends-on): Add stpcpy.
46375
46376 2009-09-11  Jim Meyering  <meyering@redhat.com>
46377
46378         announce-gen: include [$release_type] in emitted Subject:
46379         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
46380         e.g., [stable] in the emitted Subject: line.
46381
46382 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46383
46384         Remove obsolete macros from several modules.
46385         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
46386         obsolete Autoconf macros with their modern counterparts.
46387         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
46388         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
46389         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
46390         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
46391         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
46392         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46393         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
46394         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46395         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
46396         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
46397         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
46398         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
46399         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
46400         * m4/sockets.m4 (gl_SOCKETS): Likewise.
46401         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
46402         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
46403         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
46404         * m4/time_r.m4 (gl_TIME_R): Likewise.
46405         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
46406         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
46407         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
46408
46409         Fix copyright header in build-aux scripts.
46410         * build-aux/git-version-gen: Fix copyright header to match GPLv3
46411         recommendation.
46412         * build-aux/ncftpput-ftp: Likewise.
46413         * build-aux/update-copyright: Likewise.
46414
46415 2009-09-09  Eric Blake  <ebb9@byu.net>
46416
46417         test-link: allow Linux choice of errno
46418         * tests/test-link.c (main): Relax test for alternate error.
46419
46420         strndup: fix improper m4 caching
46421         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
46422         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
46423         (gl_PREREQ_STRNDUP): Delete.
46424         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
46425         * modules/string (Makefile.am): Substitute it.
46426         * lib/string.in.h (strndup): Modernize prototype.
46427
46428         getcwd: port to mingw
46429         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
46430         different from the POSIX assumptions made throughout the getcwd
46431         module; fortunately, the mingw getcwd does not need replacement.
46432         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
46433         * modules/getcwd-tests: New test.
46434         * tests/test-getcwd.c: Likewise.
46435
46436         link: fix platform bugs
46437         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
46438         * lib/link.c (link): Work around them.  Fix related mingw bug.
46439         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
46440         * modules/unistd (Makefile.am): Substitute it.
46441         * lib/unistd.in.h (link): Declare replacement.
46442         * doc/posix-functions/link.texi (link): Document this.
46443         * modules/link (Depends-on): Add strdup-posix, sys_stat.
46444
46445         test-link: consolidate into single C program, test more cases
46446         * tests/test-link.sh: Delete.
46447         * tests/test-link.c: Test more error conditions.  Exposes bugs on
46448         at least Cygwin and Solaris.
46449         * modules/link-tests (Files): Remove unused file.
46450         (Depends-on): Add errno, sys_stat.
46451         (Makefile.am): Simplify.
46452
46453 2009-09-08  Bruno Haible  <bruno@clisp.org>
46454
46455         Work around towlower, towupper bug on mingw.
46456         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
46457         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
46458         * doc/posix-functions/towlower.texi: Mention the mingw bug.
46459         * doc/posix-functions/towupper.texi: Likewise.
46460         Reported by Eric Blake.
46461
46462 2009-09-08  Jim Meyering  <meyering@redhat.com>
46463
46464         build: don't try to run autoheader if we don't use it
46465         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
46466         is not used in configure.ac.
46467
46468 2009-09-08  Eric Blake  <ebb9@byu.net>
46469
46470         euidaccess: fix compilation error
46471         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
46472
46473         rawmemchr: relax license
46474         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
46475         okay.
46476         Reported by Jim Meyering.
46477
46478         mkfifoat: new module
46479         * modules/mkfifoat: New file.
46480         * lib/mkfifoat.c: Likewise.
46481         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
46482         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
46483         * modules/sys_stat (Makefile.am): Use them.
46484         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
46485         * MODULES.html.sh (File system functions): Mention module.
46486         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
46487         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
46488         * modules/mkfifoat-tests: New test.
46489         * tests/test-mkfifoat.c: Likewise.
46490
46491         strchrnul: relax license
46492         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
46493         okay.
46494         Reported by Jim Meyering.
46495
46496 2009-09-08  Eric Blake  <ebb9@byu.net>
46497
46498         fstatat: fix compilation on Solaris
46499         * lib/fstatat.c (includes): Add fcntl.h.
46500         Reported by Pádraig Brady.
46501
46502 2009-09-07  Eric Blake  <ebb9@byu.net>
46503
46504         rename: modernize replacement
46505         * modules/rename (Depends-on): Add stdio.
46506         (configure.ac): Declare witness.
46507         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
46508         stdio take care of replacement.
46509         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
46510         * modules/stdio (Makefile.am): Substitute them.
46511         * lib/stdio.in.h (rename): Declare replacement.
46512         * lib/rename.c (includes): Allow cross-compilation to non-windows
46513         machines.
46514         * doc/posix-functions/rename.texi (rename): Improve
46515         documentation.
46516
46517         stdio: sort witness names
46518         * modules/stdio (Makefile.am): Sort replacements.
46519         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46520         * lib/stdio.in.h: Likewise.
46521
46522         getcwd: minor cleanups
46523         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
46524         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
46525
46526         openat: provide more convenience names
46527         * modules/faccessat (configure.ac): Add C witness.
46528         * lib/unistd.in.h (readlinkat): Fix typo.
46529         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
46530         convenience wrappers.
46531         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
46532         wrappers in syntax checks.
46533
46534 2009-09-06  Eric Blake  <ebb9@byu.net>
46535
46536         doc: fix comments in recent patches
46537         * lib/faccessat.c: Mention correct function.
46538         * lib/fchmodat.c: Likewise.
46539         * lib/fchownat.c: Likewise.
46540         * lib/symlinkat.c: Likewise.
46541         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
46542         constants.
46543
46544         faccessat, symlinkat: continue cleanup of previous patch
46545         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
46546         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
46547         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
46548         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
46549         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
46550         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
46551         set.
46552
46553 2009-09-06  Bruno Haible  <bruno@clisp.org>
46554
46555         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
46556         (fstatat): Declare if GNULIB_FSTATAT is set.
46557         (mkdirat): Declare if GNULIB_MKDIRAT is set.
46558         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
46559         (unlinkat): Declare if GNULIB_UNLINKAT is set.
46560         * modules/fcntl-h (Files): Remove m4/openat.m4.
46561         * modules/sys_stat (Files): Remove m4/openat.m4.
46562         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
46563         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
46564         * modules/unistd (Files): Remove m4/openat.m4.
46565         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
46566         GNULIB_OPENAT.
46567         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
46568         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
46569         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
46570         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
46571         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
46572         gl_OPENAT_DEFAULTS.
46573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
46574         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
46575         Don't require gl_OPENAT_DEFAULTS.
46576         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
46577         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
46578         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
46579         (gl_OPENAT_DEFAULTS): Remove macro.
46580
46581 2009-09-06  Bruno Haible  <bruno@clisp.org>
46582
46583         * modules/openat (configure.ac): Remove unneeded witness.
46584
46585 2009-09-06  Bruno Haible  <bruno@clisp.org>
46586
46587         Set errno to ENOSYS when a function is entirely unsupported.
46588         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
46589         EOPNOTSUPP.
46590         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
46591         * modules/chown (Depends-on): Remove errno.
46592
46593 2009-09-06  Bruno Haible  <bruno@clisp.org>
46594
46595         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
46596
46597 2009-09-06  Bruno Haible  <bruno@clisp.org>
46598
46599         * lib/sys_stat.in.h: Fix preprocessor command indentation.
46600
46601 2009-09-06  Ben Pfaff  <blp@gnu.org>
46602             Bruno Haible  <bruno@clisp.org>
46603
46604         Work around a glibc bug in strtok_r.
46605         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
46606         Undefine if UNDEFINE_STRTOK_R is set.
46607         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
46608         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46609         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
46610         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
46611         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
46612         UNDEFINE_STRTOK_R.
46613         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
46614
46615 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
46616
46617         exclude: minor fix
46618         * lib/exclude.c: Include wctype.h
46619
46620 2009-09-06  Akim Demaille  <demaille@gostai.com>
46621
46622         bootstrap: improve error message
46623         * build-aux/bootstrap (find_tool): Upon failure, report the list
46624         of candidates.
46625         Honor the initial value of the envvar.
46626
46627 2009-09-05  Eric Blake  <ebb9@byu.net>
46628
46629         symlinkat: new module
46630         * modules/symlinkat: New file.
46631         * lib/symlinkat.c: Likewise.
46632         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
46633         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
46634         * modules/unistd (Makefile.am): Use them.
46635         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
46636         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
46637         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
46638         * MODULES.html.sh (File system functions): Mention module.
46639         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
46640         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
46641         * modules/symlinkat-tests: New test.
46642         * tests/test-symlinkat.c: Likewise.
46643
46644         test-openat-safer: add more checks
46645         * tests/test-openat-safer.c (main): Check more code paths.
46646
46647 2009-09-05  Jim Meyering  <meyering@redhat.com>
46648
46649         syntax-check: detect unnecessary inclusion of openat.h
46650         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
46651
46652 2009-09-05  Bruno Haible  <bruno@clisp.org>
46653
46654         Support towlower, towupper.
46655         * doc/posix-functions/towlower.texi: Mention module wctype.
46656         * doc/posix-functions/towupper.texi: Likewise.
46657         * lib/wctype.in.h (towlower, towupper): New functions.
46658         * tests/test-wctype.c: Include stdio.h, stdlib.h.
46659         (ASSERT): New macro.
46660         (e): New variable.
46661         (main): Test also towlower, towupper. Test WEOF argument.
46662         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46663
46664 2009-09-05  Bruno Haible  <bruno@clisp.org>
46665
46666         Fix conversion behaviour when the input is invalid.
46667         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
46668         mark occurring in first pass of indirect conversion.
46669         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
46670         input.
46671         Found by clang's static analyzer.
46672
46673 2009-09-05  Bruno Haible  <bruno@clisp.org>
46674
46675         * tests/test-striconveh.c (main): Test indirect conversion on platforms
46676         where direct conversion is possible.
46677
46678 2009-09-04  Eric Blake  <ebb9@byu.net>
46679
46680         openat: fail with ENOENT on empty name
46681         * lib/openat-proc.c (openat_proc_name): Special-case the empty
46682         buffer.
46683
46684         link-follow: fix logic bug in prior patch
46685         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
46686         reversed sense of yes and no in prior patch.  Avoid confusing
46687         compilation failure with desired semantics.
46688
46689         link-follow: accommodate mingw and cross-compilation
46690         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
46691         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
46692         cross-compilation results to -1, to make linkat easier to
46693         implement when cross-compiling.  Trivially support mingw.
46694         * modules/link-follow (configure.ac): Call new name.
46695         * NEWS: Mention this.
46696
46697 2009-09-03  Eric Blake  <ebb9@byu.net>
46698
46699         faccessat: compile replacement
46700         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
46701         needed.
46702
46703         fts: fix compilation error
46704         * lib/fts.c (includes): Re-add "openat.h", for
46705         openat_needs_fchdir.
46706
46707         faccessat: new module
46708         * modules/faccessat: New file.
46709         * lib/faccessat.c: Likewise.
46710         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
46711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
46712         * modules/unistd (Makefile.am): Use it.
46713         * lib/unistd.in.h (faccessat): Declare it.
46714         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
46715         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
46716         * MODULES.html.sh (File system functions): Mention it.
46717         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
46718         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
46719
46720         euidaccess: prefer POSIX over non-standard implementation
46721         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
46722         * lib/euidaccess.c (euidaccess): Use it if available.
46723
46724         openat: make template easier to use
46725         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
46726         AT_FUNC_F2 to be undefined.
46727         (VALIDATE_FLAG): New macro; use it to reject bad flags.
46728         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
46729         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
46730         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
46731         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
46732         Likewise.
46733         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
46734         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
46735         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
46736         Likewise.
46737
46738         openat: declare in POSIX headers
46739         * NEWS: Mention this.
46740         * modules/openat (configure.ac): Declare witnesses.
46741         (Depends-on): Add fcntl-h, sys_stat, unistd.
46742         (Include): Mention correct headers.
46743         * modules/fcntl-h (Depends-on): Add link-warning.
46744         (Files): Add openat.m4.
46745         (Makefile.am): Substitute witnesses.
46746         * modules/sys_stat (Files, Makefile.am): Likewise.
46747         * modules/unistd (Files, Makefile.am): Likewise.
46748         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
46749         (gl_OPENAT_DEFAULTS): New macro.
46750         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
46751         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
46752         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
46753         (SYS_STAT_H): Remove unused variable.
46754         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
46755         * lib/fcntl--.h (includes): Remove unneeded header.
46756         * lib/openat-safer.c (includes): Likewise.
46757         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
46758         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
46759         appropriate headers.
46760         (__OPENAT_PREFIX): Delete.
46761         * lib/fcntl.in.h (openat): Provide declaration.
46762         (AT_FDCWD): Fix Solaris bug.
46763         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
46764         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
46765         * lib/fchmodat.c (includes):  Adjust to find declaration.
46766         * lib/fchownat.c (includes): Likewise.
46767         * lib/mkdirat.c (includes): Likewise.
46768         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
46769         still visible.
46770
46771 2009-09-02  Eric Blake  <ebb9@byu.net>
46772
46773         errno: use consistently
46774         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
46775         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
46776         * lib/canonicalize.c (ELOOP): Likewise.
46777         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
46778         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
46779         * lib/lchown.c (EOPNOTSUPP): Likewise.
46780         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
46781         * lib/savewd.c (ESTALE): Likewise.
46782         * lib/settime.c (ENOSYS): Likewise.
46783         * lib/utimens.c (ENOSYS): Likewise.
46784         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
46785         * lib/chdir-safer.c (ELOOP): Likewise.
46786         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
46787         * modules/c-stack (Depends-on): Add errno.
46788         * modules/canonicalize (Depends-on): Likewise.
46789         * modules/chdir-safer (Depends-on): Likewise.
46790         * modules/fdopendir (Depends-on): Likewise.
46791         * modules/inet_ntop (Depends-on): Likewise.
46792         * modules/inet_pton (Depends-on): Likewise.
46793         * modules/lchown (Depends-on): Likewise.
46794         * modules/openat (Depends-on): Likewise.
46795         * modules/savewd (Depends-on): Likewise.
46796         * modules/settime (Depends-on): Likewise.
46797         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
46798
46799         fts: avoid leaking fds
46800         * modules/fts (Depends-on): Add cloexec.
46801         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
46802         flag.
46803
46804         fts: make directory fds more robust
46805         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
46806         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
46807
46808         backupfile, chdir-long, fts, savedir: make safer
46809         * lib/backupfile.c (includes): Use "dirent--.h", since
46810         numbered_backup can write to stderr during readdir.
46811         * lib/savedir.c (includes): Likewise.
46812         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
46813         emulation can write to stderr on failure.
46814         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
46815         * lib/getcwd.c: Document why opendir_safer is unused.
46816         * lib/glob.c: Likewise.
46817         * lib/scandir.c: Likewise.
46818         * lib/openat-proc.c: Likewise, for open_safer.
46819         * modules/backupfile (Depends-on): Add dirent-safer.
46820         * modules/savedir (Depends-on): Likewise.
46821         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
46822         * modules/chdir-long (Depends-on): Add openat-safer.
46823
46824         openat-safer: new module
46825         * modules/openat-safer: New file.
46826         * lib/openat-safer.c: Likewise.
46827         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
46828         * lib/fcntl-safer.h (openat_safer): Declare.
46829         * lib/fcntl--.h (openat): Override.
46830         * MODULES.html.sh (File descriptor based I/O): Mention it.
46831         * lib/openat.h: Add double-inclusion guards.
46832         * lib/openat.c (includes): Only include "fcntl-safer.h", not
46833         "fcntl--.h", so we can implement openat.
46834         * modules/openat-safer-tests: New test.
46835         * tests/test-openat-safer.c: New file.
46836
46837         dirent-safer: new module
46838         * modules/dirent-safer: New file.
46839         * lib/dirent--.h: Likewise.
46840         * lib/dirent-safer.h: Likewise.
46841         * lib/opendir-safer.c: Likewise.
46842         * m4/dirent-safer.m4: Likewise.
46843         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
46844         * modules/dirent-safer-tests: New test.
46845         * tests/test-dirent-safer.c: New file.
46846         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
46847
46848         fdopendir: optimize on mingw
46849         * lib/unistd.in.h (_gl_directory_name): New prototype.
46850         * lib/fchdir.c (_gl_directory_name): Implement it.
46851         (fchdir): Use it to simplify implementation.
46852         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
46853         fchdir, when available, to avoid calling [f]chdir().
46854
46855         fdopendir: split into its own module
46856         * lib/openat.c (fdopendir): Move...
46857         * lib/fdopendir.c: ...into new file.
46858         * modules/fdopendir: New module.
46859         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
46860         * modules/openat (Depends-on): Add fdopendir.
46861         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
46862         fdopendir here.
46863         * modules/savedir (Depends-on): Only need fdopendir, not full
46864         openat.
46865         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
46866         * lib/openat.h (fdopendir): Drop prototype.
46867         * lib/dirent.in.h (fdopendir): Provide prototype.
46868         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
46869         * modules/dirent (Makefile.am): Substitute them.
46870         * MODULES.html.sh (File system functions): Mention it.
46871         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
46872         * modules/fdopendir-tests: New file.
46873         * tests/test-fdopendir.c: Likewise.
46874
46875         fchdir: use more consistent macro convention
46876         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
46877         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
46878         REPLACE_FCHDIR, rather than relying on config.h macros.
46879         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
46880         inside a single make-time REPLACE_FCHDIR block, rather than using
46881         the config.h FCHDIR_REPLACEMENT.
46882         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
46883         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
46884         Manage fstat replacement.
46885         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
46886         REPLACE_FCHDIR.
46887         * modules/sys_stat (Files): Add m4/unistd_h.m4.
46888         (Makefile.am): Substitute REPLACE_FCHDIR.
46889         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
46890         FCHDIR_REPLACEMENT.
46891         * lib/dup-safer.c (dup_safer): Likewise.
46892         * lib/dup2.c (rpl_dup2): Likewise.
46893         * lib/dup3.c (rpl_dup3): Likewise.
46894         * lib/open.c (rpl_open): Likewise.
46895
46896         fchdir: simplify error handling, and support dup3
46897         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
46898         stdbool, malloc-posix, realloc-posix.
46899         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
46900         (ensure_dirs_slot): Return false on allocation failure.
46901         (rpl_dup2): Delete.
46902         (_gl_register_dup): New function.
46903         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
46904         (_gl_register_fd): Close fd on allocation failure.
46905         * lib/fcntl.in.h (_gl_register_fd): Update signature.
46906         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
46907         prototype.
46908         (rpl_dup2_fchdir): Delete prototype.
46909         * lib/open.c (open): Update caller.
46910         * lib/dup2.c (dup2): Track fchdir metadata.
46911         * lib/dup3.c (dup3): Likewise.
46912         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
46913         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
46914
46915 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46916
46917         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
46918         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
46919         don't pass arguments to AC_OUTPUT.
46920
46921 2009-09-02  Bruno Haible  <bruno@clisp.org>
46922
46923         * modules/mkdtemp (License): Relicense under LGPLv2+.
46924         Reported by Paolo Bonzini.
46925
46926 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46927
46928         Replace uses of obsolete autoconf macros in Jim's modules.
46929         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
46930         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
46931         can evoke a warning from autoconf when run with -Wobsolete
46932         enabled.  They were declared obsolete for good reasons (see
46933         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
46934         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
46935         should not continue using the deprecated macros.
46936         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
46937         obsolete Autoconf macros with modern counterparts.
46938         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46939         * m4/dos.m4 (gl_AC_DOS): Likewise.
46940         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
46941         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46942         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
46943         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
46944         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
46945         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
46946         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
46947         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
46948         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
46949         Likewise.
46950         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
46951         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
46952         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
46953         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
46954         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
46955         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
46956
46957 2009-09-01  Eric Blake  <ebb9@byu.net>
46958
46959         fchdir: fix off-by-one bug in previous patch
46960         * lib/fchdir.c (rpl_fstat): Use correct bounds.
46961         (_gl_unregister_fd): Delete useless if.
46962
46963 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
46964
46965         maint.mk: sort the list of syntax-check rules
46966         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
46967         easier to get a sense of progress when the rules are run sequentially
46968         and take a long time.
46969
46970 2009-09-01  Simon Josefsson  <simon@josefsson.org>
46971
46972         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
46973         * modules/netinet_in: Likewise.
46974         * modules/sys_file: Likewise.
46975         * modules/sys_ioctl: Likewise.
46976         * modules/sys_select: Likewise.
46977         * modules/sys_socket: Likewise.
46978         * modules/sys_stat: Likewise.
46979         * modules/sys_time: Likewise.
46980         * modules/sys_times: Likewise.
46981         * modules/sys_utsname: Likewise.
46982         * modules/sys_wait: Likewise.
46983
46984 2009-09-01  Jim Meyering  <meyering@redhat.com>
46985
46986         fts: help ensure that return values are not ignored
46987         * lib/fts_.h (__GNUC_PREREQ): Define.
46988         (__attribute_warn_unused_result__): Define.
46989         (fts_children, fts_close, fts_open, fts_read): Declare with
46990         __attribute_warn_unused_result__.
46991
46992         fts: fts_close now fails also when closing a dir file descriptor fails
46993         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
46994         and propagate to caller, along with errno.
46995
46996         announce-gen: correct formatting in --help output
46997         * build-aux/announce-gen (usage): Move the one-line description in
46998         --help output "up", to where it belongs, just after Usage:.
46999
47000 2009-08-31  Eric Blake  <ebb9@byu.net>
47001
47002         fchdir: port to mingw
47003         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
47004         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
47005         opened, then use a substitute.
47006         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
47007         replacement.
47008         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
47009         (_gl_register_fd): No need to check stat if open already filters
47010         all directories.
47011         (fchdir): Fix error condition to match POSIX.
47012         * modules/fchdir (Depends-on): Add sys_stat.
47013         * doc/posix-functions/open.texi (open): Document the limitation.
47014         * modules/fchdir-tests: New file.
47015         * tests/test-fchdir.c: Likewise.
47016
47017         canonicalize: allow cross-testing from cygwin to mingw
47018         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
47019         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
47020         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
47021         Likewise.
47022         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
47023         target does not support symlinks.
47024         * tests/test-canonicalize-lgpl.sh: Likewise.
47025
47026         chown: avoid compilation warning on mingw
47027         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
47028         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
47029         mingw.
47030         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
47031         * modules/chown (Depends-on): Add errno.
47032
47033 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
47034
47035         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
47036         command.
47037
47038 2009-08-31  Jim Meyering  <meyering@redhat.com>
47039
47040         canonicalize: remove useless initialization
47041         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
47042         initialization of local, "end".
47043
47044 2009-08-30  Bruno Haible  <bruno@clisp.org>
47045
47046         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
47047         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
47048         ENOSYS.
47049
47050 2009-08-30  Bruno Haible  <bruno@clisp.org>
47051
47052         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
47053         /usr/xpg4/bin/tr when it exists.
47054         * tests/test-pipe-filter-gi1.sh: Likewise.
47055
47056 2009-08-30  Bruno Haible  <bruno@clisp.org>
47057
47058         Work around deficient /usr/bin/id program on Solaris.
47059         * tests/test-file-has-acl.sh (ID): New variable.
47060         * tests/test-set-mode-acl.sh (ID): Likewise.
47061         * tests/test-copy-acl.sh (ID): Likewise.
47062         * tests/test-copy-file.sh (ID): Likewise.
47063
47064 2009-08-30  Bruno Haible  <bruno@clisp.org>
47065
47066         New module 'xstriconveh'.
47067         * lib/xstriconveh.h: New file.
47068         * lib/xstriconveh.c: New file.
47069         * modules/xstriconveh: New file.
47070
47071 2009-08-30  Bruno Haible  <bruno@clisp.org>
47072
47073         Make it easier to use mem_cd_iconveh.
47074         * lib/striconveh.h (iconveh_t): New type.
47075         (iconveh_open, iconveh_close): New declarations.
47076         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
47077         with a single 'const iconveh_t *' argument.
47078         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
47079         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
47080         with a single 'const iconveh_t *' argument.
47081         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
47082         * tests/test-striconveh.c (main): Update.
47083         * NEWS: Mention the change.
47084
47085 2009-08-30  Bruno Haible  <bruno@clisp.org>
47086
47087         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
47088         problem.
47089
47090 2009-08-30  Bruno Haible  <bruno@clisp.org>
47091
47092         Work around iconv_open problem on Solaris.
47093         * lib/iconv_open-solaris.gperf: New file.
47094         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
47095         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
47096         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
47097         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
47098         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
47099         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
47100
47101 2009-08-29  Jim Meyering  <meyering@redhat.com>
47102
47103         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
47104         * top/maint.mk (cvs-check): Remove target; it was just an alias
47105         to the better-named vc-diff-check.
47106         (maintainer-distcheck): Remove rule.  It was used only from
47107         the (alpha/beta/major) target, and all of its commands but one
47108         were coreutils-specific.
47109         (vc-dist): Remove rule.
47110         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
47111         Run vc-diff-check, not vc-dist.
47112         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
47113
47114 2009-08-27  Bruno Haible  <bruno@clisp.org>
47115
47116         * tests/test-bitrotate.c (main): Remove test that uses a shift count
47117         of 0.
47118
47119 2009-08-27  Bruno Haible  <bruno@clisp.org>
47120
47121         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
47122         compilers.
47123         * doc/func.texi: Document the SunPRO C bug.
47124
47125 2009-08-27  Bruno Haible  <bruno@clisp.org>
47126
47127         Fix link error on Solaris.
47128         * tests/test-parse-duration.c (xstrdup): Remove function.
47129
47130 2009-08-26  Pádraig Brady  <P@draigbrady.com>
47131
47132         ignore-value: handle pointer types, too
47133         * lib/ignore-value.h (__attribute__): Remove definition.
47134         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
47135         of a more concise and more-often effective "(void) i" statement.
47136         (ignore_ptr): New function to suppress warnings from functions that
47137         return pointers, and to make it explicit that one function doesn't
47138         handle all cases.
47139
47140 2009-08-25  Bruno Haible  <bruno@clisp.org>
47141
47142         dup2: work around a Linux bug.
47143         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
47144         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
47145         * doc/posix-functions/dup2.texi: Mention the Linux bug.
47146         Reported by Simon Josefsson.
47147
47148 2009-08-25  Jim Meyering  <meyering@redhat.com>
47149
47150         libguestfs uses gnulib
47151         * users.txt: Add libguestfs.
47152
47153 2009-08-24  Eric Blake  <ebb9@byu.net>
47154
47155         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
47156         * lib/pipe2.c (includes): Add binary-io.h.
47157         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
47158
47159 2009-08-24  Bruno Haible  <bruno@clisp.org>
47160
47161         Tolerate declared but missing accept4 syscall.
47162         * lib/accept4.c (accept4): Invoke original accept4 function first, if
47163         available.
47164         * lib/sys_socket.in.h (accept4): If the function is already present,
47165         override it.
47166         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
47167         * modules/accept4 (Makefile.am): Compile accept4.c always.
47168         Reported by Paolo Bonzini and Eric Blake.
47169
47170 2009-08-23  Bruno Haible  <bruno@clisp.org>
47171
47172         New module 'accept4'.
47173         * lib/sys_socket.in.h (accept4): New declaration.
47174         * lib/accept4.c: New file.
47175         * m4/accept4.m4: New file.
47176         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
47177         GNULIB_ACCEPT4, HAVE_ACCEPT4.
47178         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
47179         HAVE_ACCEPT4.
47180         * modules/accept4: New file.
47181         * doc/glibc-functions/accept4.texi: Mention the new module.
47182
47183 2009-08-24  Jim Meyering  <meyering@redhat.com>
47184
47185         progname: also set global program_invocation_name, when possible
47186         Before this change, a libtool-enabled program that calls glibc's
47187         error function would report the program name as
47188         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
47189         * modules/progname (configure.ac): Check for a declaration of
47190         program_invocation_name.
47191         * lib/progname.c:  Include <errno.h>.
47192         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
47193         Set program_invocation_name.
47194
47195 2009-08-23  Bruno Haible  <bruno@clisp.org>
47196
47197         * lib/dup3.c: Include <string.h>.
47198
47199 2009-08-23  Bruno Haible  <bruno@clisp.org>
47200
47201         * lib/dup3.c (dup3): Test only once whether the system actually exists.
47202         * lib/pipe2.c (pipe2): Likewise.
47203         Suggested by Eric Blake.
47204
47205 2009-08-23  Bruno Haible  <bruno@clisp.org>
47206
47207         Tolerate declared but missing dup3 syscall.
47208         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
47209         * lib/unistd.in.h (dup3): If the function is already present,
47210         override it.
47211         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
47212         * modules/dup3 (Makefile.am): Compile dup3.c always.
47213         Reported by Paolo Bonzini.
47214
47215 2009-08-23  Bruno Haible  <bruno@clisp.org>
47216
47217         Tolerate declared but missing pipe2 syscall.
47218         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
47219         available.
47220         * lib/unistd.in.h (pipe2): If the function is already present,
47221         override it.
47222         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
47223         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
47224         Reported by Paolo Bonzini.
47225
47226 2009-08-23  Bruno Haible  <bruno@clisp.org>
47227
47228         * lib/pipe2.c (pipe2): Move #ifs inside function.
47229
47230 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
47231
47232         quotearg: document limitations of quote_these_too
47233         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
47234         those limitations are created.
47235         * lib/quotearg.h (set_char_quoting): Document that digits and
47236         letters that are special after backslash are not permitted.
47237         (quotearg_char): Cross-reference set_char_quoting documentation.
47238
47239 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
47240
47241         quotearg: implement custom_quoting_style
47242         * lib/quotearg.c: (struct quoting_options): Add left_quote and
47243         right_quote fields.
47244         (set_custom_quoting): New public function.
47245         (quotearg_buffer_restyled): Add left_quote and right_quote
47246         arguments, handle them very much like locale quoting, and update
47247         all uses.
47248         (quotearg_n_custom): New public function.
47249         (quotearg_n_custom_mem): New public function.
47250         (quotearg_custom): New public function.
47251         (quotearg_custom_mem): New public function.
47252         * lib/quotearg.h: Prototype and document new public functions.
47253         (enum quoting_style): For escape_quoting_style and
47254         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
47255         ignored even though they're otherwise like c_quoting_style.
47256         Add custom_quoting_style member and document with comparison to
47257         clocale_quoting_style.
47258         * tests/test-quotearg.c (custom_quotes): New array.
47259         (custom_results): New array.
47260         (main): Extend to test custom quoting.
47261
47262 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
47263
47264         quotearg: fix right quote escaping when it's in quote_these_too
47265         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
47266         quote, be sure to prepend only one backslash.
47267         * tests/test-quotearg.c (use_quote_double_quotes): New function.
47268         (main): Test it.
47269
47270 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
47271
47272         quotearg-tests: test escaping of embedded locale quotes
47273         * tests/test-quotearg.c (struct result_strings): Add member for
47274         new input.
47275         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
47276         (inputs): Add new input.
47277         (results_g): Add expected results.
47278         (flag_results): Likewise.
47279         (locale_results): Likewise.
47280         (compare_strings): Check those.
47281
47282 2009-08-23  Bruno Haible  <bruno@clisp.org>
47283
47284         Tests for module 'dup3'.
47285         * modules/dup3-tests: New file.
47286         * tests/test-dup3.c: New file.
47287
47288         New module 'dup3'.
47289         * lib/unistd.in.h (dup3): New declaration.
47290         * lib/dup3.c: New file.
47291         * m4/dup3.m4: New file.
47292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
47293         HAVE_DUP3.
47294         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
47295         * modules/dup3: New file.
47296         * doc/glibc-functions/dup3.texi: Mention the new module.
47297
47298 2009-08-23  Bruno Haible  <bruno@clisp.org>
47299
47300         Tweak the dup2 test.
47301         * tests/test-dup2.c (main): Create the test file empty. Verify that an
47302         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
47303         the test file is still empty. Fix argument order of lseek.
47304
47305 2009-08-23  Bruno Haible  <bruno@clisp.org>
47306
47307         Avoid test link errors when the modules getopt-gnu, gettext are used.
47308         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
47309         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47310
47311 2009-08-23  Bruno Haible  <bruno@clisp.org>
47312
47313         Fix getdtablesize() on mingw.
47314         * lib/getdtablesize.c (getdtablesize): Implement differently.
47315         * lib/unistd.in.h (getdtablesize): Improve comment.
47316
47317 2009-08-23  Bruno Haible  <bruno@clisp.org>
47318
47319         New module 'mkostemp'.
47320         Based on Ulrich Drepper's 2007-08-10 change in glibc.
47321         * lib/stdlib.in.h (mksotemp): New declaration.
47322         * lib/mkostemp.c: New file, from glibc with modifications.
47323         * lib/tempname.h (GT_FILE): Remove outdated comment.
47324         (gen_tempname): Add flags argument.
47325         * lib/tempname.c (__GT_BIGFILE): Remove macro.
47326         (__GT_FILE): Map to 1.
47327         (small_open, large_open): Remove macros.
47328         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
47329         * lib/mkstemp.c (mkstemp): Update.
47330         * lib/mkdtemp.c (mkdtemp): Likewise.
47331         * m4/mkostemp.m4: New file.
47332         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
47333         HAVE_MKOSTEMP.
47334         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
47335         HAVE_MKOSTEMP.
47336         * modules/mkostemp: New file, based on modules/mkstemp.
47337         * doc/glibc-functions/mkostemp.texi: Mention the new module.
47338         * NEWS: Mention the change.
47339
47340 2009-08-23  Bruno Haible  <bruno@clisp.org>
47341
47342         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
47343         Reported by Eric Blake.
47344
47345 2009-08-23  Bruno Haible  <bruno@clisp.org>
47346
47347         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
47348         Reported by Eric Blake.
47349
47350 2009-08-23  Bruno Haible  <bruno@clisp.org>
47351
47352         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
47353         * modules/pipe2 (Depends-on): Likewise.
47354
47355 2009-08-23  Eric Blake  <ebb9@byu.net>
47356
47357         fcntl-h: add O_TTY_INIT support
47358         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
47359         * tests/test-fcntl-h.c (o): Test it.
47360         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
47361
47362         fcntl-h: rename from fcntl, in preparation for fcntl(2)
47363         * modules/fcntl: Move <fcntl.h> header replacement...
47364         * modules/fcntl-h: ...to new name, so as not to collide with
47365         like-named function.
47366         * tests/test-fcntl.c: Rename...
47367         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
47368         * modules/fcntl-tests: Rename...
47369         * modules/fcntl-h-tests: ...to this.  Update test file name.
47370         * modules/chdir-long (Depends-on): Update clients.
47371         * modules/chdir-safer (Depends-on): Likewise.
47372         * modules/fcntl-safer (Depends-on): Likewise.
47373         * modules/fts (Depends-on): Likewise.
47374         * modules/mkancesdirs (Depends-on): Likewise.
47375         * modules/mkdir-p (Depends-on): Likewise.
47376         * modules/open (Depends-on): Likewise.
47377         * modules/savewd (Depends-on): Likewise.
47378         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
47379         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
47380
47381 2009-08-22  Bruno Haible  <bruno@clisp.org>
47382
47383         * modules/binary-io (License): Relicense under LGPL.
47384         * modules/pipe2 (License): Likewise.
47385
47386 2009-08-22  Bruno Haible  <bruno@clisp.org>
47387
47388         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
47389         return value.
47390         * lib/pipe-filter-gi.c (filter_init): Likewise.
47391         Reported by Eric Blake.
47392
47393 2009-08-22  Bruno Haible  <bruno@clisp.org>
47394
47395         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
47396         * modules/pipe (Depends-on): Add pipe2.
47397
47398 2009-08-22  Bruno Haible  <bruno@clisp.org>
47399
47400         Tests for module 'pipe2'.
47401         * modules/pipe2-tests: New file.
47402         * tests/test-pipe2.c: New file.
47403
47404         New module 'pipe2'.
47405         * lib/unistd.in.h (pipe2): New declaration.
47406         * lib/pipe2.c: New file.
47407         * m4/pipe2.m4: New file.
47408         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
47409         HAVE_PIPE2.
47410         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
47411         * modules/pipe2: New file.
47412         * doc/glibc-functions/pipe2.texi: Mention the new module.
47413
47414 2009-08-22  Bruno Haible  <bruno@clisp.org>
47415
47416         Reference some new glibc functions.
47417         * doc/glibc-functions/accept4.texi: New file.
47418         * doc/glibc-functions/dup3.texi: New file.
47419         * doc/glibc-functions/mkostemp.texi: New file.
47420         * doc/glibc-functions/pipe2.texi: New file.
47421         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
47422         (Glibc sys/socket.h): Refer to accept4.
47423         (Glibc unistd.h): Refer to dup3, pipe2.
47424         Reported by Eric Blake.
47425
47426 2009-08-22  Jim Meyering  <meyering@redhat.com>
47427             Bruno Haible  <bruno@clisp.org>
47428
47429         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
47430         This makes it so packages using automake-1.11's silent-rules option
47431         can print e.g., a single "GEN    configmake.h" line, rather than
47432         the 30+ statements that perform the job.  If you want to see the
47433         actual commands, you can still run "make V=1".
47434         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
47435         so that make output is abbreviated when those variables are defined
47436         appropriately.
47437         * modules/argz: Likewise.
47438         * modules/arpa_inet: Likewise.
47439         * modules/byteswap: Likewise.
47440         * modules/configmake: Likewise.
47441         * modules/dirent: Likewise.
47442         * modules/errno: Likewise.
47443         * modules/fcntl: Likewise.
47444         * modules/float: Likewise.
47445         * modules/fnmatch: Likewise.
47446         * modules/getopt-posix: Likewise.
47447         * modules/glob: Likewise.
47448         * modules/iconv_open: Likewise.
47449         * modules/inttypes: Likewise.
47450         * modules/localcharset: Likewise.
47451         * modules/locale: Likewise.
47452         * modules/math: Likewise.
47453         * modules/netdb: Likewise.
47454         * modules/netinet_in: Likewise.
47455         * modules/poll: Likewise.
47456         * modules/posix_spawnp-tests: Likewise.
47457         * modules/sched: Likewise.
47458         * modules/search: Likewise.
47459         * modules/selinux-h: Likewise.
47460         * modules/signal: Likewise.
47461         * modules/spawn: Likewise.
47462         * modules/stdarg: Likewise.
47463         * modules/stdbool: Likewise.
47464         * modules/stddef: Likewise.
47465         * modules/stdint: Likewise.
47466         * modules/stdio: Likewise.
47467         * modules/stdlib: Likewise.
47468         * modules/string: Likewise.
47469         * modules/strings: Likewise.
47470         * modules/sys_file: Likewise.
47471         * modules/sys_ioctl: Likewise.
47472         * modules/sys_select: Likewise.
47473         * modules/sys_socket: Likewise.
47474         * modules/sys_stat: Likewise.
47475         * modules/sys_time: Likewise.
47476         * modules/sys_times: Likewise.
47477         * modules/sys_utsname: Likewise.
47478         * modules/sys_wait: Likewise.
47479         * modules/sysexits: Likewise.
47480         * modules/time: Likewise.
47481         * modules/unistd: Likewise.
47482         * modules/wchar: Likewise.
47483         * modules/wctype: Likewise.
47484
47485 2009-08-22  Jim Meyering  <meyering@redhat.com>
47486
47487         announce-gen: detect write failure
47488         * build-aux/announce-gen: Add Coda at end.
47489         Remove equivalent-but-more-verbose block at top.
47490
47491 2009-08-19  Akim Demaille  <demaille@gostai.com>
47492
47493         bootstrap: --help to stdout.
47494         * bootstrap (usage): Don't send --help to stderr.
47495         Use a here doc instead of a long string.
47496
47497 2009-08-21  Eric Blake  <ebb9@byu.net>
47498
47499         test-popen-safer: split from test-popen
47500         * tests/test-popen.c (main): Move...
47501         * tests/test-popen.h: ...into new file.
47502         * tests/test-popen-safer2.c: New file.
47503         * modules/popen-tests (Files): Add test-popen.h.
47504         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
47505         Suggested by Bruno Haible.
47506
47507         test-fcntl-safer: split from test-open
47508         * tests/test-open.c (main): Move...
47509         * tests/test-open.h: ...into new file.
47510         * tests/test-fcntl-safer.c: New file.
47511         * modules/open-tests (Files): Add test-open.h.
47512         * modules/fcntl-safer-tests: New file.
47513         Suggested by Bruno Haible.
47514
47515         test-fopen-safer: split from test-fopen
47516         * tests/test-fopen.c (main): Move...
47517         * tests/test-fopen.h: ...into new file.
47518         * tests/test-fopen-safer.c: New file.
47519         * modules/fopen-tests (Files): Add test-fopen.h.
47520         * modules/fopen-safer-tests: New file.
47521         Suggested by Bruno Haible.
47522
47523 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
47524
47525         popen-safer: test O_CLOEXEC at run-time.
47526         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
47527
47528 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
47529
47530         fcntl: move more flags to the header
47531         * lib/cloexec.c: Do not define FD_CLOEXEC here.
47532         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
47533         * lib/fcntl.in.h: Do both things here.
47534
47535 2009-08-21  Jim Meyering  <meyering@redhat.com>
47536
47537         consistently remove $@-t before redirecting to it
47538         * modules/argz: Remove $@-t and $@ before redirecting to the former.
47539         * modules/alloca-opt: Likewise.
47540         * modules/byteswap: Likewise.
47541         * modules/fnmatch: Likewise.
47542         * modules/getopt-posix: Likewise.
47543         * modules/glob: Likewise.
47544         * modules/poll: Likewise.
47545         * modules/posix_spawnp-tests: Likewise.
47546         * modules/sys_socket: Likewise.
47547         * modules/sysexits: Likewise.
47548
47549 2009-08-21  Eric Blake  <ebb9@byu.net>
47550
47551         popen: simplify access to original popen
47552         * lib/popen.c (rpl_popen): No need to worry about popen being a
47553         macro.
47554         Reported by Bruno Haible.
47555
47556 2009-08-20  Eric Blake  <ebb9@byu.net>
47557
47558         build: avoid some compiler warnings
47559         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
47560         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
47561         type.
47562         (new_exclude_segment, excluded_file_pattern_p)
47563         (excluded_file_name_p): Reduce scope.
47564         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
47565         old-style declaration.
47566
47567 2009-08-20  Simon Josefsson  <simon@josefsson.org>
47568
47569         * tests/test-exclude1.sh: Handle Windows EOL.
47570         * tests/test-exclude2.sh: Likewise.
47571         * tests/test-exclude3.sh: Likewise.
47572         * tests/test-exclude4.sh: Likewise.
47573         * tests/test-exclude5.sh: Likewise.
47574         * tests/test-exclude6.sh: Likewise.
47575         * tests/test-exclude7.sh: Likewise.
47576
47577 2009-08-19  Akim Demaille  <demaille@gostai.com>
47578
47579         bootstrap: find sha1sum when named gsha1sum.
47580         * bootstrap (find_tool): New.
47581         ($SHA1SUM): New.
47582         Use it.
47583
47584 2009-08-20  Jim Meyering  <meyering@redhat.com>
47585
47586         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
47587         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
47588         expression that converts "." in a file name to "\." in the resulting
47589         regexp.  Start with a dummy statement, so that prior shell variable
47590         definitions are expanded portably.  Reported by Simon Josefsson.
47591
47592 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
47593
47594         Fix polling for writeability of a screen buffer.
47595         * lib/poll.c: Distinguish input and screen buffers for the
47596         Win32 implementation.
47597         * lib/select.c: Likewise.
47598
47599 2009-08-19  Eric Blake  <ebb9@byu.net>
47600
47601         popen-safer: prevent popen from clobbering std descriptors
47602         * modules/popen-safer: New file.
47603         * lib/popen-safer.c: Likewise.
47604         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
47605         * lib/stdio--.h (popen): Provide override.
47606         * lib/stdio-safer.h (popen_safer): Provide declaration.
47607         * tests/test-popen.c (includes): Partially test this.
47608         * modules/popen-safer-tests: New file, for more tests.
47609         * tests/test-popen-safer.c: Likewise.
47610         * MODULES.html.sh (file stream based Input/Output): Mention it.
47611
47612         tests: test some of the *-safer modules
47613         * modules/fopen-safer (Depends-on): Add fopen.
47614         * modules/fcntl-safer (Depends-on): Add fcntl.
47615         * modules/stdlib-safer (Depends-on): Add stdlib.
47616         (configure.ac): Set indicator.
47617         * modules/unistd-safer (configure.ac): Likewise.
47618         * modules/tmpfile-safer (configure.ac): Likewise.
47619         (Depends-on): Add tmpfile.
47620         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
47621         active.
47622         * tests/test-fopen.c (includes): Test safer versions when they are
47623         in use.
47624         * tests/test-open.c (includes): Likewise.
47625
47626         popen: fix cygwin 1.5 bug when stdin closed
47627         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
47628         * modules/popen: New file.
47629         * modules/popen-tests: Likewise.
47630         * tests/test-popen.c: Likewise.
47631         * m4/popen.m4: Likewise.
47632         * lib/popen.c: Likewise.
47633         * lib/stdio.in.h (popen): New declaration.
47634         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
47635         * modules/stdio (Makefile.am): Likewise.
47636         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
47637
47638 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
47639
47640         maint.mk: give full control over update-copyright exclusions
47641         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
47642         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
47643         (update-copyright): Don't force inclusion of top-level
47644         ChangeLog.  Don't force exclusion of all COPYING files, but make
47645         them the default exclusion instead.
47646
47647 2009-08-16  Bruno Haible  <bruno@clisp.org>
47648
47649         Fix test failures on Solaris 10.
47650         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
47651         tests when Solaris iconv() is used.
47652         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
47653         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
47654         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
47655         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
47656         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
47657
47658 2009-08-16  Bruno Haible  <bruno@clisp.org>
47659
47660         Fix test failures on Solaris 10.
47661         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
47662         'tr' program and pass it as first argument.
47663         * tests/test-pipe-filter-gi1.sh: Likewise.
47664         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
47665         program as first argument.
47666         * tests/test-pipe-filter-gi1.c (main): Likewise.
47667
47668 2009-08-16  Eric Blake  <ebb9@byu.net>
47669
47670         fpurge: fix previous commits
47671         * modules/fpurge (Makefile.am): Make replacement conditional,
47672         partially reverting 2007-04-29 change; missed in previous
47673         attempt.
47674         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
47675         is missing.
47676
47677 2009-08-16  Bruno Haible  <bruno@clisp.org>
47678
47679         Clarify fpurge's effect on the file position.
47680         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
47681         * tests/test-fpurge.c (main): Make a second pass for checking the file
47682         position.
47683
47684 2009-08-16  Bruno Haible  <bruno@clisp.org>
47685
47686         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
47687         declaration of fpurge is missing.
47688         * tests/test-fpurge.c (main): Check that the file has not more contents
47689         than expected. Close the file before removing it.
47690
47691 2009-08-15  Eric Blake  <ebb9@byu.net>
47692
47693         fpurge: don't wrap working cygwin implementation
47694         * lib/fpurge.c (fpurge): Fix comment typo.
47695         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
47696         1.7 to avoid replacement.
47697         * tests/test-fpurge.c (main): Enhance test.
47698
47699 2009-08-15  Eric Blake  <ebb9@byu.net>
47700         and Jim Meyering  <meyering@redhat.com>
47701
47702         test-update-copyright: skip if perl is insufficient
47703         * tests/test-update-copyright.sh: Failure to run maintainer tool
47704         should not cause testsuite failure on cygwin 1.5.
47705
47706 2009-08-14  Eric Blake  <ebb9@byu.net>
47707
47708         doc: mention more functions added in cygwin 1.7.0
47709         * doc/posix-headers/limits.texi (limits.h): Update for recent
47710         cygwin additions.
47711         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
47712         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
47713         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
47714         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
47715         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
47716
47717 2009-08-14  Eric Blake  <ebb9@byu.net>
47718
47719         maint.mk: simplify update-copyright rule
47720         * top/maint.mk (update-copyright-local): Delete, and document how
47721         to do it in cfg.mk instead.
47722         (update-copyright-exclude-regexp): Delete, and document how to do
47723         it in .x-update-copyright instead.
47724         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
47725         exclude ChangeLog.
47726
47727 2009-08-14  Bruno Haible  <bruno@clisp.org>
47728
47729         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
47730
47731 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47732
47733         maint.mk: support update-copyright-env
47734         * top/maint.mk (update-copyright-env): Define place-holder.
47735         (update-copyright): Expand $(update-copyright-env) before
47736         invoking update-copyright.
47737
47738 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47739
47740         update-copyright: implement forced reformatting
47741         * build-aux/update-copyright: Implement and document
47742         UPDATE_COPYRIGHT_FORCE.
47743         * tests/test-update-copyright.sh: Test it.
47744
47745 2009-08-14  Eric Blake  <ebb9@byu.net>
47746         and Bruno Haible  <bruno@clisp.org>
47747
47748         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
47749         * tests/test-locale.c: Revert previous patch related to NULL.
47750         * tests/test-stdio.c: Likewise.
47751         * tests/test-stdlib.c: Likewise.
47752         * tests/test-string.c: Likewise.
47753         * tests/test-unistd.c: Likewise.
47754         * modules/time-tests (Depends-on): Add verify.
47755         * modules/wchar-tests (Depends-on): Likewise.
47756         * tests/test-time.c: Test for NULL compliance.
47757         * tests/test-wchar.c: Likewise.
47758         * modules/locale (Depends-on): Add stddef.
47759         * modules/stdio (Depends-on): Likewise.
47760         * modules/stdlib (Depends-on): Likewise.
47761         * modules/string (Depends-on): Likewise.
47762         * modules/time (Depends-on): Likewise.
47763         * modules/unistd (Depends-on): Likewise.
47764         * modules/wchar (Depends-on): Likewise.
47765         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
47766         * lib/stdlib.in.h (includes): Likewise.
47767         * lib/string.in.h (includes): Likewise.
47768         * lib/time.in.h (includes): Likewise.
47769         * lib/unistd.in.h (includes): Likewise.
47770         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
47771         replaced.
47772         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
47773         * m4/stddef_h.m4: New file.
47774         * modules/stddef: Likewise.
47775         * lib/stddef.in.h: Likewise.
47776         * modules/stddef-tests: Likewise.
47777         * tests/test-stddef.c: Likewise.
47778         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
47779         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
47780         * doc/posix-headers/locale.texi (locale.h): Likewise.
47781         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
47782         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47783         * doc/posix-headers/string.texi (string.h): Likewise.
47784         * doc/posix-headers/time.texi (time.h): Likewise.
47785         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
47786         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
47787
47788 2009-08-14  Eric Blake  <ebb9@byu.net>
47789
47790         doc: improve git diff of texinfo files
47791         * .gitattributes: Add rule for *.texi files, with hint on how to
47792         use it.
47793         Copied from m4, and based on a report by Bruno Haible.
47794
47795 2009-08-14  Bruno Haible  <bruno@clisp.org>
47796
47797         Disable multithread support by default on Cygwin 1.5.x for real.
47798         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
47799
47800 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47801
47802         update-copyright: much ado about intervals
47803         * build-aux/update-copyright: Implement and document
47804         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
47805         of copyright year intervals.
47806         Also, document UPDATE_COPYRIGHT_YEAR.
47807         * tests/test-update-copyright.sh: Test it.
47808
47809         update-copyright: convert 2-digit to 4-digit years
47810         * build-aux/update-copyright: Implement and document.
47811         * tests/test-update-copyright.sh: Update.
47812
47813 2009-08-14  Jim Meyering  <meyering@redhat.com>
47814
47815         test-exclude: avoid coreutils "make check" failure
47816         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
47817         just as in test-argmatch.c.
47818
47819 2009-08-13  Eric Blake  <ebb9@byu.net>
47820
47821         test-dup2: fix bad assumption
47822         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
47823         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
47824
47825         test-version-etc: fix CRLF portability issue
47826         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
47827         recognize \r.
47828         * tests/test-argp-version-etc-1.sh: Likewise.
47829
47830         getopt: update client modules
47831         * modules/argp (Depends-on): Use getopt-gnu.
47832         * modules/git-merge-changelog (Depends-on): Likewise.
47833         * modules/long-options (Depends-on): Likewise.
47834         * modules/xstrtol (Depends-on): Likewise.
47835
47836 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47837
47838         * tests/test-version-etc.sh: Don't fail on different
47839         project/version.  Don't fail on CRLF differences.  Rewrite to use
47840         multiple -e instead of multiple sed forks, suggested by Eric Blake
47841         <ebb9@byu.net>.
47842         * tests/test-argp-version-etc-1.sh: Likewise.
47843
47844 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47845
47846         * tests/test-version-etc.sh: Don't fail on different
47847         project/version.
47848
47849 2009-08-12  Bruno Haible  <bruno@clisp.org>
47850
47851         Tests for modules 'getopt-posix', 'getopt-gnu'.
47852         * modules/getopt-posix-tests: New file.
47853         * tests/test-getopt.c: New file.
47854         * tests/test-getopt.h: New file.
47855         * tests/test-getopt_long.h: New file.
47856
47857         New modules 'getopt-posix', 'getopt-gnu'.
47858         * modules/getopt-gnu: New file, renamed from modules/getopt.
47859         * modules/getopt-posix: New file.
47860         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
47861         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
47862         (gl_GETOPT): Remove macro.
47863         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
47864         Disable the test against BSD systems that declare optreset. Test
47865         against mingw bug. Test against lack of support of optional arguments
47866         on many platforms.
47867         * doc/glibc-headers/getopt.texi: Update module name and list of
47868         relevant platforms.
47869         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
47870         'getopt-gnu' and more portability problems.
47871         * NEWS: Mention the changes.
47872
47873 2009-08-12  Bruno Haible  <bruno@clisp.org>
47874
47875         Ensure that optarg etc. get declared by <unistd.h>.
47876         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
47877         AC_USE_SYSTEM_EXTENSIONS.
47878         * modules/getopt (Depends-on): Add 'extensions'.
47879
47880 2009-08-12  Bruno Haible  <bruno@clisp.org>
47881
47882         Avoid test link errors.
47883         * modules/pipe-filter-ii-tests (Makefile.am): Define
47884         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
47885         * modules/pipe-filter-gi-tests (Makefile.am): Define
47886         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
47887         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47888
47889 2009-08-12  Bruno Haible  <bruno@clisp.org>
47890
47891         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
47892         gl_GETOPT_SUBSTITUTE before.
47893         (gl_GETOPT): Use it.
47894         * m4/argp.m4 (gl_ARGP): Update.
47895         Reported by Sergey Poznyakoff.
47896
47897         * m4/getopt.m4: Reorder macros.
47898         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
47899         (gl_GETOPT_SUBSTITUTE): Remove macro.
47900
47901 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47902
47903         Minor improvement in gitlog-to-changelog
47904
47905         * build-aux/gitlog-to-changelog: New option `--format' makes
47906         output format string configurable.
47907
47908 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47909
47910         Optimize exclude: use hash tables for non-wildcard patterns.
47911
47912         * lib/exclude.c: Include hash.h and mbuiter.h
47913         (struct exclude_pattern, exclude_segment): New data types.
47914         (struct exclude): Rewrite.
47915         (fnmatch_pattern_has_wildcards): New function.
47916         (new_exclude_segment, free_exclude_segment): New functions.
47917         (excluded_file_pattern_p, excluded_file_name_p): New functions.
47918         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
47919         * lib/exclude.h (is_fnmatch_pattern): New prototype.
47920         * modules/exclude: Depend on hash and mbuiter.
47921
47922         * modules/exclude-tests: New file.
47923         * tests/test-exclude.c: New file.
47924         * tests/test-exclude1.sh: New file.
47925         * tests/test-exclude2.sh: New file.
47926         * tests/test-exclude3.sh: New file.
47927         * tests/test-exclude4.sh: New file.
47928         * tests/test-exclude5.sh: New file.
47929         * tests/test-exclude6.sh: New file.
47930         * tests/test-exclude7.sh: New file.
47931
47932 2009-08-12  Bruno Haible  <bruno@clisp.org>
47933
47934         Ensure that getopt() gets declared by <unistd.h>.
47935         * lib/unistd.in.h: Conditionally include getopt.h.
47936         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
47937         Set GNULIB_UNISTD_H_GETOPT.
47938         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47939         GNULIB_UNISTD_H_GETOPT.
47940         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
47941
47942 2009-08-12  Bruno Haible  <bruno@clisp.org>
47943
47944         Clarify logic.
47945         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
47946         gl_replace_getopt instead of GETOPT_H.
47947
47948 2009-08-12  Bruno Haible  <bruno@clisp.org>
47949
47950         * m4/getopt.m4: Add comments.
47951
47952 2009-08-12  Bruno Haible  <bruno@clisp.org>
47953
47954         Disable multithread support by default on Cygwin 1.5.x.
47955         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
47956         set gl_use_threads=no if not specified otherwise.
47957
47958 2009-08-11  Bruno Haible  <bruno@clisp.org>
47959
47960         Avoid compilation error on NetBSD 5.0.
47961         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
47962         * tests/test-stdio.c: Likewise.
47963         * tests/test-stdlib.c: Likewise.
47964         * tests/test-string.c: Likewise.
47965         * tests/test-unistd.c: Likewise.
47966         Reported by Greg Troxel <gdt@ir.bbn.com>
47967         at <https://savannah.gnu.org/support/?106973>.
47968
47969 2009-08-11  Bruno Haible  <bruno@clisp.org>
47970
47971         * modules/dup2-tests (Depends-on): Remove close.
47972
47973         Undo 2009-07-19 commit.
47974         * modules/acl-tests (Depends-on): Remove close.
47975         * modules/binary-io-tests (Depends-on): Likewise.
47976         * modules/closein-tests (Depends-on): Likewise.
47977         * modules/flock-tests (Depends-on): Likewise.
47978         * modules/fsync-tests (Depends-on): Likewise.
47979         * modules/lseek-tests (Depends-on): Likewise.
47980         * modules/pipe-tests (Depends-on): Likewise.
47981         * modules/posix_spawn-tests (Depends-on): Likewise.
47982         * modules/posix_spawnp-tests (Depends-on): Likewise.
47983         * modules/stat-time-tests (Depends-on): Likewise.
47984         * modules/yesno-tests (Depends-on): Likewise.
47985
47986 2009-08-10  Bruno Haible  <bruno@clisp.org>
47987
47988         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
47989
47990 2009-08-10  Bruno Haible  <bruno@clisp.org>
47991
47992         Fix a gcc warning.
47993         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
47994
47995 2009-08-10  Bruno Haible  <bruno@clisp.org>
47996
47997         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
47998         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
47999         not only the first time.
48000         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
48001         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
48002         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
48003         is 1, not only the the first time.
48004
48005 2009-08-10  Bruno Haible  <bruno@clisp.org>
48006
48007         Make it possible to use module 'gethostname' without module 'close'.
48008         * lib/unistd.in.h (close): Evoke a link error only if
48009         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
48010         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48011         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
48012         * modules/unistd (Makefile.am): Substitute
48013         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
48014         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
48015         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
48016         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
48017         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
48018         * modules/sys_ioctl (Makefile.am): Substitute
48019         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
48020         * modules/socket (configure.ac): On native Windows, set
48021         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
48022         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
48023         Reported by Sam Steingold <sds@gnu.org>.
48024
48025 2009-08-10  Bruno Haible  <bruno@clisp.org>
48026
48027         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
48028         * modules/ioctl (configure.ac): Likewise.
48029
48030 2009-08-10  Bruno Haible  <bruno@clisp.org>
48031
48032         Avoid collision between gnulib wrapper and libintl wrapper.
48033         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
48034         already defined in intl/printf.c.
48035         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
48036         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
48037
48038 2009-08-09  Bruno Haible  <bruno@clisp.org>
48039
48040         Make <sys/select.h> really self-contained, also on Solaris 10.
48041         * lib/sys_select.in.h: Include <string.h>.
48042         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
48043         Solaris 10 problem.
48044         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
48045         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
48046         Reported by Jim Meyering.
48047
48048 2009-08-09  Bruno Haible  <bruno@clisp.org>
48049
48050         Avoid warnings from 'aclocal' that are due to a use of macro name
48051         AM_XGETTEXT_OPTION that is not defined in automake.
48052         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
48053         automake.
48054         * modules/error (configure.ac): Likewise.
48055         * modules/propername (configure.ac): Likewise.
48056         * modules/vasprintf (configure.ac): Likewise.
48057         * modules/verror (configure.ac): Likewise.
48058         * modules/xprintf (configure.ac): Likewise.
48059         * modules/xvasprintf (configure.ac): Likewise.
48060
48061 2009-08-08  Bruno Haible  <bruno@clisp.org>
48062
48063         Avoid compilation error in C++ mode.
48064         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
48065         Reported by Sam Steingold <sds@gnu.org>.
48066
48067 2009-08-08  Bruno Haible  <bruno@clisp.org>
48068
48069         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
48070         for the various Unix platforms.
48071         * doc/posix-headers/limits.texi: Update platforms list regarding
48072         HOST_NAME_MAX.
48073         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48074
48075 2009-08-07  Jim Meyering  <meyering@redhat.com>
48076
48077         selinux-at: fix typo in a comment
48078         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
48079         Spotted by Paolo Bonzini.
48080
48081         selinux-at: remove redundant m4 code, add documentation
48082         * modules/selinux-at (configure.ac): Remove redundant code.
48083         LIB_SELINUX is already set via the dependent module, selinux-h.
48084         (Include): Add quotes around selinux-at.h.
48085         * lib/selinux-at.h: Add documentation.
48086         Reported by Bruno Haible in
48087         http://marc.info/?l=gnulib-bug&m=124958988300749
48088
48089 2009-08-07  Bruno Haible  <bruno@clisp.org>
48090
48091         Avoid link error on MacOS X 10.3 and 10.4.
48092         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
48093         on non-ELF systems.
48094         * lib/argp-pv.c (argp_program_version): Likewise.
48095         Reported by Simon Josefsson.
48096
48097 2009-08-07  Simon Josefsson  <simon@josefsson.org>
48098
48099         * tests/test-version-etc.sh: Use $EXEEXT.
48100
48101 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
48102
48103         update-copyright: update documentation to point to maint.mk
48104         * build-aux/update-copyright: Here.
48105
48106 2009-08-06  Jim Meyering  <meyering@redhat.com>
48107
48108         maint.mk: support update-copyright-local
48109         * top/maint.mk (update-copyright-local): Define place-holder.
48110         (update-copyright): Depend on $(update-copyright-local).
48111
48112 2009-08-06  Jim Meyering  <meyering@redhat.com>
48113
48114         selinux-at: new module
48115         Initially written for coreutils, this module will soon be
48116         used by findutils, too.
48117         * MODULES.html.sh [Misc]: Add selinux-at.
48118         * lib/selinux-at.h: New file, from coreutils.
48119         * lib/selinux-at.c: Likewise.
48120         * modules/selinux-at: Likewise.
48121         (License): Change from LGPL to GPL, since it depends
48122         on the GPL'd openat module.
48123
48124         doc: update README
48125         * README: Remove references to cogito.
48126         Remove cvs-repo-updating instructions from 2007.
48127         Don't imply that CVS is better if you have limited disk space.
48128
48129 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
48130
48131         update-copyright: support C-style comments
48132         * build-aux/update-copyright: Implement and document.
48133         * tests/test-update-copyright.sh: Test.
48134
48135 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
48136
48137         update-copyright: support omitted "(C)"
48138         * build-aux/update-copyright: Implement and document.  Also,
48139         allow variable whitespace before "(C)".
48140         * tests/test-update-copyright.sh: Test.
48141
48142 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
48143
48144         update-copyright: don't trip on non-FSF copyright statements
48145         * build-aux/update-copyright: Fix so that the first correctly
48146         formatted FSF copyright statement is recognized no matter what
48147         appears before it.  Update documentation.
48148         * tests/test-update-copyright.sh: Test that.
48149
48150 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
48151
48152         update-copyright: clean up code a little
48153         * build-aux/update-copyright: Append "_re" to the name of any
48154         variable holding a regular expression.
48155         Replace "old" and "new" with "stmt" in variable names.
48156         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
48157         handled correctly.
48158         Format code more consistently.
48159
48160 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
48161
48162         update-copyright-tests: improve portability
48163         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
48164         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
48165
48166 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
48167
48168         update-copyright: support @copyright{} and &copy;
48169         * build-aux/update-copyright: Implement and document.
48170         * tests/test-update-copyright.sh: Test.
48171
48172 2009-08-04  Jim Meyering  <meyering@redhat.com>
48173
48174         update-copyright-tests: correctly test EOL=\r\n handling
48175         * tests/test-update-copyright.sh: Put \r at the end of some lines
48176         for the dos-eol tests.  Based on a patch by Joel E. Denny.
48177
48178         maint.mk: make update-copyright exclusion list more configurable
48179         * top/maint.mk (update-copyright): Default to excluding COPYING,
48180         but allow an override, in case someone does want to update that file.
48181
48182         maint.mk: don't update copyright date in COPYING
48183         * top/maint.mk (update-copyright): Exclude COPYING.
48184
48185         maint.mk: add a copyright-updating rule
48186         * top/maint.mk (update-copyright): New rule.
48187         Derived from coreutils/Makefile.am.
48188
48189         update-copyright: rename some variables
48190         * build-aux/update-copyright: Rename a few variables for clarity.
48191         Tweak syntax.  List Joel E. Denny as coauthor.
48192
48193 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
48194
48195         update-copyright: fix bug for 2-digit last year and add tests
48196         * build-aux/update-copyright: Fix bug.
48197         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
48198         specified.
48199         * modules/update-copyright-tests: New
48200         * tests/test-update-copyright.sh: New.
48201
48202 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
48203
48204         update-copyright: handle leading tabs in line prefix
48205         * build-aux/update-copyright: Count leading tabs as 8 spaces
48206         when computing margin.  This helps with the formatting of
48207         ChangeLogs, for example.
48208         Fix documentation a little.
48209
48210 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
48211
48212         update-copyright: support EOL=\r\n
48213         * build-aux/update-copyright: Implement that.
48214
48215 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
48216
48217         update-copyright: automatically format copyright statements
48218         * build-aux/update-copyright: Implement that.
48219         Also, be a little more predictable and safer by always failing
48220         when the full copyright format is not perfectly recognized as an
48221         unbroken whole.  Discussed at
48222         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
48223         Rewrite documentation.
48224
48225 2009-08-03  Bruno Haible  <bruno@clisp.org>
48226
48227         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
48228
48229 2009-08-02  Bruno Haible  <bruno@clisp.org>
48230
48231         Tests for module 'uname'.
48232         * modules/uname-tests: New file.
48233         * tests/test-uname.c: New file.
48234
48235         New module 'uname'.
48236         * lib/uname.c: New file.
48237         * m4/uname.m4: New file.
48238         * modules/uname: New file.
48239         * doc/posix-functions/uname.texi: Mention the new module.
48240
48241 2009-08-02  Bruno Haible  <bruno@clisp.org>
48242
48243         Tests for module 'sys_utsname'.
48244         * modules/sys_utsname-tests: New file.
48245         * tests/test-sys_utsname.c: New file.
48246
48247         New module 'sys_utsname'.
48248         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
48249         * m4/sys_utsname_h.m4: New file.
48250         * modules/sys_utsname: New file.
48251         * doc/posix-headers/sys_utsname.texi: Mention the new module.
48252
48253 2009-08-02  Bruno Haible  <bruno@clisp.org>
48254
48255         Implicitly initialize the sockets library.
48256         * lib/gethostname.c: Include sockets.h.
48257         (rpl_gethostname): Invoke gl_sockets_startup.
48258         * lib/socket.c: Include sockets.h.
48259         (rpl_socket): Invoke gl_sockets_startup.
48260         * modules/gethostname (Depends-on): Add sockets.
48261         * modules/socket (Depends-on): Likewise.
48262         * tests/test-poll.c: Don't include sockets.h.
48263         (main): Don't invoke gl_sockets_startup.
48264         * tests/test-select.c: Don't include sockets.h.
48265         (main): Don't invoke gl_sockets_startup.
48266
48267 2009-08-02  Bruno Haible  <bruno@clisp.org>
48268
48269         Allow multiple calls to gl_sockets_startup.
48270         * lib/sockets.c (initialized_sockets_version): New variable.
48271         (gl_sockets_startup): Do nothing if already called for this or a higher
48272         version.
48273         (gl_sockets_cleanup): Reset initialized_sockets_version.
48274
48275 2009-08-03  Simon Josefsson  <simon@josefsson.org>
48276
48277         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
48278         different project/version.
48279
48280 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
48281             Bruno Haible  <bruno@clisp.org>
48282
48283         Tests for module 'pipe-filter-gi'.
48284         * modules/pipe-filter-gi-tests: New file.
48285         * tests/test-pipe-filter-gi1.sh: New file.
48286         * tests/test-pipe-filter-gi1.c: New file.
48287         * tests/test-pipe-filter-gi2.sh: New file.
48288         * tests/test-pipe-filter-gi2-main.c: New file.
48289         * tests/test-pipe-filter-gi2-child.c: New file.
48290
48291         New module 'pipe-filter-gi'.
48292         * lib/pipe-filter-gi.c: New file.
48293         * modules/pipe-filter-gi: New file.
48294
48295 2009-08-02  Bruno Haible  <bruno@clisp.org>
48296             Paolo Bonzini  <bonzini@gnu.org>
48297
48298         Tests for module 'pipe-filter-ii'.
48299         * modules/pipe-filter-ii-tests: New file.
48300         * tests/test-pipe-filter-ii1.sh: New file.
48301         * tests/test-pipe-filter-ii1.c: New file.
48302         * tests/test-pipe-filter-ii2.sh: New file.
48303         * tests/test-pipe-filter-ii2-main.c: New file.
48304         * tests/test-pipe-filter-ii2-child.c: New file.
48305
48306         New module 'pipe-filter-ii'.
48307         * lib/pipe-filter.h: New file.
48308         * lib/pipe-filter-ii.c: New file.
48309         * lib/pipe-filter-aux.h: New file.
48310         * modules/pipe-filter-ii: New file.
48311
48312 2009-08-02  Simon Josefsson  <simon@josefsson.org>
48313
48314         * lib/gc-libgcrypt.c: Change copyright to FSF.
48315         * lib/gc-gnulib.c: Likewise.
48316
48317 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
48318
48319         * lib/gethostname.c: Include limits.h.
48320
48321 2009-08-02  Simon Josefsson  <simon@josefsson.org>
48322             Bruno Haible  <bruno@clisp.org>
48323
48324         Ensure HOST_NAME_MAX as part of the gethostname module.
48325         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
48326         define also HOST_NAME_MAX.
48327         * tests/test-gethostname.c: Include <limits.h>.
48328         (main): Check also HOST_NAME_MAX.
48329         * doc/posix-headers/limits.texi: Document the mingw problem.
48330
48331 2009-08-02  Bruno Haible  <bruno@clisp.org>
48332
48333         * lib/gethostname.c (gethostname): Fix handling of large len argument.
48334         Add comments.
48335
48336 2009-03-31  Simon Josefsson  <simon@josefsson.org>
48337
48338         * lib/gethostname.c: Add Windows wrapper.
48339         * m4/gethostname.m4: Look for gethostname in -lws2_32.
48340         * modules/gethostname: Depend on sys_socket & errno, for also
48341         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
48342         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
48343
48344 2009-07-31  Jim Meyering  <meyering@redhat.com>
48345
48346         getloadavg: fix symbol name in comment
48347         * lib/getloadavg.c: Correct a typo I introduced when adding
48348         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
48349         Matt Kraai spotted the problem.
48350
48351 2009-07-29  Matt Kraai  <mkraai@beckman.com>
48352
48353         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
48354         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
48355         code also if ! defined N_NAME_POINTER.
48356         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
48357         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
48358         but the n_name member is a 12-byte array.
48359
48360 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
48361
48362         update-copyright: generalize comment handling
48363         * build-aux/update-copyright: Handle copyright statements
48364         within more comment styles.
48365         Document usage.
48366         Report any file with an external copyright holder or parse failure.
48367
48368 2009-07-29  Jim Meyering  <meyering@redhat.com>
48369
48370         mktime: correct setting of REPLACE_MKTIME
48371         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
48372
48373         update-copyright: new module
48374         * modules/update-copyright: New file.
48375         * build-aux/update-copyright: New file.
48376         * MODULES.html.sh (maint+release support): Add update-copyright.
48377
48378 2009-07-27  Bruno Haible  <bruno@clisp.org>
48379
48380         Fix compilation error when <ctime> is used and mktime is replaced.
48381         * lib/time.in.h (mktime): New declaration.
48382         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
48383         REPLACE_MKTIME instead of defining mktime in config.h.
48384         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
48385         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
48386         Reported by Ross McFarland <rwmcfa1@neces.com>.
48387
48388 2009-07-27  Bruno Haible  <bruno@clisp.org>
48389
48390         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
48391         Reported by Matt Kraai <mkraai@beckman.com>.
48392
48393 2009-07-25  Jim Meyering  <meyering@redhat.com>
48394
48395         maint.mk: avoid warnings about missing files
48396         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
48397         diagnostic when .prev-version does not exist.
48398         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
48399         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
48400         nonexistent cfg.mk.
48401         Suggestions from Simon Josefsson.
48402
48403 2009-07-25  Bruno Haible  <bruno@clisp.org>
48404
48405         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
48406         defined as macros. Needed on QNX 6.4.1.
48407         Reported by Matt Kraai <mkraai@beckman.com>.
48408
48409 2009-07-23  Jim Meyering  <meyering@redhat.com>
48410
48411         maint.mk: invoke "make dist" with a working value of XZ_OPT
48412         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
48413
48414 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
48415
48416         Make fseeko.c compile on QNX.
48417         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
48418
48419 2009-07-22  Peter Simons  <simons@cryp.to>
48420
48421         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
48422         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
48423         * lib/md4.h: Likewise.
48424         * lib/md5.h: Likewise.
48425         * lib/sha1.h: Likewise.
48426         * lib/sha256.h: Likewise.
48427         * lib/sha512.h: Likewise.
48428
48429         tests-sha1: don't assign literal string to 'char *' variable
48430         * tests/test-sha1.c (main): Declare locals with "const" to match
48431         attributes of the right hand side.
48432
48433 2009-07-21  Eric Blake  <ebb9@byu.net>
48434
48435         dup2: fix more mingw problems
48436         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
48437         fd to itself.
48438         * doc/posix-functions/dup2.texi (dup2): Document the bug.
48439         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
48440         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
48441         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
48442         care of mingw bugs.
48443
48444 2009-07-21  Jim Meyering  <meyering@redhat.com>
48445
48446         vc-list-files: avoid failure when /bin/sh is dash
48447         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
48448         On some Debian based systems, /bin/sh is a symlink to dash, and running
48449         this command would omit the "/" following each 'tests' prefix:
48450           dash -x build-aux/vc-list-files -C . tests
48451         That is because bash and dash work differently:
48452           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
48453           bash ok
48454           dash odd
48455
48456 2009-07-21  Eric Blake  <ebb9@byu.net>
48457
48458         dup2-tests: test previous patch
48459         * modules/dup2-tests: New file.
48460         * tests/test-dup2.c: Likewise.
48461         * tests/test-open.c (main): Avoid unspecified behavior.
48462         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
48463         test.
48464
48465         dup2: work around mingw and cygwin 1.5 bug
48466         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
48467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
48468         * modules/unistd (Makefile.am): Substitute it.
48469         * lib/unistd.in.h (dup2): Declare the replacement.
48470         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
48471         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
48472         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
48473         * modules/execute (Depends-on): Add dup2.
48474         * modules/fseterr (Depends-on): Likewise.
48475         * modules/pipe (Depends-on): Likewise.
48476         * modules/posix_spawn-internal (Depends-on): Likewise.
48477
48478 2009-07-21  Bruno Haible  <bruno@clisp.org>
48479
48480         * modules/.gitattributes: New file.
48481
48482 2009-07-20  Bruno Haible  <bruno@clisp.org>
48483
48484         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
48485         (main): Use it.
48486
48487 2009-07-20  Eric Blake  <ebb9@byu.net>
48488
48489         test-pipe: make a bit more robust.
48490         * tests/test-pipe.c (myerr): Allow error messages regardless of
48491         what we do to stderr.
48492         (test_pipe): Rearrange to avoid deadlock.
48493         (child_main): Try a larger read, to ensure we avoided deadlock.
48494         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
48495         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
48496         if misused.
48497
48498 2009-07-19  Jim Meyering  <meyering@redhat.com>
48499
48500         fts: avoid false-positive cycle-detection
48501         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
48502         for each new command line argument.
48503
48504 2009-07-19  Bruno Haible  <bruno@clisp.org>
48505
48506         Fix build error on mingw with the modules sys_select and unistd.
48507         * modules/acl-tests (Depends-on): Add close.
48508         * modules/binary-io-tests (Depends-on): Likewise.
48509         * modules/closein-tests (Depends-on): Likewise.
48510         * modules/flock-tests (Depends-on): Likewise.
48511         * modules/fsync-tests (Depends-on): Likewise.
48512         * modules/lseek-tests (Depends-on): Likewise.
48513         * modules/pipe-tests (Depends-on): Likewise.
48514         * modules/posix_spawn-tests (Depends-on): Likewise.
48515         * modules/posix_spawnp-tests (Depends-on): Likewise.
48516         * modules/stat-time-tests (Depends-on): Likewise.
48517         * modules/yesno-tests (Depends-on): Likewise.
48518
48519 2009-07-19  Bruno Haible  <bruno@clisp.org>
48520
48521         Unify conditionals.
48522         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
48523         macros, not at the compiler macros.
48524         * lib/pipe.c: Likewise.
48525         * lib/execute.c: Likewise.
48526         * lib/spawni.c: Likewise.
48527
48528 2009-07-19  Bruno Haible  <bruno@clisp.org>
48529
48530         Fix handling of closed stdin/stdout/stderr on mingw.
48531         * lib/w32spawn.h: Include unistd.h.
48532         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
48533         file descriptor with O_NOINHERIT flag.
48534         (fd_safer_noinherit): New function, based on fd-safer.c.
48535         (dup_safer_noinherit): New function, based on dup-safer.c.
48536         (undup_safer_noinherit): New function.
48537         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
48538         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
48539         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
48540         instead of fd_safer.
48541         * tests/test-pipe.c: Include <windows.h>.
48542         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
48543         result.
48544
48545         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
48546         from main.
48547         (test_pipe): Pass an extra argument for disambiguation.
48548         (main): Invoke parent_main or child_main.
48549
48550         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
48551         consistently.
48552
48553 2009-07-18  Eric Blake  <ebb9@byu.net>
48554
48555         test-pipe: fix mingw build
48556         * tests/test-pipe.c (main): Avoid fcntl on mingw.
48557
48558 2009-07-18  Bruno Haible  <bruno@clisp.org>
48559
48560         * modules/pipe-tests (Makefile.am): Fix typo.
48561
48562 2009-07-18  Eric Blake  <ebb9@byu.net>
48563
48564         error: fix mingw build
48565         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
48566         Reported by Bruno Haible.
48567
48568         error: avoid undefined use of stdout
48569         * lib/error.c (error, error_at_line): Check that fd 1 is open
48570         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
48571         is handling faults and the close_stdout module wants to report the
48572         detection of closed stdout as an error.
48573
48574 2009-07-17  Eric Blake  <ebb9@byu.net>
48575
48576         pipe: be robust in face of closed fds
48577         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
48578         should cause child to misbehave.
48579         * modules/pipe-tests: New module.
48580         * tests/test-pipe.c: New file.
48581         * tests/test-pipe.sh: New file.
48582         Reported by Akim Demaille.
48583
48584 2009-07-14  Bruno Haible  <bruno@clisp.org>
48585
48586         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
48587         Reported by anonymous kc.
48588
48589 2009-07-07  Jim Meyering  <meyering@redhat.com>
48590
48591         maint.mk: don't look for translatable strings in *.m4 or *.mk
48592         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
48593         when searching for translatable strings.
48594
48595 2009-07-05  Jim Meyering  <meyering@redhat.com>
48596
48597         remove superfluous parentheses in STREQ definition
48598         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
48599         * lib/getugroups.c (STREQ): Likewise.
48600         * lib/fnmatch.c (STREQ): Likewise.
48601         Spotted by Bruno Haible.
48602
48603 2009-07-04  Jim Meyering  <meyering@redhat.com>
48604
48605         argv-iter: new module
48606         * MODULES.html.sh: Add argv-iter.
48607         * lib/argv-iter.c, lib/argv-iter.h: New files.
48608         * modules/argv-iter: New file.
48609         * modules/argv-iter-tests: New file.
48610         * tests/test-argv-iter.c: Test it.
48611
48612 2009-07-04  Bruno Haible  <bruno@clisp.org>
48613
48614         Fix assertion.
48615         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
48616         contains more exact copies of a given entry than file2, leave the extra
48617         copies unpaired rather than aborting.
48618         Reported by Eric Blake.
48619
48620 2009-07-02  Bruno Haible  <bruno@clisp.org>
48621
48622         Speedup git-merge-changelog for git cherry-pick.
48623         * lib/git-merge-changelog.c (struct entries_mapping): New type.
48624         (entries_mapping_get): New function, extracted from compute_mapping.
48625         (entries_mapping_reverse_get): New function.
48626         (compute_mapping): Add a 'full' argument. Return the result in a
48627         'struct entries_mapping'.
48628         (main): Update. Access the mappings through entries_mapping_get.
48629         Reported by Eric Blake.
48630
48631 2009-07-02  Bruno Haible  <bruno@clisp.org>
48632
48633         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
48634         best_i.
48635
48636 2009-07-02  Bruno Haible  <bruno@clisp.org>
48637
48638         Speed up approximate search for matching ChangeLog entries.
48639         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
48640         argument. Call fstrcmp_bounded instead of fstrcmp.
48641         (compute_mapping, try_split_merged_entry, main): Update callers.
48642
48643 2009-07-02  Bruno Haible  <bruno@clisp.org>
48644
48645         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
48646
48647 2009-06-30  Bruno Haible  <bruno@clisp.org>
48648
48649         Reduce the number of uc_is_cased calls.
48650         * lib/unicase.h (casing_suffix_context_t): Add
48651         'first_char_except_ignorable' field.
48652         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
48653         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
48654         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
48655         Update initializer.
48656         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
48657         case-ignorable characters.
48658         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
48659         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
48660         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
48661         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
48662         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
48663
48664 2009-06-30  Bruno Haible  <bruno@clisp.org>
48665
48666         Tests for module 'unicase/ignorable'.
48667         * modules/unicase/ignorable-tests: New file.
48668         * tests/unicase/test-ignorable.c: New file, generated by
48669         gen-uni-tables.
48670
48671         Tests for module 'unicase/cased'.
48672         * modules/unicase/cased-tests: New file.
48673         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
48674         * tests/unicase/test-predicate-part1.h: New file, derived from
48675         tests/unictype/test-predicate-part1.h.
48676         * tests/unicase/test-predicate-part2.h: New file, same as
48677         tests/unictype/test-predicate-part2.h.
48678
48679         Fix evaluation of "Before C" condition of FINAL_SIGMA.
48680         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
48681         (output_casing_properties): New function.
48682         (main): Call it.
48683         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
48684         * lib/unicase/cased.c: Include unictype/bitmap.h.
48685         (uc_is_cased): Define through a bitmap lookup.
48686         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
48687         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
48688         (uc_is_case_ignorable): Define through a bitmap lookup.
48689         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
48690         lib/unictype/bitmap.h.
48691         (Depends-on): Add inline. Clean up.
48692         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
48693         lib/unictype/bitmap.h.
48694         (Depends-on): Add inline. Clean up.
48695         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
48696         recognition.
48697         * tests/unicase/test-u16-tolower.c (main): Likewise.
48698         * tests/unicase/test-u32-tolower.c (main): Likewise.
48699
48700 2009-06-30  Bruno Haible  <bruno@clisp.org>
48701
48702         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
48703         * lib/unicase/u16-casemap.c: Likewise.
48704         * lib/unicase/u32-casemap.c: Likewise.
48705
48706 2009-06-29  Bruno Haible  <bruno@clisp.org>
48707
48708         Define u32_casefold as a wrapper around u32_ct_casefold.
48709         * lib/unicase/u32-casefold.c: Update.
48710         * modules/unicase/u32-casefold (Depends-on): Add
48711         unicase/u32-ct-casefold, unicase/empty-prefix-context,
48712         unicase/empty-suffix-context. Clean up.
48713
48714         Define u16_casefold as a wrapper around u16_ct_casefold.
48715         * lib/unicase/u16-casefold.c: Update.
48716         * modules/unicase/u16-casefold (Depends-on): Add
48717         unicase/u16-ct-casefold, unicase/empty-prefix-context,
48718         unicase/empty-suffix-context. Clean up.
48719
48720         Define u8_casefold as a wrapper around u8_ct_casefold.
48721         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
48722         * lib/unicase/u8-casefold.c: Update.
48723         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
48724         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48725
48726         Define u32_totitle as a wrapper around u32_ct_totitle.
48727         * lib/unicase/u32-totitle.c: Update.
48728         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
48729         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48730
48731         Define u16_totitle as a wrapper around u16_ct_totitle.
48732         * lib/unicase/u16-totitle.c: Update.
48733         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
48734         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48735
48736         Define u8_totitle as a wrapper around u8_ct_totitle.
48737         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
48738         functions.
48739         (FUNC): Delegate to U_CT_TOTITLE.
48740         * lib/unicase/u8-totitle.c: Update.
48741         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
48742         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48743
48744         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
48745         invocation.
48746         * modules/unicase/u32-tolower (Depends-on): Add
48747         unicase/empty-prefix-context, unicase/empty-suffix-context.
48748
48749         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
48750         invocation.
48751         * modules/unicase/u16-tolower (Depends-on): Add
48752         unicase/empty-prefix-context, unicase/empty-suffix-context.
48753
48754         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
48755         * modules/unicase/u8-tolower (Depends-on): Add
48756         unicase/empty-prefix-context, unicase/empty-suffix-context.
48757
48758         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
48759         invocation.
48760         * modules/unicase/u32-toupper (Depends-on): Add
48761         unicase/empty-prefix-context, unicase/empty-suffix-context.
48762
48763         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
48764         invocation.
48765         * modules/unicase/u16-toupper (Depends-on): Add
48766         unicase/empty-prefix-context, unicase/empty-suffix-context.
48767
48768         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
48769         * modules/unicase/u8-toupper (Depends-on): Add
48770         unicase/empty-prefix-context, unicase/empty-suffix-context.
48771
48772         New module 'unicase/u32-ct-casefold'.
48773         * lib/unicase/u32-ct-casefold.c: New file.
48774         * modules/unicase/u32-ct-casefold: New file.
48775
48776         New module 'unicase/u16-ct-casefold'.
48777         * lib/unicase/u16-ct-casefold.c: New file.
48778         * modules/unicase/u16-ct-casefold: New file.
48779
48780         New module 'unicase/u8-ct-casefold'.
48781         * lib/unicase/u8-ct-casefold.c: New file.
48782         * lib/unicase/u-ct-casefold.h: New file, derived from
48783         lib/unicase/u-casefold.h.
48784         * modules/unicase/u8-ct-casefold: New file.
48785
48786         New module 'unicase/u32-ct-totitle'.
48787         * lib/unicase/u32-ct-totitle.c: New file.
48788         * modules/unicase/u32-ct-totitle: New file.
48789
48790         New module 'unicase/u16-ct-totitle'.
48791         * lib/unicase/u16-ct-totitle.c: New file.
48792         * modules/unicase/u16-ct-totitle: New file.
48793
48794         New module 'unicase/u8-ct-totitle'.
48795         * lib/unicase/u8-ct-totitle.c: New file.
48796         * lib/unicase/u-ct-totitle.h: New file, derived from
48797         lib/unicase/u-totitle.h.
48798         * modules/unicase/u8-ct-totitle: New file.
48799
48800         New module 'unicase/u32-ct-tolower'.
48801         * lib/unicase/u32-ct-tolower.c: New file.
48802         * modules/unicase/u32-ct-tolower: New file.
48803
48804         New module 'unicase/u16-ct-tolower'.
48805         * lib/unicase/u16-ct-tolower.c: New file.
48806         * modules/unicase/u16-ct-tolower: New file.
48807
48808         New module 'unicase/u8-ct-tolower'.
48809         * lib/unicase/u8-ct-tolower.c: New file.
48810         * modules/unicase/u8-ct-tolower: New file.
48811
48812         New module 'unicase/u32-ct-toupper'.
48813         * lib/unicase/u32-ct-toupper.c: New file.
48814         * modules/unicase/u32-ct-toupper: New file.
48815
48816         New module 'unicase/u16-ct-toupper'.
48817         * lib/unicase/u16-ct-toupper.c: New file.
48818         * modules/unicase/u16-ct-toupper: New file.
48819
48820         New module 'unicase/u8-ct-toupper'.
48821         * lib/unicase/u8-ct-toupper.c: New file.
48822         * modules/unicase/u8-ct-toupper: New file.
48823
48824         Add context arguments to u*_casemap functions.
48825         * lib/unicase/unicasemap.h: Include unicase.h.
48826         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
48827         suffix_context arguments.
48828         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
48829         functions.
48830         (FUNC): Add prefix_context and suffix_context arguments. Use
48831         uc_is_cased and uc_is_case_ignorable.
48832         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
48833         * lib/unicase/u16-casemap.c: Likewise.
48834         * lib/unicase/u32-casemap.c: Likewise.
48835         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
48836         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48837         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
48838         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48839         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
48840         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48841
48842         New module 'unicase/u32-suffix-context'.
48843         * lib/unicase/u32-suffix-context.c: New file.
48844         * modules/unicase/u32-suffix-context: New file.
48845
48846         New module 'unicase/u16-suffix-context'.
48847         * lib/unicase/u16-suffix-context.c: New file.
48848         * modules/unicase/u16-suffix-context: New file.
48849
48850         New module 'unicase/u8-suffix-context'.
48851         * lib/unicase/u8-suffix-context.c: New file.
48852         * lib/unicase/u-suffix-context.h: New file.
48853         * modules/unicase/u8-suffix-context: New file.
48854
48855         New module 'unicase/empty-suffix-context'.
48856         * lib/unicase/empty-suffix-context.c: New file.
48857         * modules/unicase/empty-suffix-context: New file.
48858
48859         New module 'unicase/u32-prefix-context'.
48860         * lib/unicase/u32-prefix-context.c: New file.
48861         * modules/unicase/u32-prefix-context: New file.
48862
48863         New module 'unicase/u16-prefix-context'.
48864         * lib/unicase/u16-prefix-context.c: New file.
48865         * modules/unicase/u16-prefix-context: New file.
48866
48867         New module 'unicase/u8-prefix-context'.
48868         * lib/unicase/u8-prefix-context.c: New file.
48869         * lib/unicase/u-prefix-context.h: New file.
48870         * lib/unicase/context.h: New file.
48871         * modules/unicase/u8-prefix-context: New file.
48872
48873         New module 'unicase/empty-prefix-context'.
48874         * lib/unicase/empty-prefix-context.c: New file.
48875         * modules/unicase/empty-prefix-context: New file.
48876
48877         New module 'unicase/ignorable'.
48878         * lib/unicase/ignorable.c: New file.
48879         * modules/unicase/ignorable: New file.
48880
48881         New module 'unicase/cased'.
48882         * lib/unicase/caseprop.h: New file.
48883         * lib/unicase/cased.c: New file.
48884         * modules/unicase/cased: New file.
48885
48886         New functions for case mapping of substrings.
48887         * lib/unicase.h (casing_prefix_context_t): New type.
48888         (unicase_empty_prefix_context): New variable.
48889         (u8_casing_prefix_context, u16_casing_prefix_context,
48890         u32_casing_prefix_context, u8_casing_prefixes_context,
48891         u16_casing_prefixes_context, u32_casing_prefixes_context): New
48892         declarations.
48893         (casing_suffix_context_t): New type.
48894         (unicase_empty_suffix_context): New variable.
48895         (u8_casing_suffix_context, u16_casing_suffix_context,
48896         u32_casing_suffix_context, u8_casing_suffixes_context,
48897         u16_casing_suffixes_context, u32_casing_suffixes_context,
48898         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
48899         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
48900         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
48901         declarations.
48902
48903 2009-06-28  Jim Meyering  <meyering@redhat.com>
48904
48905         boostrap: indent only with spaces
48906         * build-aux/bootstrap: Indent only with spaces, never TABs.
48907
48908         bootstrap: split long lines
48909         * build-aux/bootstrap: Keep line length < 80.
48910
48911         bootstrap: sync from coreutils
48912         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
48913         just as autoreconf does.  Verify a list of prerequisite
48914         package-name,version-number pairs if defined in bootstrap.conf.
48915         Refer to README-prereq, if prerequisites are not satisfied.
48916
48917 2009-06-27  Eric Blake  <ebb9@byu.net>
48918
48919         tests: add test for bogus NULL definition
48920         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
48921         * tests/test-stdlib.c: Likewise.
48922         * tests/test-string.c: Likewise.
48923         * tests/test-locale.c: Likewise.
48924         * tests/test-unistd.c: Likewise.
48925         * modules/stdio-tests (Depends-on): Add verify.
48926         * modules/stdlib-tests (Depends-on): Likewise.
48927         * modules/string-tests (Depends-on): Likewise.
48928         * modules/locale-tests (Depends-on): Likewise.
48929         * modules/unistd-tests (Depends-on): Likewise.
48930
48931 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
48932
48933         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
48934         self-explaining comment.
48935         * m4/selinux-selinux-h: Update serial.
48936         (gl_LIBSELINUX): New macro, adding a warning for missing development
48937         packages to code extracted from...
48938         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
48939         Add warning for missing development packages here, too.
48940
48941 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
48942
48943         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
48944
48945 2009-06-25  Eric Blake  <ebb9@byu.net>
48946
48947         version-etc: fix regression
48948         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
48949         gcc.
48950         (version_etc): Use it, to catch bugs with trailing NULL.
48951         * lib/version-etc.c (version_etc_arn): Delete unused argument.
48952         (version_etc_va): Fix logic bug.
48953         * modules/version-etc-tests: Add test.
48954         * tests/test-version-etc.c: New file.
48955         * tests/test-version-etc.sh: Likewise.
48956
48957 2009-06-25  Sam Steingold  <sds@gnu.org>
48958
48959         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
48960         mbtowc declaration.
48961
48962 2009-06-25  Eric Blake  <ebb9@byu.net>
48963
48964         fpurge: migrate into <stdio.h>
48965         * lib/fpurge.h: Delete...
48966         * lib/stdio.in.h (fpurge): ...and declare here, instead.
48967         * lib/fpurge.c (fpurge): Change declaring header.
48968         * modules/fpurge (Files): Drop deleted file.
48969         (Depends-on): Add stdio.
48970         (configure.ac): Set witness.
48971         * modules/stdio (Makefile.am): Support fpurge macros.
48972         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48973         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
48974         * lib/fflush.c: Update client.
48975         * tests/test-fpurge.c: Likewise.
48976         * NEWS: Mention the change.
48977
48978 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48979
48980         * lib/argp-version-etc.c (program_authors): Add const
48981         qualifier.
48982         * lib/version-etc.c: Fix typos in the comments.
48983         * modules/argp-version-etc: Depends on version-etc.
48984
48985 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48986
48987         argp-version-etc: new module.
48988
48989         * lib/argp-version-etc.c: New file.
48990         * lib/argp-version-etc.h: New file.
48991         * modules/argp-version-etc: New file.
48992         * modules/argp-version-etc-tests: New file.
48993         * tests/test-argp-version-etc.c: New test.
48994         * tests/test-argp-version-etc-1.sh: New test.
48995
48996 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48997
48998         Provide additional interfaces and documentation for version-etc
48999         module.
49000
49001         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
49002         interfaces.
49003         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
49004         prototypes.
49005
49006 2009-06-24  Bruno Haible  <bruno@clisp.org>
49007
49008         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
49009         HAVE_LIB${NAME} macro.
49010         Reported by Sam Steingold <sds@gnu.org>.
49011
49012 2009-06-23  Simon Josefsson  <simon@josefsson.org>
49013
49014         * modules/hash-tests (test_hash_LDADD): Link to libintl when
49015         needed.
49016
49017 2009-06-21  Bruno Haible  <bruno@clisp.org>
49018
49019         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
49020         work.
49021         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
49022         together with LIB${NAME}, LTLIB${NAME}.
49023         Reported by Sam Steingold <sds@gnu.org>.
49024
49025 2009-06-20  Jim Meyering  <meyering@redhat.com>
49026
49027         tests: make sc_require_test_exit_idiom more generic
49028         * top/maint.mk (Exit_witness_file): New overridable variable.
49029         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
49030         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
49031
49032 2009-06-19  Jim Meyering  <meyering@redhat.com>
49033
49034         hash: reverse order of src/dst parameters in an internal interface
49035         * lib/hash.c (transfer_entries): Reverse order of parameters to
49036         put DST before SRC.  Adjust callers.
49037
49038         tests: test-hash: avoid wholesale duplication
49039         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
49040         Instead, use a loop and add a single conditional.
49041
49042         tests: test-hash: allow seed selection via a command line argument
49043         * tests/test-hash.c (get_seed): New function.
49044         (main): Use it.
49045
49046 2009-06-19  Eric Blake  <ebb9@byu.net>
49047
49048         hash: avoid memory leak on allocation failure
49049         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
49050         failure.  Factor repeated algorithm...
49051         (transfer_entries): ...into new helper routine.
49052         (hash_delete): React to hash_rehash return value.
49053
49054         hash: reduce memory pressure in hash_rehash no-op case
49055         * lib/hash.c (next_prime): Avoid overflow.
49056         (hash_initialize): Factor bucket size computation...
49057         (compute_bucket_size): ...into new helper function.
49058         (hash_rehash): Use new function and open coding to reduce memory
49059         pressure, and avoid a memory leak in USE_OBSTACK code.
49060         Reported by Jim Meyering.
49061
49062 2009-06-18  Eric Blake  <ebb9@byu.net>
49063
49064         hash: make rotation more obvious
49065         * modules/hash (Depends-on): Add bitrotate and stdint.
49066         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
49067         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
49068         (SIZE_MAX): Rely on headers for definition.
49069         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
49070         (raw_hasher): Use rotr_sz.
49071         Suggested by Jim Meyering.
49072
49073         hash: fix memory leak in last patch
49074         * lib/hash.c (hash_rehash): Avoid memory leak.
49075
49076         hash: avoid no-op rehashing
49077         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
49078
49079         hash: provide default callback functions
49080         * lib/hash.c (raw_hasher, raw_comparator): New functions.
49081         (hash_initialize): Use them as defaults.
49082         * tests/test-hash.c (main): Test this.
49083
49084         hash: minor optimization
49085         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
49086         when possible.
49087         (hash_initialize): Document this promise.
49088         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
49089         * tests/test-hash.c (hash_compare_strings): Test this.
49090
49091 2009-06-18  Bruno Haible  <bruno@clisp.org>
49092
49093         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
49094         going to be replaced anyway.
49095
49096 2009-06-18  Bruno Haible  <bruno@clisp.org>
49097
49098         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
49099         in one place.
49100         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
49101         be replaced anyway.
49102
49103 2009-06-18  Eric Blake  <ebb9@byu.net>
49104
49105         hash: check for resize before insertion
49106         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
49107         threshold before insertion, so that a pathological hash_rehash
49108         that fills every bucket can still trigger another rehash.
49109
49110 2009-06-18  Jim Meyering  <meyering@redhat.com>
49111
49112         hash-tests: add a loop around the small tests
49113         * tests/test-hash.c (main): Repeat small tests with selected
49114         small initial table sizes.
49115
49116 2009-06-17  Eric Blake  <ebb9@byu.net>
49117
49118         hash: minor cleanups
49119         * lib/hash.h (hash_entry): Make opaque, by moving...
49120         * lib/hash.c (hash_entry): ...here.
49121         (hash_insert): Clarify restrictions on what can be inserted.
49122         (hash_get_next): Clarify when it is safe to remove an element
49123         during traversal.
49124         (check_tuning): Skip verification when tuning is known safe.
49125         (hash_initialize): Clarify restrictions on tuning.
49126
49127 2009-06-17  Jim Meyering  <jim@meyering.net>
49128         and Eric Blake  <ebb9@byu.net>
49129
49130         hash-tests: new module
49131         * modules/hash-tests: New file.
49132         * tests/test-hash.c: New file.
49133
49134 2009-06-17  Eric Blake  <ebb9@byu.net>
49135
49136         strstr-simple: document new module
49137         * MODULES.html.sh: Document new module.
49138
49139         strstr, strcasestr: replace on platforms with broken memchr
49140         * modules/strstr: Split into...
49141         * modules/strstr-simple: ...new module that does not care about
49142         performance, but does care about glibc bug.
49143         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
49144         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
49145         if platform memchr is broken, per Debian bug 521737.
49146         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
49147         memchr.
49148         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
49149         * doc/posix-functions/strstr.texi (strstr): Document the fix.
49150         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
49151         * modules/mountlist (Depends-on): Add strstr-simple.
49152         * modules/gen-uni-tables (Depends-on): Likewise.
49153         * modules/argz (Depends-on): Add strstr.
49154
49155 2009-06-17  Bruno Haible  <bruno@clisp.org>
49156
49157         * modules/posix_spawn-internal (Depends-on): Add errno.
49158
49159 2009-06-17  Bruno Haible  <bruno@clisp.org>
49160
49161         Define missing ESTALE on Interix 3.5.
49162         * lib/errno.in.h (ESTALE): Assign a value if missing.
49163         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
49164         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
49165         missing.
49166         * doc/posix-headers/errno.texi: Mention the Interix bug.
49167         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
49168
49169 2009-06-15  Eric Blake  <ebb9@byu.net>
49170
49171         memchr, memchr2: add valgrind exception
49172         * lib/memchr.valgrind: New file.
49173         * lib/memchr2.valgrind: New file.
49174         * modules/memchr (Files): Distribute valgrind file.
49175         * modules/memchr2 (Files): Likewise.
49176
49177         docs: memchr is no longer obsolete
49178         * MODULES.html.sh: Move memchr from obsolete to string.h section.
49179         * lib/string.in.h (memchr): Simplify logic.
49180
49181 2009-06-14  Jim Meyering  <meyering@redhat.com>
49182
49183         link-follow: fix the "checking..." message to not mention trailing slash
49184         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
49185         never considered trailing slashes.
49186
49187 2009-06-14  Bruno Haible  <bruno@clisp.org>
49188
49189         * m4/memchr.m4: Mention also the bug on IA-64.
49190         * doc/posix-functions/memchr.texi: Likewise.
49191
49192 2009-06-12  Eric Blake  <ebb9@byu.net>
49193
49194         memchr: detect broken x86_64 and alpha implementations
49195         * modules/memchr-tests (Depends-on): Move mmap detection...
49196         * modules/memchr (Depends-on): ...here.
49197         (configure.ac): Set indicator.
49198         * lib/string.in.h (memchr): Declare replacement.
49199         * modules/string (Makefile.am): Trigger replacement.
49200         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
49201         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
49202         bugs.
49203         * doc/posix-functions/memchr.texi (memchr): Document the bug.
49204         * modules/getpagesize (License): Relax license.
49205
49206 2009-06-11  Bruno Haible  <bruno@clisp.org>
49207
49208         * lib/idpriv.h: Add more references.
49209
49210 2009-06-08  Bruno Haible  <bruno@clisp.org>
49211
49212         Tests for module 'idpriv-droptemp'.
49213         * modules/idpriv-droptemp-tests: New file.
49214         * tests/test-idpriv-droptemp.sh: New file.
49215         * tests/test-idpriv-droptemp.su.sh: New file.
49216         * tests/test-idpriv-droptemp.c: New file.
49217
49218         New module 'idpriv-droptemp'.
49219         * lib/idpriv-droptemp.c: New file.
49220         * modules/idpriv-droptemp: New file.
49221
49222 2009-06-08  Bruno Haible  <bruno@clisp.org>
49223
49224         Tests for module 'idpriv-drop'.
49225         * modules/idpriv-drop-tests: New file.
49226         * tests/test-idpriv-drop.sh: New file.
49227         * tests/test-idpriv-drop.su.sh: New file.
49228         * tests/test-idpriv-drop.c: New file.
49229
49230         New module 'idpriv-drop'.
49231         * lib/idpriv.h: New file.
49232         * lib-idpriv-drop.c: New file.
49233         * m4/idpriv.m4: New file.
49234         * modules/idpriv-drop: New file.
49235
49236 2009-06-08  Bruno Haible  <bruno@clisp.org>
49237
49238         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
49239         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49240         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49241         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49242         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49243         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49244         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49245
49246 2009-06-08  Eric Blake  <ebb9@byu.net>
49247
49248         test-strstr: use memory fence, when possible
49249         * tests/test-strstr.c (main): Use memory fence, in order to be
49250         more likely to trigger Debian bug 521737.
49251         * modules/strstr-tests (Files): Pull in additional files.
49252
49253         memchr: no longer obsolete, for wider field testing
49254         * modules/memchr (Status, Notice): Delete, this module is no
49255         longer obsolete.
49256         * modules/vasnprintf (Depends-on): Add memchr.
49257
49258 2009-06-07  Jim Meyering  <meyering@redhat.com>
49259
49260         hash: declare some functions with the warn_unused_result attribute
49261         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
49262
49263 2009-06-07  Bruno Haible  <bruno@clisp.org>
49264
49265         * tests/test-alignof.c: Don't test int64_t if it does not exist.
49266         Reported by Eric Blake.
49267
49268 2009-06-06  Eric Blake  <ebb9@byu.net>
49269
49270         test-alignof: fix typo with long double
49271         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
49272         compiler error.
49273
49274 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
49275
49276         Escape non-texinfo { and }s.
49277         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
49278         markup error.
49279
49280 2009-06-04  Jim Meyering  <meyering@redhat.com>
49281
49282         gitlog-to-changelog: don't infloop on an empty commit log
49283         * build-aux/gitlog-to-changelog: Warn about an empty log message.
49284         Reported by Boris Petersen <transacid@centerim.org>.
49285
49286 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
49287
49288         version-etc: extend for packagers
49289         Add three new configure options, intended for packagers:
49290           --with-packager="packager name"
49291           --with-packager-version="packager-specific version"
49292           --with-packager-bug-reports="packager bug reporting"
49293         An example with coreutils:
49294           $ ./configure \
49295             --with-packager=Gentoo \
49296             --with-packager-bug-report=http://bugs.gentoo.org/ \
49297             --with-packager-version="patchset 1.6"
49298           $ ./src/ls --version | head -n2
49299           ls (GNU coreutils) 7.1-dirty
49300           Packaged by Gentoo (patchset 1.6)
49301         Note that the bug reporting info via --help doesn't show up because
49302         coreutils uses its own custom emit_bug_reporting_address() implementation
49303         in src/system.h.  If it didn't, it'd look like:
49304           $ ./src/ls --help | tail -n4
49305           Report bugs to <bug-coreutils@gnu.org>.
49306           Report Gentoo bugs to <http://bugs.gentoo.org/>.
49307           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
49308           General help using GNU software: <http://www.gnu.org/gethelp/>.
49309         * lib/version-etc.c: Print new information, if provided.
49310         * m4/version-etc.m4: New file.
49311         * modules/version-etc (Files): Add m4/version-etc.m4.
49312         (configure.ac): Add gl_VERSION_ETC.
49313
49314 2009-05-31  Bruno Haible  <bruno@clisp.org>
49315
49316         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
49317         and 'int64_t'.
49318         * modules/alignof-tests (Dependencies): Add stdint.
49319         Reported by Eric Blake.
49320
49321 2009-05-31  Bruno Haible  <bruno@clisp.org>
49322
49323         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
49324         restriction due to compiler bugs.
49325         Reported by Eric Blake.
49326
49327 2009-05-31  Simon Josefsson  <simon@josefsson.org>
49328             Bruno Haible  <bruno@clisp.org>
49329
49330         Fix test-alignof failure.
49331         * lib/alignof.h (alignof_slot): New macro.
49332         (alignof_type): New macro, with the same semantics as the previous
49333         'alignof'.
49334         (alignof): Alias to alignof_slot.
49335         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
49336         check that the results are usable as constant expressions.
49337
49338 2009-05-31  Bruno Haible  <bruno@clisp.org>
49339
49340         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
49341         * tests/test-memchr.c (main): Check that memchr does not read past the
49342         first occurrence of the byte.
49343         * tests/test-strstr.c (main): Update comment.
49344         Suggested by Eric Blake.
49345
49346 2009-05-30  Bruno Haible  <bruno@clisp.org>
49347
49348         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
49349         detail how to use dumpbin.
49350         Reported by David Byron <dbyron@dbyron.com>.
49351
49352 2009-06-02  Simon Josefsson  <simon@josefsson.org>
49353
49354         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
49355
49356 2009-06-02  Simon Josefsson  <simon@josefsson.org>
49357
49358         * m4/manywarnings.m4: Add GCC 4.4 warnings.
49359
49360 2009-05-28  Bruno Haible  <bruno@clisp.org>
49361
49362         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
49363         build-aux/ files.
49364
49365 2009-05-28  Simon Josefsson  <simon@josefsson.org>
49366
49367         * gnulib-tool (func_import): Transform license on build-aux/ files too.
49368
49369 2009-05-27  Simon Josefsson  <simon@josefsson.org>
49370
49371         * gnulib-tool (sed_transform_main_lib_file)
49372         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
49373         regexps.
49374
49375 2009-05-26  Simon Josefsson  <simon@josefsson.org>
49376
49377         * tests/test-strstr.c: Add another self-test.
49378         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
49379         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
49380
49381 2009-05-23  Bruno Haible  <bruno@clisp.org>
49382
49383         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
49384         change.
49385
49386 2009-05-21  Bruno Haible  <bruno@clisp.org>
49387
49388         Simplify use of mode_t varargs.
49389         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
49390         uses 'mode_t' or 'int'.
49391         * lib/openat.c (openat): Likewise.
49392         * lib/open-safer.c (open_safer): Likewise.
49393         * m4/mode_t.m4: New file.
49394         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
49395         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
49396         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
49397         * modules/open (Files): Add m4/mode_t.m4.
49398         * modules/openat (Files): Likewise.
49399         * modules/fcntl-safer (Files): Likewise.
49400         Suggested by Eric Blake.
49401
49402 2009-05-21  Pádraig Brady  <P@draigbrady.com>
49403
49404         * doc/glibc-functions/fallocate.texi: New file.
49405         * doc/gnulib.texi: Include it.
49406
49407 2009-05-21  Eric Blake  <ebb9@byu.net>
49408             Bruno Haible  <bruno@clisp.org>
49409
49410         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
49411         invocations.
49412         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
49413
49414 2009-05-21  Eric Blake  <ebb9@byu.net>
49415             Bruno Haible  <bruno@clisp.org>
49416
49417         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
49418         include_next. Fix of 2008-11-20 commit.
49419         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
49420         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
49421         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
49422         NEXT_MATH_H.
49423         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
49424         instead of NEXT_MATH_H.
49425
49426 2009-05-21  Bruno Haible  <bruno@clisp.org>
49427
49428         Avoid redefinition warnings for SIZE_MAX.
49429         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
49430         Reported by Simon Josefsson.
49431
49432 2009-05-21  Bruno Haible  <bruno@clisp.org>
49433
49434         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
49435         AC_CACHE_VAL.
49436
49437 2009-05-20  Bruno Haible  <bruno@clisp.org>
49438
49439         Make zeroptr.h work on mingw.
49440         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
49441         mprotect.
49442         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
49443         * modules/memchr2-tests (configure.ac): Likewise.
49444         * modules/memcmp-tests (configure.ac): Likewise.
49445         * modules/memmem-tests (configure.ac): Likewise.
49446         * modules/memrchr-tests (configure.ac): Likewise.
49447         Reported by Simon Josefsson.
49448
49449 2009-05-20  Simon Josefsson  <simon@josefsson.org>
49450
49451         * tests/test-glob.c: Include string.h for strcmp prototype.
49452
49453 2009-05-20  Simon Josefsson  <simon@josefsson.org>
49454
49455         * modules/getdelim (Depends-on): Add explicit stdint, although it
49456         was implicitly already pulled in via realloc-posix.
49457         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
49458
49459 2009-05-20  Simon Josefsson  <simon@josefsson.org>
49460
49461         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
49462         G. Christensen" <tgc@jupiterrise.com>.
49463         * m4/sys_socket_h.m4: Check for sa_family_t.
49464         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
49465         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
49466         * tests/test-sys_socket.c: Check that sa_family_t works.
49467
49468 2009-05-18  Eric Blake  <ebb9@byu.net>
49469
49470         maint.mk: allow gnulib_dir in VPATH build
49471         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
49472
49473 2009-05-15  Jim Meyering  <meyering@redhat.com>
49474
49475         maint.mk: Give gnulib_dir a default definition.
49476         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
49477         Thus, most packages no longer need to specify this variable in cfg.mk
49478
49479 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
49480
49481         rename.m4: fix typos that would make non-mingw cross-configure fail
49482         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
49483
49484 2009-05-13  Eric Blake  <ebb9@byu.net>
49485
49486         mmap-anon: avoid out-of-order autoconf expansion
49487         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
49488         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
49489         * modules/memchr-tests (Depends-on): Add extensions.
49490         * modules/memchr2-tests (Depends-on): Add extensions.
49491         * modules/memcmp-tests (Depends-on): Add extensions.
49492         * modules/memmem-tests (Depends-on): Add extensions.
49493         * modules/memrchr-tests (Depends-on): Add extensions.
49494
49495 2009-05-13  Bruno Haible  <bruno@clisp.org>
49496
49497         Make some tests ISO C 99 compliant.
49498         * tests/zerosize-ptr.h: New file.
49499         * tests/test-memchr.c: Include zerosize-ptr.h.
49500         (main): Use a zero-size object pointer instead of NULL.
49501         * tests/test-memchr2.c: Include zerosize-ptr.h.
49502         (main): Use a zero-size object pointer instead of NULL.
49503         * tests/test-memcmp.c: Include zerosize-ptr.h.
49504         (main): Use a zero-size object pointer instead of NULL.
49505         * tests/test-memmem.c: Include zerosize-ptr.h.
49506         (main): Use a zero-size object pointer instead of NULL.
49507         * tests/test-memrchr.c: Include zerosize-ptr.h.
49508         (main): Use a zero-size object pointer instead of NULL.
49509         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
49510         m4/mmap-anon.m4.
49511         (Depends-on): Add getpagesize.
49512         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49513         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
49514         m4/mmap-anon.m4.
49515         (Depends-on): Add getpagesize.
49516         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49517         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
49518         m4/mmap-anon.m4.
49519         (Depends-on): Add getpagesize.
49520         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49521         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
49522         m4/mmap-anon.m4.
49523         (Depends-on): Add getpagesize.
49524         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49525         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
49526         m4/mmap-anon.m4.
49527         (Depends-on): Add getpagesize.
49528         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49529
49530 2009-05-12  Bruno Haible  <bruno@clisp.org>
49531
49532         Tests for module 'alignof'.
49533         * modules/alignof-tests: New file.
49534         * tests/test-alignof.c: New file.
49535
49536 2009-05-12  Bruno Haible  <bruno@clisp.org>
49537
49538         Fix alignof macro.
49539         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
49540         vendor compilers that are always correct.
49541
49542 2009-05-12  Bruno Haible  <bruno@clisp.org>
49543
49544         Make the MAP_ANONYMOUS detection work on HP-UX 11.
49545         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
49546         not whether its fully works.
49547
49548 2009-05-12  Bruno Haible  <bruno@clisp.org>
49549
49550         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
49551
49552 2009-05-12  Jim Meyering  <meyering@redhat.com>
49553
49554         * top/maint.mk: Adjust backslash alignment.
49555
49556 2009-05-11  Simon Josefsson  <simon@josefsson.org>
49557
49558         * top/maint.mk: Make $(srcdir)/build-aux configurable.
49559
49560 2009-05-11  Eric Blake  <ebb9@byu.net>
49561
49562         argp: avoid undefined behavior
49563         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
49564         macros.
49565
49566 2009-05-08  Simon Josefsson  <simon@josefsson.org>
49567
49568         * tests/test-vc-list-files-git.sh: Do git config of user.email and
49569         user.name to prevent git commit from complaining.
49570
49571 2009-05-10  Bruno Haible  <bruno@clisp.org>
49572
49573         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
49574         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
49575         it rewrites every file name only once.
49576         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
49577
49578 2009-05-08  Bruno Haible  <bruno@clisp.org>
49579
49580         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
49581         instead of 'max'.
49582
49583 2009-05-08  Simon Josefsson  <simon@josefsson.org>
49584
49585         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
49586         sockaddr_storage test.
49587
49588 2009-05-07  Simon Josefsson  <simon@josefsson.org>
49589
49590         * modules/sys_socket (Makefile.am): Substitute
49591         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
49592         * m4/sys_socket_h.m4: Check for sockaddr_storage.
49593         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
49594         * tests/test-sys_socket.c: Check sockaddr_storage.
49595
49596 2009-05-08  Bruno Haible  <bruno@clisp.org>
49597
49598         New module 'alignof'.
49599         * lib/alignof.h: New file.
49600         * modules/alignof: New file.
49601
49602 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49603             Bruno Haible  <bruno@clisp.org>
49604
49605         Fix test-file-has-acl on FreeBSD.
49606         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
49607         mask is implicitly added.
49608         * tests/test-file-has-acl.c: Include <signal.h>.
49609         (main): Terminate the test after 5 seconds.
49610         * modules/acl-tests (configure.ac): Check for alarm function.
49611
49612 2009-05-04  Bruno Haible  <bruno@clisp.org>
49613
49614         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
49615         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
49616         * modules/errno (configure.ac): Drop AC_REQUIRE.
49617         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
49618         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
49619
49620 2009-05-04  Simon Josefsson  <simon@josefsson.org>
49621
49622         * modules/glob-tests: New module.
49623         * tests/test-glob.c: Add.
49624
49625 2009-05-04  Simon Josefsson  <simon@josefsson.org>
49626
49627         * modules/fnmatch-tests: New module.
49628         * tests/test-fnmatch.c: Add.
49629
49630 2009-05-04  Eric Blake  <ebb9@byu.net>
49631
49632         maint: make the new no-submodule-changes rule VPATH-safe
49633         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
49634
49635 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49636             Bruno Haible  <bruno@clisp.org>
49637
49638         acl: Fix infinite loop on FreeBSD.
49639         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
49640         of return value from acl_get_entry.
49641         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
49642         Likewise.
49643
49644 2009-05-03  Bruno Haible  <bruno@clisp.org>
49645
49646         * lib/acl-internal.h (acl_entries): Clarify return value.
49647         * lib/acl_entries.c (acl_entries): Likewise.
49648
49649 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49650
49651         Bug fix in acl module.
49652         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
49653
49654 2009-05-03  Bruno Haible  <bruno@clisp.org>
49655
49656         Create gperf-generated file in the source dir, not in the build dir.
49657         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
49658         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
49659         * modules/unicase/locale-language (unicase/locale-languages.h):
49660         Likewise.
49661         * modules/unicase/special-casing (unicase/special-casing-table.h):
49662         Likewise.
49663         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
49664         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
49665         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
49666         Reported by Ralf Wildenhues.
49667
49668 2009-05-03  Bruno Haible  <bruno@clisp.org>
49669
49670         * modules/fnmatch (Description, configure.ac): Taken from
49671         fnmatch-posix.
49672         * modules/fnmatch-posix: Turn into a symbolic reference to the
49673         'fnmatch' module, and deprecate.
49674         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
49675
49676 2009-05-03  Bruno Haible  <bruno@clisp.org>
49677
49678         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
49679         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
49680         Reported by Ralf Wildenhues.
49681
49682 2009-05-04  Simon Josefsson  <simon@josefsson.org>
49683
49684         * m4/fnmatch.m4: Fix fnmatch re-define.
49685
49686 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49687
49688         priv-set: new module and tests; adapt write-any-file
49689         * lib/priv-set.c: New file.
49690         * lib/priv-set.h: New file.
49691         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
49692         * lib/write-any-file.c: Simplify by using priv-set module.
49693         * m4/priv-set.m4: New file.
49694         * modules/priv-set: New file.
49695         * modules/unlinkdir: Add dependency on priv-set module.
49696         * modules/write-any-file: Likewise.
49697
49698         Tests for module 'priv-set'.
49699         * modules/priv-set-tests: New file.
49700         * tests/test-priv-set.c: New file.
49701
49702 2009-05-03  Jim Meyering  <meyering@redhat.com>
49703             Bruno Haible  <bruno@clisp.org>
49704
49705         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
49706         use the converted UTF-8 variant of the name instead.
49707
49708 2009-05-03  Jim Meyering  <meyering@redhat.com>
49709
49710         tests: tighten some getdate tests
49711         * tests/test-getdate.c (main): Tighten tests: require equality,
49712         not just greater than.  Set TZ envvar to UTC0.
49713
49714 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
49715
49716         getdate: correctly interpret "next monday" when run on a Monday
49717         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
49718         that e.g., "next tues" (when run on a tuesday) results in a date
49719         that is one week in the future, and not today's date.
49720         I.e., add a week when the wday is the same as the current one.
49721         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
49722         and earlier by Martin Bernreuther and Jan Minář.
49723         * tests/test-getdate.c (main): Check that "next DAY" is always in
49724         the future and that "last DAY" is always in the past.
49725
49726 2009-05-02  Jim Meyering  <meyering@redhat.com>
49727
49728         build: ensure that a release build fails when a submodule is unclean
49729         * top/maint.mk (no-submodule-changes): New rule.
49730         (alpha beta major): Depend on it.
49731
49732 2009-05-02  Bruno Haible  <bruno@clisp.org>
49733
49734         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
49735         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
49736         shell variable gl_fnmatch_required to detect which variant is
49737         requested.
49738         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
49739         gl_FUNC_FNMATCH_POSIX.
49740         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
49741         exclude fnmatch-posix.
49742
49743 2009-05-02  Bruno Haible  <bruno@clisp.org>
49744
49745         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
49746         * modules/mbsrtowcs (License): Change to LGPLv2+.
49747         * modules/strnlen1 (License): Likewise.
49748         Reported by Simon Josefsson.
49749
49750 2009-05-02  Bruno Haible  <bruno@clisp.org>
49751
49752         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
49753         "cross".
49754         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
49755         gnulib-tool was called with option --source-base=lib.
49756
49757 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49758
49759         Use automake *-local hooks without commands, for extensibility.
49760         * modules/localcharset (Makefile.am): Rename install-exec-local
49761         rule to install-exec-localcharset, and make it a prerequisite of
49762         install-exec-local.  Likewise, rename the uninstall-local rule to
49763         uninstall-localcharset, and make it a prerequisite of the former.
49764
49765 2009-05-01  Bruno Haible  <bruno@clisp.org>
49766
49767         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
49768         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49769         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
49770         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
49771         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
49772         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49773         m4/locale-zh.m4, m4/codeset.m4.
49774
49775         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49776         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
49777         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49778         m4/locale-zh.m4.
49779
49780         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
49781         REPLACE_WCRTOMB if mbstate_t must be replaced.
49782         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
49783         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
49784
49785 2009-05-01  Bruno Haible  <bruno@clisp.org>
49786
49787         Avoid compiler warnings when redefining macros defined by <libintl.h>.
49788         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
49789         dngettext, dcngettext, textdomain, bindtextdomain,
49790         bind_textdomain_codeset): Undefine before redefining.
49791
49792 2009-04-30  Bruno Haible  <bruno@clisp.org>
49793
49794         Fix bug introduced on 2009-04-25.
49795         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
49796         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
49797         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
49798         is defined.
49799         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
49800         is defined.
49801         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
49802         is defined.
49803         Reported by Elbert_Pol <elbert.pol@gmail.com>.
49804
49805 2009-04-28  Bruno Haible  <bruno@clisp.org>
49806
49807         Comment tweaks.
49808         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
49809         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
49810         * lib/unicase.h (u*_casexfrm): Likewise.
49811         Reported by Paolo Bonzini.
49812
49813 2009-04-28  Bruno Haible  <bruno@clisp.org>
49814
49815         Fix a compilation error.
49816         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
49817         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49818         Reported by Jim Meyering.
49819
49820 2009-04-27  Bruno Haible  <bruno@clisp.org>
49821
49822         New module 'libunistring'.
49823         * modules/libunistring: New file.
49824         * m4/libunistring.m4: New file.
49825         * MODULES.html.sh (Unicode string functions): Add it.
49826
49827 2009-04-27  Eric Blake  <ebb9@byu.net>
49828
49829         maint.mk: allow package-specific header to provide <config.h>
49830         * top/maint.mk (sc_require_config_h): New variable.
49831         (sc_require_config_h, sc_require_config_h_first): Use it.
49832
49833 2009-04-27  Simon Josefsson  <simon@josefsson.org>
49834
49835         * top/maint.mk (sc_avoid_if_before_free): Except
49836         useless-if-before-free script.
49837
49838 2009-04-27  Eric Blake  <ebb9@byu.net>
49839
49840         maintainer-makefile: depend on all required helper scripts
49841         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
49842         useless-if-before-free.
49843         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
49844         version, rather than assuming gnulib checkout is available.
49845         Reported by Simen Josefsson.
49846
49847 2009-04-26  Bruno Haible  <bruno@clisp.org>
49848
49849         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
49850         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
49851         "../" or "..".
49852
49853 2009-04-26  Bruno Haible  <bruno@clisp.org>
49854
49855         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
49856         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
49857         AC_LIB_HAVE_LINKFLAGS.
49858
49859 2009-04-26  Bruno Haible  <bruno@clisp.org>
49860
49861         Simplify calling convention of u*_conv_from_encoding.
49862         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
49863         u32_conv_from_encoding): Expect a resultbuf argument and return the
49864         result directly as a pointer.
49865         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
49866         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
49867         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
49868         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
49869         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
49870         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49871         Update.
49872         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
49873         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
49874         * lib/vasnprintf.c (VASNPRINTF): Update.
49875         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
49876         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
49877         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
49878         * NEWS: Mention the change.
49879
49880 2009-04-26  Bruno Haible  <bruno@clisp.org>
49881
49882         Simplify calling convention of u*_conv_to_encoding.
49883         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
49884         u32_conv_to_encoding): Expect a resultbuf argument and return the
49885         result directly as a pointer.
49886         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49887         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
49888         freeing scaled_offsets if mem_iconveha failed.
49889         * lib/unicase/u-casexfrm.h (FUNC): Update.
49890         * lib/uninorm/u-normxfrm.h (FUNC): Update.
49891         * lib/vasnprintf.c (VASNPRINTF): Update.
49892         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
49893         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
49894         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
49895         * NEWS: Mention the change.
49896
49897 2009-04-26  Bruno Haible  <bruno@clisp.org>
49898
49899         Avoid test failures on AIX and OSF/1.
49900         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
49901         malloc(0).
49902         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49903         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49904         Likewise.
49905         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
49906         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
49907         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
49908         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
49909         * doc/posix-functions/malloc.texi: Document the portability problem
49910         related to malloc(0).
49911
49912 2009-04-26  Bruno Haible  <bruno@clisp.org>
49913
49914         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
49915         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
49916         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
49917
49918 2009-04-25  Bruno Haible  <bruno@clisp.org>
49919
49920         Avoid link error when creating a namespace clean library.
49921         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
49922         as macro with arguments if already defined as an alias.
49923         * lib/signbitf.c (gl_signbitf): Don't undefine.
49924         * lib/signbitd.c (gl_signbitd): Don't undefine.
49925         * lib/signbitl.c (gl_signbitl): Don't undefine.
49926
49927 2009-04-25  Jim Meyering  <meyering@redhat.com>
49928
49929         vc-list-files: fix another quoting bug
49930         * build-aux/vc-list-files: Avoid sed backslash expansion
49931         of pathological directory names.
49932
49933 2009-04-25  Eric Blake  <ebb9@byu.net>
49934
49935         vc-list-files: fix shell quoting error
49936         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
49937         timestamp.
49938
49939 2009-04-25  Jim Meyering  <meyering@redhat.com>
49940
49941         vc-list-files: restore lost functionality with subdir argument
49942         * build-aux/vc-list-files: When given a non-"." sub-directory
49943         argument, substitute the $dir/ prefix back onto each resulting name.
49944         Otherwise, coreutils' root_tests check would fail.
49945
49946 2009-04-24  Eric Blake  <ebb9@byu.net>
49947
49948         vc-list-files: ignore git symlinks
49949         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
49950         than ls-files, to ignore git symlinks.
49951
49952         maint.mk: import improvements from m4
49953         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
49954         (move_if_change): Delete unused macro.
49955         (news-date-check, vc-diff-check): Support VPATH builds.
49956         (announcement): Likewise.  Split --bootstrap-tools list...
49957         (boostrap-tools): ...into separate list, which can be overridden
49958         in cfg.mk.
49959         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
49960         requiring dependency on useless-if-before-free module.
49961         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
49962         Support VPATH builds.
49963
49964 2009-04-24  Jim Meyering  <meyering@redhat.com>
49965
49966         maint.mk: remove coreutils-specific rules and variables
49967         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
49968         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
49969         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
49970
49971         maint.mk: remove obsolete rule
49972         * top/maint.mk (rel-check): Remove rule.
49973         (WGET, WGETFLAGS): Remove now-unused variables.
49974
49975 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49976
49977         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
49978         consistency.
49979
49980         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
49981         '$(PATH_SEPARATOR)' instead of ':'.
49982
49983 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49984
49985         * lib/getopt1.c (main): Use 'const' for static array.
49986
49987 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49988
49989         * top/maint.mk: Sync with coreutils.
49990         * NEWS: Explain incompatibilities.
49991
49992 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49993             Bruno Haible  <bruno@clisp.org>
49994
49995         Fix cross-compilation results.
49996         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
49997         statement, as third argument of AC_TRY_RUN.
49998         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
49999         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
50000         Likewise.
50001         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
50002         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
50003         Likewise.
50004         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
50005         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
50006         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
50007
50008 2009-04-20  Bruno Haible  <bruno@clisp.org>
50009
50010         Avoid test failure on mingw.
50011         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
50012
50013 2009-04-20  Bruno Haible  <bruno@clisp.org>
50014
50015         Avoid compilation error on mingw.
50016         * modules/localename-tests (Depends-on): Add locale.
50017
50018 2009-04-19  Bruno Haible  <bruno@clisp.org>
50019
50020         Support for building a shared library on Windows platforms.
50021         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
50022         (main): Test the presence of UNINORM_NFC here.
50023         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
50024         (main): Test the presence of UNINORM_NFD here.
50025         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
50026         (main): Test the presence of UNINORM_NFKC here.
50027         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
50028         (main): Test the presence of UNINORM_NFKD here.
50029
50030 2009-04-19  Bruno Haible  <bruno@clisp.org>
50031
50032         Avoid a compiler warning.
50033         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
50034         Change type of variable 'sequence'.
50035
50036 2009-04-19  Bruno Haible  <bruno@clisp.org>
50037
50038         * modules/configmake (Makefile.am): When the contents of configmake.h
50039         does not change, arrange to preserve its modification time.
50040
50041 2009-04-17  Simon Josefsson  <simon@josefsson.org>
50042
50043         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
50044         gettext domain.
50045
50046 2009-04-16  Jim Meyering  <meyering@redhat.com>
50047
50048         useless-if-before-free: improve conversion code
50049         * build-aux/useless-if-before-free: Adjust code-in-comment to match
50050         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
50051
50052 2009-04-14  Bruno Haible  <bruno@clisp.org>
50053
50054         * modules/fcntl (Depends-on): Add extensions.
50055         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
50056
50057 2009-04-12  Ben Pfaff  <blp@gnu.org>
50058
50059         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
50060         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
50061
50062 2009-03-20  Ben Pfaff  <blp@gnu.org>
50063
50064         Make rename replace existing destinations on Windows.
50065         * m4/rename.m4: Add test for Mingw.
50066         * lib/rename.c: Add rename replacement that uses MoveFileEx with
50067         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
50068         * doc/posix-functions/rename.texi: Document.
50069
50070 2009-04-10  Bruno Haible  <bruno@clisp.org>
50071
50072         New include file "iconveh.h".
50073         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
50074         * lib/striconveh.h: Include it.
50075         (enum iconv_ilseq_handler): Remove definition.
50076         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
50077         striconveh.h.
50078         * lib/striconveha.c: Include striconveh.h.
50079         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
50080         * modules/striconveh (Files): Add lib/iconveh.h.
50081         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
50082         lib/striconveh.h.
50083
50084 2009-04-10  Bruno Haible  <bruno@clisp.org>
50085
50086         * lib/uniconv.h: Update comment.
50087
50088 2009-04-10  Bruno Haible  <bruno@clisp.org>
50089
50090         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
50091         always.
50092         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
50093         * lib/unistr/u16-mbtouc-aux.c: Likewise.
50094         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
50095         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
50096         "unistring-notinline.h", so that the function gets defined always.
50097         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
50098         * lib/unistr/u8-uctomb.c: Likewise.
50099         * lib/unistr/u16-mbtouc.c: Likewise.
50100         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
50101         * lib/unistr/u16-uctomb.c: Likewise.
50102         * lib/unistr/u32-mbtouc.c: Likewise.
50103         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
50104         * lib/unistr/u32-uctomb.c: Likewise.
50105
50106 2009-04-10  Bruno Haible  <bruno@clisp.org>
50107
50108         Mark 'utime' obsolete.
50109         * modules/utime (Status, Notice): New sections.
50110         Suggested by Jim Meyering.
50111
50112         Fix cross-compile guess for utime test.
50113         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
50114         autoconf.
50115         * doc/posix-functions/utime.texi: Give more precisions.
50116         Reported by Jan <ipif@ymail.com>.
50117
50118 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
50119
50120         filevercmp: correct today's change
50121         * lib/filevercmp.c: Also handle coreutils' test inputs.
50122         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
50123
50124         Fix regression in 'filevercmp' module. Thanks Sven Joachim
50125         for reporting it.
50126         * lib/filevercmp.c: Special handle for "", "." and "..".
50127         * tests/test-filevercmp.c: Enlarge the set suite.
50128
50129 2009-04-07  Jim Meyering  <meyering@redhat.com>
50130
50131         useless-if-before-free: show how to remove braced useless free, too
50132         * build-aux/useless-if-before-free: still only in a comment, though.
50133
50134 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
50135
50136         maint.mk: import changes to syntax-check macros from coreutils
50137         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
50138         Use them in the relevant macros.
50139
50140 2009-04-06  Bruno Haible  <bruno@clisp.org>
50141
50142         Fix unportable use of bit-fields.
50143         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
50144         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
50145         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
50146
50147 2009-04-06  Bruno Haible  <bruno@clisp.org>
50148
50149         Avoid test failures on AIX and OSF/1.
50150         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
50151         that malloc(0) = NULL.
50152         * tests/unicase/test-u8-tolower.c (check): Likewise.
50153         * tests/unicase/test-u8-totitle.c (check): Likewise.
50154         * tests/unicase/test-u8-toupper.c (check): Likewise.
50155         * tests/unicase/test-u16-casefold.c (check): Likewise.
50156         * tests/unicase/test-u16-tolower.c (check): Likewise.
50157         * tests/unicase/test-u16-totitle.c (check): Likewise.
50158         * tests/unicase/test-u16-toupper.c (check): Likewise.
50159         * tests/unicase/test-u32-casefold.c (check): Likewise.
50160         * tests/unicase/test-u32-tolower.c (check): Likewise.
50161         * tests/unicase/test-u32-totitle.c (check): Likewise.
50162         * tests/unicase/test-u32-toupper.c (check): Likewise.
50163         * tests/uninorm/test-u8-nfc.c (check): Likewise.
50164         * tests/uninorm/test-u8-nfd.c (check): Likewise.
50165         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
50166         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
50167         * tests/uninorm/test-u16-nfc.c (check): Likewise.
50168         * tests/uninorm/test-u16-nfd.c (check): Likewise.
50169         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
50170         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
50171         * tests/uninorm/test-u32-nfc.c (check): Likewise.
50172         * tests/uninorm/test-u32-nfd.c (check): Likewise.
50173         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
50174         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
50175
50176 2009-04-05  Bruno Haible  <bruno@clisp.org>
50177
50178         Work around an autoconf limitation.
50179         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
50180         comment line if it would be longer than 3 KB.
50181
50182 2009-04-05  Bruno Haible  <bruno@clisp.org>
50183
50184         Avoid test failure with libiconv-1.13.
50185         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
50186         of the expected test results.
50187
50188 2009-04-05  Bruno Haible  <bruno@clisp.org>
50189
50190         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
50191         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
50192         that it should be installed.
50193
50194 2009-04-05  Bruno Haible  <bruno@clisp.org>
50195
50196         * gnulib-tool: New option --copy-file.
50197         (func_usage): Document it.
50198         (func_dest_tmpfilename): Moved out of func_import.
50199         (func_add_file, func_update_file): New functions, extracted from
50200         func_import.
50201         (func_import): Update.
50202
50203 2009-04-05  Karl Berry  <karl@gnu.org>
50204
50205         * README: prominently mention gnulib-tool.
50206         Rearrange sections so getting the code is near the top.
50207
50208 2009-04-05  Bruno Haible  <bruno@clisp.org>
50209
50210         * lib/unicase.h: Mention u*_cmp2.
50211         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
50212         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
50213         * lib/unicase/ulc-casecmp.c: Likewise.
50214         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
50215         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
50216         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
50217         unistr/u8-cmp.
50218         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
50219         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
50220         unistr/u16-cmp.
50221         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
50222         unistr/u32-cmp.
50223
50224         * lib/uninorm.h: Mention u*_cmp2.
50225         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
50226         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
50227         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
50228         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
50229         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
50230         unistr/u8-cmp.
50231         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
50232         unistr/u16-cmp.
50233         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
50234         unistr/u32-cmp.
50235
50236         New module 'unistr/u32-cmp2'.
50237         * lib/unistr/u32-cmp2.c: New file.
50238         * modules/unistr/u32-cmp2: New file.
50239
50240         New module 'unistr/u16-cmp2'.
50241         * lib/unistr/u16-cmp2.c: New file.
50242         * modules/unistr/u16-cmp2: New file.
50243
50244         New module 'unistr/u8-cmp2'.
50245         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
50246         * lib/unistr/u8-cmp2.c: New file.
50247         * lib/unistr/u-cmp2.h: New file.
50248         * modules/unistr/u8-cmp2: New file.
50249
50250 2009-04-05  Bruno Haible  <bruno@clisp.org>
50251
50252         * lib/unictype.h (uc_property_is_valid): New macro.
50253         * tests/unictype/test-pr_byname.c (main): Use it.
50254
50255         * lib/unistr.h: Doc fixes.
50256         * lib/uniconv.h: Doc fixes.
50257         * lib/unictype.h: Doc fixes.
50258
50259 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
50260
50261         Port coreutils 7.2 to Solaris 8.
50262
50263         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
50264         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
50265         for Solaris 8.  This is a bit of a hack, as it means it's the
50266         caller's responsibility to add -lnsl if needed, but most likely it
50267         won't be needed since only getaddrinfo uses this and getaddrinfo
50268         isn't needed on Solaris 8.
50269
50270         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
50271         problem to Solaris 8 encountered with coreutils 7.2, which
50272         resulted in a message "fnmatch.c:292: warning: passing argument 4
50273         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
50274         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
50275
50276 2009-04-03  Simon Josefsson  <simon@josefsson.org>
50277
50278         * m4/ld-version-script.m4: Add FIXME comment.
50279
50280 2009-04-02  Simon Josefsson  <simon@josefsson.org>
50281
50282         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
50283         SOVERSION variable.
50284
50285 2009-04-02  Bruno Haible  <bruno@clisp.org>
50286
50287         * Makefile (info, html, dvi, pdf): Combine the rules.
50288         Suggested by Jim Meyering.
50289
50290 2009-04-01  Bruno Haible  <bruno@clisp.org>
50291
50292         * Makefile (info, html, dvi, pdf): New targets.
50293         Reported by Reuben Thomas <rrt@sc3d.org>.
50294
50295 2009-04-01  Bruno Haible  <bruno@clisp.org>
50296
50297         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
50298         can be put into PATH.
50299         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
50300
50301 2009-04-01  Bruno Haible  <bruno@clisp.org>
50302
50303         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
50304
50305 2009-04-01  Bruno Haible  <bruno@clisp.org>
50306
50307         Rename module 'visibility'.
50308         * modules/lib-symbol-visibility: Renamed from modules/visibility.
50309         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
50310         * doc/gnulib.texi: Update.
50311         * MODULES.html.sh (Misc): Update.
50312         * NEWS: Mention the change.
50313
50314 2009-04-01  Simon Josefsson  <simon@josefsson.org>
50315
50316         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
50317         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
50318         Eric Blake <ebb9@byu.net> for review.
50319         * MODULES.html.sh: Add lib-msvc-compat.
50320         * doc/gnulib.texi: Link to new section.
50321         * m4/ld-output-def.m4: New file.
50322         * doc/ld-output-def.texi: New file.
50323
50324 2009-04-01  Simon Josefsson  <simon@josefsson.org>
50325
50326         Rename ld-version-script to lib-symbol-versions.  Suggested by
50327         Bruno Haible <bruno@clisp.org>.
50328         * modules/ld-version-script: Renamed to lib-symbol-versions.
50329         * doc/ld-version-script.texi: Fix module name.
50330         * MODULES.html.sh: Add lib-symbol-versions.
50331
50332 2009-03-31  Simon Josefsson  <simon@josefsson.org>
50333
50334         * modules/u64-tests: New file.
50335         * tests/test-u64.c: New file.
50336
50337 2009-03-04  Simon Josefsson  <simon@josefsson.org>
50338
50339         * MODULES.html.sh: Mention u64.
50340         * modules/u64: New module.
50341         * modules/crypto/sha512: Depend on u64 module instead of providing
50342         u64.h.
50343
50344 2009-03-27  Eric Blake  <ebb9@byu.net>
50345
50346         test-strerror: make debugging EAI_SYSTEM easier
50347         * modules/getaddrinfo-tests (Depends-on): Add strerror.
50348         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
50349         failure was EAI_SYSTEM.
50350
50351 2009-03-25  Bruno Haible  <bruno@clisp.org>
50352
50353         Fix a problem with --enable-relocatable on Solaris 7.
50354         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
50355         since 2008-02-24.
50356
50357 2009-03-25  Eric Blake  <ebb9@byu.net>
50358
50359         test-sockets: avoid gcc warning
50360         * tests/test-sockets.c (main): Silence compiler warning.
50361
50362 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
50363
50364         New modules nproc, pthread, contributed by Glen Lenker.
50365
50366         * MODULES.html.sh: Add pthread, nproc.
50367         * lib/nproc.c: New file.
50368         * lib/nproc.h: New file.
50369         * lib/pthread.in.h: New file.
50370         * m4/pthread.m4: New file.
50371         * modules/nproc: New file.
50372         * modules/pthread: New file.
50373
50374 2009-03-24  Simon Josefsson  <simon@josefsson.org>
50375
50376         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
50377         New variable.
50378
50379 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
50380
50381         filevercmp: handle simple~ and numbered.~3~ backup suffixes
50382         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
50383         * tests/test-filevercmp.c: Add tests for backup suffixes.
50384
50385 2009-03-24  Simon Josefsson  <simon@josefsson.org>
50386
50387         * modules/stdlib (Depends-on): Add stdint, needed when defining
50388         struct random_data on, for example, HP-UX 10.20.  Reported by
50389         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50390
50391 2009-03-24  Simon Josefsson  <simon@josefsson.org>
50392
50393         * lib/readline.c (readline): Call fflush on stdout after printing
50394         prompt.
50395
50396 2009-03-20  Bruno Haible  <bruno@clisp.org>
50397
50398         Remove dependency from 'close' module to -lws2_32 on native Windows.
50399         * lib/close-hook.h: New file.
50400         * lib/close-hook.c: New file.
50401         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
50402         w32sock.h.
50403         (_gl_close_fd_maybe_socket): Remove function.
50404         (rpl_close): Invoke execute_all_close_hooks instead of
50405         _gl_close_fd_maybe_socket.
50406         * lib/sockets.c: Include close-hook.h, w32sock.h.
50407         (close_fd_maybe_socket): New function, essentially from lib/close.c.
50408         (close_sockets_hook): New variable.
50409         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
50410         (gl_sockets_cleanup): Unregister it.
50411         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
50412         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
50413         * modules/close-hook: New file.
50414         * modules/close (Files): Remove lib/w32sock.h.
50415         (Depends-on): Add close-hook.
50416         (Link): Remove section.
50417         * modules/sockets (Files): Add lib/w32sock.h.
50418         (Depends-on): Add close-hook.
50419         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
50420         invocation.
50421         * NEWS: Mention that LIB_CLOSE is gone.
50422
50423 2009-03-23  Eric Blake  <ebb9@byu.net>
50424
50425         signal-tests: test previous patch
50426         * tests/test-signal.c: New file.
50427         * modules/signal-tests: Likewise.
50428
50429         signal.h: always support 'volatile sig_atomic_t'
50430         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
50431         (gl_SIGNAL_H_DEFAULTS): Add a default.
50432         * modules/signal (Makefile.am): Substitute if needed.
50433         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
50434         users can blindly add volatile.
50435         * doc/posix-headers/signal.texi (signal.h): Document it.
50436         Reported by Matthew Woehlke.
50437
50438 2009-03-23  Jim Meyering  <meyering@redhat.com>
50439
50440         pathmax: PATH_MAX: use pathconf only when available
50441         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
50442         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
50443         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
50444         This avoids a link failure in a PSP cross-compilation environment
50445         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
50446
50447         * lib/vasnprintf.c (divide): Fix typo in comment.
50448
50449 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50450
50451         * gnulib-tool (func_filter_filelist): Fix comment.
50452
50453 2009-03-20  Bruno Haible  <bruno@clisp.org>
50454
50455         Make sockets.h self-contained.
50456         * lib/sockets.c: Include sockets.h first.
50457         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
50458
50459 2009-03-19  Eric Blake  <ebb9@byu.net>
50460
50461         doc: mention more functions added in cygwin 1.7.0
50462         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
50463         addition.
50464         * doc/posix-functions/log2f.texi: Likewise.
50465
50466 2009-03-19  Jim Meyering  <meyering@redhat.com>
50467
50468         fsusage: avoid syntax error due to statement-before-declaration
50469         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
50470         after all declarations.  Reported by Matthew Woehlke in
50471         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
50472
50473 2009-03-18  Eric Blake  <ebb9@byu.net>
50474
50475         build-aux/compile: sync from automake
50476         * build-aux/compile: New file, from automake.
50477         * config/srclist.txt: Mention build-aux/compile.
50478
50479 2009-03-17  Bruno Haible  <bruno@clisp.org>
50480
50481         * lib/git-merge-changelog.c: Fix typo in comment.
50482         Reported by Reuben Thomas <rrt@sc3d.org>.
50483
50484 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
50485
50486         * m4/regex.m4: update and improve help for
50487         --without-included-regex.
50488
50489 2009-03-17  Simon Josefsson  <simon@josefsson.org>
50490
50491         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
50492         failure on missing include files.
50493
50494 2009-03-17  Eric Blake  <ebb9@byu.net>
50495
50496         doc: mention more functions added in cygwin 1.7.0
50497         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
50498         addition.
50499         * doc/posix-functions/fwscanf.texi: Likewise.
50500         * doc/posix-functions/swprintf.texi: Likewise.
50501         * doc/posix-functions/swscanf.texi: Likewise.
50502         * doc/posix-functions/vfwprintf.texi: Likewise.
50503         * doc/posix-functions/vfwscanf.texi: Likewise.
50504         * doc/posix-functions/vswprintf.texi: Likewise.
50505         * doc/posix-functions/vswscanf.texi: Likewise.
50506         * doc/posix-functions/vwprintf.texi: Likewise.
50507         * doc/posix-functions/vwscanf.texi: Likewise.
50508         * doc/posix-functions/wcscasecmp.texi: Likewise.
50509         * doc/posix-functions/wcsdup.texi: Likewise.
50510         * doc/posix-functions/wcsftime.texi: Likewise.
50511         * doc/posix-functions/wcsncasecmp.texi: Likewise.
50512         * doc/posix-functions/wprintf.texi: Likewise.
50513         * doc/posix-functions/wscanf.texi: Likewise.
50514         * doc/glibc-functions/gethostbyname2.texi: Likewise.
50515
50516 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50517
50518         maint.mk: really add $(AM_MAKEFLAGS)
50519         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
50520         was inadvertently omitted in the last commit.
50521         Spotted by Bruno Haible.
50522
50523         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
50524         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
50525         $(AM_MAKEFLAGS)' rather than plain `make'.
50526
50527         gnulib-tool: execute $MAKE not make
50528         * gnulib-tool: Default $MAKE to 'make'.
50529         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
50530         than make.  Initialize $MAKE in the do-autobuild script.
50531
50532         gnulib-tool: use $MAKE not make in generated files
50533         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
50534         make, in generated files.  Initialize $MAKE in the do-autobuild
50535         script.
50536
50537         * top/GNUmakefile (_have-git-version-gen): Fix typo.
50538
50539         GNUmakefile: disable parallelism only for multiple, recursive targets
50540         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
50541         additions in the Makefile.
50542         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
50543         by Automake.
50544         (.NOTPARALLEL): Only disable parallel builds if multiple targets
50545         are listed on the command line and at least one of them is
50546         listed in $(ALL_RECURSIVE_TARGETS).
50547
50548 2009-03-14  Bruno Haible  <bruno@clisp.org>
50549
50550         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
50551         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
50552         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
50553         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
50554         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
50555         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
50556         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
50557         unistr/u8-uctomb.
50558         * modules/unistr/u8-strchr (Depends-on): Likewise.
50559         * modules/unistr/u8-strrchr (Depends-on): Likewise.
50560         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
50561         unistr/u16-uctomb.
50562         * modules/unistr/u16-strchr (Depends-on): Likewise.
50563         * modules/unistr/u16-strrchr (Depends-on): Likewise.
50564
50565 2009-03-12  Bruno Haible  <bruno@clisp.org>
50566
50567         Work around select() bug on Interix 3.5.
50568         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
50569         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
50570         * m4/select.m4: New file.
50571         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
50572         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
50573         * modules/select (Files): Add m4/select.m4.
50574         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
50575         * modules/nanosleep (Depends-on): Add select.
50576         * modules/poll (Depends-on): Likewise.
50577         * doc/posix-functions/select.texi: Mention the Interix bug.
50578         Reported by Markus Duft <mduft@gentoo.org>.
50579
50580         * lib/select.c: Renamed from lib/winsock-select.c.
50581         * modules/select (Files): Add lib/select.c, remove
50582         lib/winsock-select.c.
50583         (configure.ac): Update.
50584
50585 2009-03-12  Jim Meyering  <meyering@redhat.com>
50586
50587         avoid gcc warnings about unused macro definitions
50588         * lib/readtokens.c (STREQ): Remove unused definition.
50589         * lib/xmalloc.c (SIZE_MAX): Likewise.
50590         * lib/openat-die.c (N_): Likewise.
50591         * lib/mountlist.c (SIZE_MAX): Remove definition.
50592         Instead, include <stdint.h>.
50593         * lib/readutmp.c: Likewise.
50594         * modules/readutmp (Depends-on): Add stdint.
50595         * modules/mountlist (Depends-on): Add stdint.
50596         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
50597
50598 2009-03-10  Bruno Haible  <bruno@clisp.org>
50599
50600         Tests for module 'mbmemcasecoll'.
50601         * modules/mbmemcasecoll-tests: New file.
50602         * tests/test-mbmemcasecoll1.sh: New file.
50603         * tests/test-mbmemcasecoll2.sh: New file.
50604         * tests/test-mbmemcasecoll3.sh: New file.
50605         * tests/test-mbmemcasecoll.c: New file.
50606
50607         New module 'mbmemcasecoll'.
50608         * lib/mbmemcasecoll.h: New file.
50609         * lib/mbmemcasecoll.c: New file.
50610         * modules/mbmemcasecoll: New file.
50611
50612         * tests/test-mbmemcasecmp.h: New file, extracted from
50613         tests/test-mbmemcasecmp.c.
50614         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
50615         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
50616         (main): Update.
50617         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
50618
50619 2009-03-09  Bruno Haible  <bruno@clisp.org>
50620
50621         Tests for module 'mbmemcasecmp'.
50622         * modules/mbmemcasecmp-tests: New file.
50623         * tests/test-mbmemcasecmp1.sh: New file.
50624         * tests/test-mbmemcasecmp2.sh: New file.
50625         * tests/test-mbmemcasecmp3.sh: New file.
50626         * tests/test-mbmemcasecmp.c: New file.
50627
50628         New module 'mbmemcasecmp'.
50629         * lib/mbmemcasecmp.h: New file.
50630         * lib/mbmemcasecmp.c: New file.
50631         * modules/mbmemcasecmp: New file.
50632
50633 2009-03-09  Bruno Haible  <bruno@clisp.org>
50634
50635         Tests for module 'unicase/ulc-casecoll'.
50636         * modules/unicase/ulc-casecoll-tests: New file.
50637         * tests/unicase/test-ulc-casecoll1.sh: New file.
50638         * tests/unicase/test-ulc-casecoll2.sh: New file.
50639         * tests/unicase/test-ulc-casecoll.c: New file.
50640
50641         New module 'unicase/ulc-casecoll'.
50642         * lib/unicase.h (ulc_casecoll): New declaration.
50643         * lib/unicase/ulc-casecoll.c: New file.
50644         * modules/unicase/ulc-casecoll: New file.
50645
50646         New module 'unicase/ulc-casexfrm'.
50647         * lib/unicase.h (ulc_casexfrm): New declaration.
50648         * lib/unicase/ulc-casexfrm.c: New file.
50649         * modules/unicase/ulc-casexfrm: New file.
50650
50651 2009-03-09  Bruno Haible  <bruno@clisp.org>
50652
50653         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
50654         invocations.
50655
50656         * m4/mbscasecmp.m4: Remove file.
50657         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
50658         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
50659
50660         * m4/mbscasestr.m4: Remove file.
50661         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
50662         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
50663
50664         * m4/mbschr.m4: Remove file.
50665         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
50666         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
50667
50668         * m4/mbscspn.m4: Remove file.
50669         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
50670         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
50671
50672         * m4/mbslen.m4: Remove file.
50673         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
50674         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
50675
50676         * m4/mbsncasecmp.m4: Remove file.
50677         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
50678         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
50679
50680         * m4/mbsnlen.m4: Remove file.
50681         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
50682         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
50683
50684         * m4/mbspbrk.m4: Remove file.
50685         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
50686         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
50687
50688         * m4/mbspcasecmp.m4: Remove file.
50689         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
50690         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
50691
50692         * m4/mbsrchr.m4: Remove file.
50693         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
50694         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
50695
50696         * m4/mbssep.m4: Remove file.
50697         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
50698         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
50699
50700         * m4/mbsspn.m4: Remove file.
50701         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
50702         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
50703
50704         * m4/mbsstr.m4: Remove file.
50705         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
50706         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
50707
50708         * m4/mbstok_r.m4: Remove file.
50709         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
50710         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
50711
50712         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
50713
50714         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
50715         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
50716
50717         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
50718
50719 2009-03-08  Bruno Haible  <bruno@clisp.org>
50720
50721         Tests for module 'unicase/ulc-casecmp'.
50722         * modules/unicase/ulc-casecmp-tests: New file.
50723         * tests/unicase/test-ulc-casecmp1.sh: New file.
50724         * tests/unicase/test-ulc-casecmp2.sh: New file.
50725         * tests/unicase/test-ulc-casecmp.c: New file.
50726
50727         New module 'unicase/ulc-casecmp'.
50728         * lib/unicase.h (ulc_casecmp): New declaration.
50729         * lib/unicase/ulc-casecmp.c: New file.
50730         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
50731         'const SRC_UNIT *'.
50732         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
50733         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
50734         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
50735         * modules/unicase/ulc-casecmp: New file.
50736
50737         Tests for module 'unicase/u32-is-cased'.
50738         * modules/unicase/u32-is-cased-tests: New file.
50739         * tests/unicase/test-u32-is-cased.c: New file.
50740
50741         Tests for module 'unicase/u16-is-cased'.
50742         * modules/unicase/u16-is-cased-tests: New file.
50743         * tests/unicase/test-u16-is-cased.c: New file.
50744
50745         Tests for module 'unicase/u8-is-cased'.
50746         * modules/unicase/u8-is-cased-tests: New file.
50747         * tests/unicase/test-u8-is-cased.c: New file.
50748         * tests/unicase/test-is-cased.h: New file.
50749
50750         New module 'unicase/u32-is-cased'.
50751         * lib/unicase/u32-is-cased.c: New file.
50752         * modules/unicase/u32-is-cased: New file.
50753
50754         New module 'unicase/u16-is-cased'.
50755         * lib/unicase/u16-is-cased.c: New file.
50756         * modules/unicase/u16-is-cased: New file.
50757
50758         New module 'unicase/u8-is-cased'.
50759         * lib/unicase/u8-is-cased.c: New file.
50760         * lib/unicase/u-is-cased.h: New file.
50761         * modules/unicase/u8-is-cased: New file.
50762
50763         Tests for module 'unicase/u32-is-casefolded'.
50764         * modules/unicase/u32-is-casefolded-tests: New file.
50765         * tests/unicase/test-u32-is-casefolded.c: New file.
50766
50767         Tests for module 'unicase/u16-is-casefolded'.
50768         * modules/unicase/u16-is-casefolded-tests: New file.
50769         * tests/unicase/test-u16-is-casefolded.c: New file.
50770
50771         Tests for module 'unicase/u8-is-casefolded'.
50772         * modules/unicase/u8-is-casefolded-tests: New file.
50773         * tests/unicase/test-u8-is-casefolded.c: New file.
50774         * tests/unicase/test-is-casefolded.h: New file.
50775
50776         New module 'unicase/u32-is-casefolded'.
50777         * lib/unicase/u32-is-casefolded.c: New file.
50778         * modules/unicase/u32-is-casefolded: New file.
50779
50780         New module 'unicase/u16-is-casefolded'.
50781         * lib/unicase/u16-is-casefolded.c: New file.
50782         * modules/unicase/u16-is-casefolded: New file.
50783
50784         New module 'unicase/u8-is-casefolded'.
50785         * lib/unicase/u8-is-casefolded.c: New file.
50786         * modules/unicase/u8-is-casefolded: New file.
50787
50788         Tests for module 'unicase/u32-is-titlecase'.
50789         * modules/unicase/u32-is-titlecase-tests: New file.
50790         * tests/unicase/test-u32-is-titlecase.c: New file.
50791
50792         Tests for module 'unicase/u16-is-titlecase'.
50793         * modules/unicase/u16-is-titlecase-tests: New file.
50794         * tests/unicase/test-u16-is-titlecase.c: New file.
50795
50796         Tests for module 'unicase/u8-is-titlecase'.
50797         * modules/unicase/u8-is-titlecase-tests: New file.
50798         * tests/unicase/test-u8-is-titlecase.c: New file.
50799         * tests/unicase/test-is-titlecase.h: New file.
50800
50801         New module 'unicase/u32-is-titlecase'.
50802         * lib/unicase/u32-is-titlecase.c: New file.
50803         * modules/unicase/u32-is-titlecase: New file.
50804
50805         New module 'unicase/u16-is-titlecase'.
50806         * lib/unicase/u16-is-titlecase.c: New file.
50807         * modules/unicase/u16-is-titlecase: New file.
50808
50809         New module 'unicase/u8-is-titlecase'.
50810         * lib/unicase/u8-is-titlecase.c: New file.
50811         * modules/unicase/u8-is-titlecase: New file.
50812
50813         Tests for module 'unicase/u32-is-lowercase'.
50814         * modules/unicase/u32-is-lowercase-tests: New file.
50815         * tests/unicase/test-u32-is-lowercase.c: New file.
50816
50817         Tests for module 'unicase/u16-is-lowercase'.
50818         * modules/unicase/u16-is-lowercase-tests: New file.
50819         * tests/unicase/test-u16-is-lowercase.c: New file.
50820
50821         Tests for module 'unicase/u8-is-lowercase'.
50822         * modules/unicase/u8-is-lowercase-tests: New file.
50823         * tests/unicase/test-u8-is-lowercase.c: New file.
50824         * tests/unicase/test-is-lowercase.h: New file.
50825
50826         New module 'unicase/u32-is-lowercase'.
50827         * lib/unicase/u32-is-lowercase.c: New file.
50828         * modules/unicase/u32-is-lowercase: New file.
50829
50830         New module 'unicase/u16-is-lowercase'.
50831         * lib/unicase/u16-is-lowercase.c: New file.
50832         * modules/unicase/u16-is-lowercase: New file.
50833
50834         New module 'unicase/u8-is-lowercase'.
50835         * lib/unicase/u8-is-lowercase.c: New file.
50836         * modules/unicase/u8-is-lowercase: New file.
50837
50838         Tests for module 'unicase/u32-is-uppercase'.
50839         * modules/unicase/u32-is-uppercase-tests: New file.
50840         * tests/unicase/test-u32-is-uppercase.c: New file.
50841
50842         Tests for module 'unicase/u16-is-uppercase'.
50843         * modules/unicase/u16-is-uppercase-tests: New file.
50844         * tests/unicase/test-u16-is-uppercase.c: New file.
50845
50846         Tests for module 'unicase/u8-is-uppercase'.
50847         * modules/unicase/u8-is-uppercase-tests: New file.
50848         * tests/unicase/test-u8-is-uppercase.c: New file.
50849         * tests/unicase/test-is-uppercase.h: New file.
50850
50851         New module 'unicase/u32-is-uppercase'.
50852         * lib/unicase/u32-is-uppercase.c: New file.
50853         * modules/unicase/u32-is-uppercase: New file.
50854
50855         New module 'unicase/u16-is-uppercase'.
50856         * lib/unicase/u16-is-uppercase.c: New file.
50857         * modules/unicase/u16-is-uppercase: New file.
50858
50859         New module 'unicase/u8-is-uppercase'.
50860         * lib/unicase/u8-is-uppercase.c: New file.
50861         * modules/unicase/u8-is-uppercase: New file.
50862
50863         New module 'unicase/u32-is-invariant'.
50864         * lib/unicase/u32-is-invariant.c: New file.
50865         * modules/unicase/u32-is-invariant: New file.
50866
50867         New module 'unicase/u16-is-invariant'.
50868         * lib/unicase/u16-is-invariant.c: New file.
50869         * modules/unicase/u16-is-invariant: New file.
50870
50871         New module 'unicase/u8-is-invariant'.
50872         * lib/unicase/u8-is-invariant.c: New file.
50873         * lib/unicase/invariant.h: New file.
50874         * lib/unicase/u-is-invariant.h: New file.
50875         * modules/unicase/u8-is-invariant: New file.
50876
50877         Tests for module 'unicase/u32-casecoll'.
50878         * modules/unicase/u32-casecoll-tests: New file.
50879         * tests/unicase/test-u32-casecoll.c: New file.
50880
50881         Tests for module 'unicase/u16-casecoll'.
50882         * modules/unicase/u16-casecoll-tests: New file.
50883         * tests/unicase/test-u16-casecoll.c: New file.
50884
50885         Tests for module 'unicase/u8-casecoll'.
50886         * modules/unicase/u8-casecoll-tests: New file.
50887         * tests/unicase/test-u8-casecoll.c: New file.
50888
50889         New module 'unicase/u32-casecoll'.
50890         * lib/unicase/u32-casecoll.c: New file.
50891         * modules/unicase/u32-casecoll: New file.
50892
50893         New module 'unicase/u16-casecoll'.
50894         * lib/unicase/u16-casecoll.c: New file.
50895         * modules/unicase/u16-casecoll: New file.
50896
50897         New module 'unicase/u8-casecoll'.
50898         * lib/unicase/u8-casecoll.c: New file.
50899         * lib/unicase/u-casecoll.h: New file.
50900         * modules/unicase/u8-casecoll: New file.
50901
50902         New module 'unicase/u32-casexfrm'.
50903         * lib/unicase/u32-casexfrm.c: New file.
50904         * modules/unicase/u32-casexfrm: New file.
50905
50906         New module 'unicase/u16-casexfrm'.
50907         * lib/unicase/u16-casexfrm.c: New file.
50908         * modules/unicase/u16-casexfrm: New file.
50909
50910         New module 'unicase/u8-casexfrm'.
50911         * lib/unicase/u8-casexfrm.c: New file.
50912         * lib/unicase/u-casexfrm.h: New file.
50913         * modules/unicase/u8-casexfrm: New file.
50914
50915         Tests for module 'unicase/u32-casecmp'.
50916         * modules/unicase/u32-casecmp-tests: New file.
50917         * tests/unicase/test-u32-casecmp.c: New file.
50918
50919         Tests for module 'unicase/u16-casecmp'.
50920         * modules/unicase/u16-casecmp-tests: New file.
50921         * tests/unicase/test-u16-casecmp.c: New file.
50922
50923         Tests for module 'unicase/u8-casecmp'.
50924         * modules/unicase/u8-casecmp-tests: New file.
50925         * tests/unicase/test-u8-casecmp.c: New file.
50926         * tests/unicase/test-casecmp.h: New file.
50927
50928         New module 'unicase/u32-casecmp'.
50929         * lib/unicase/u32-casecmp.c: New file.
50930         * modules/unicase/u32-casecmp: New file.
50931
50932         New module 'unicase/u16-casecmp'.
50933         * lib/unicase/u16-casecmp.c: New file.
50934         * modules/unicase/u16-casecmp: New file.
50935
50936         New module 'unicase/u8-casecmp'.
50937         * lib/unicase/u8-casecmp.c: New file.
50938         * lib/unicase/u-casecmp.h: New file.
50939         * modules/unicase/u8-casecmp: New file.
50940
50941         Tests for module 'unicase/u32-casefold'.
50942         * modules/unicase/u32-casefold-tests: New file.
50943         * tests/unicase/test-u32-casefold.c: New file.
50944
50945         Tests for module 'unicase/u16-casefold'.
50946         * modules/unicase/u16-casefold-tests: New file.
50947         * tests/unicase/test-u16-casefold.c: New file.
50948
50949         Tests for module 'unicase/u8-casefold'.
50950         * modules/unicase/u8-casefold-tests: New file.
50951         * tests/unicase/test-u8-casefold.c: New file.
50952
50953         New module 'unicase/u32-casefold'.
50954         * lib/unicase/u32-casefold.c: New file.
50955         * modules/unicase/u32-casefold: New file.
50956
50957         New module 'unicase/u16-casefold'.
50958         * lib/unicase/u16-casefold.c: New file.
50959         * modules/unicase/u16-casefold: New file.
50960
50961         New module 'unicase/u8-casefold'.
50962         * lib/unicase/u8-casefold.c: New file.
50963         * lib/unicase/u-casefold.h: New file.
50964         * modules/unicase/u8-casefold: New file.
50965
50966         New module 'unicase/tocasefold'.
50967         * lib/unicase/casefold.h: New file.
50968         * lib/unicase/tocasefold.c: New file.
50969         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
50970         * modules/unicase/tocasefold: New file.
50971
50972         Tests for module 'unicase/u32-totitle'.
50973         * modules/unicase/u32-totitle-tests: New file.
50974         * tests/unicase/test-u32-totitle.c: New file.
50975
50976         Tests for module 'unicase/u16-totitle'.
50977         * modules/unicase/u16-totitle-tests: New file.
50978         * tests/unicase/test-u16-totitle.c: New file.
50979
50980         Tests for module 'unicase/u8-totitle'.
50981         * modules/unicase/u8-totitle-tests: New file.
50982         * tests/unicase/test-u8-totitle.c: New file.
50983
50984         New module 'unicase/u32-totitle'.
50985         * lib/unicase/u32-totitle.c: New file.
50986         * modules/unicase/u32-totitle: New file.
50987
50988         New module 'unicase/u16-totitle'.
50989         * lib/unicase/u16-totitle.c: New file.
50990         * modules/unicase/u16-totitle: New file.
50991
50992         New module 'unicase/u8-totitle'.
50993         * lib/unicase/u8-totitle.c: New file.
50994         * lib/unicase/u-totitle.h: New file.
50995         * modules/unicase/u8-totitle: New file.
50996
50997         Tests for module 'unicase/u32-tolower'.
50998         * modules/unicase/u32-tolower-tests: New file.
50999         * tests/unicase/test-u32-tolower.c: New file.
51000
51001         Tests for module 'unicase/u16-tolower'.
51002         * modules/unicase/u16-tolower-tests: New file.
51003         * tests/unicase/test-u16-tolower.c: New file.
51004
51005         Tests for module 'unicase/u8-tolower'.
51006         * modules/unicase/u8-tolower-tests: New file.
51007         * tests/unicase/test-u8-tolower.c: New file.
51008
51009         New module 'unicase/u32-tolower'.
51010         * lib/unicase/u32-tolower.c: New file.
51011         * modules/unicase/u32-tolower: New file.
51012
51013         New module 'unicase/u16-tolower'.
51014         * lib/unicase/u16-tolower.c: New file.
51015         * modules/unicase/u16-tolower: New file.
51016
51017         New module 'unicase/u8-tolower'.
51018         * lib/unicase/u8-tolower.c: New file.
51019         * modules/unicase/u8-tolower: New file.
51020
51021         Tests for module 'unicase/u32-toupper'.
51022         * modules/unicase/u32-toupper-tests: New file.
51023         * tests/unicase/test-u32-toupper.c: New file.
51024
51025         Tests for module 'unicase/u16-toupper'.
51026         * modules/unicase/u16-toupper-tests: New file.
51027         * tests/unicase/test-u16-toupper.c: New file.
51028
51029         Tests for module 'unicase/u8-toupper'.
51030         * modules/unicase/u8-toupper-tests: New file.
51031         * tests/unicase/test-u8-toupper.c: New file.
51032
51033         New module 'unicase/u32-toupper'.
51034         * lib/unicase/u32-toupper.c: New file.
51035         * modules/unicase/u32-toupper: New file.
51036
51037         New module 'unicase/u16-toupper'.
51038         * lib/unicase/u16-toupper.c: New file.
51039         * modules/unicase/u16-toupper: New file.
51040
51041         New module 'unicase/u8-toupper'.
51042         * lib/unicase/u8-toupper.c: New file.
51043         * modules/unicase/u8-toupper: New file.
51044
51045         New module 'unicase/u32-casemap'.
51046         * lib/unicase/u32-casemap.c: New file.
51047         * modules/unicase/u32-casemap: New file.
51048
51049         New module 'unicase/u16-casemap'.
51050         * lib/unicase/u16-casemap.c: New file.
51051         * modules/unicase/u16-casemap: New file.
51052
51053         New module 'unicase/u8-casemap'.
51054         * lib/unicase/unicasemap.h: New file.
51055         * lib/unicase/u8-casemap.c: New file.
51056         * lib/unicase/u-casemap.h: New file.
51057         * modules/unicase/u8-casemap: New file.
51058
51059         New module 'unicase/special-casing'.
51060         * lib/unicase/special-casing.h: New file.
51061         * lib/unicase/special-casing.c: New file.
51062         * lib/unicase/special-casing-table.gperf: New file, generated by
51063         gen-uni-tables.c.
51064         * modules/unicase/special-casing: New file.
51065
51066         Tests for module 'unicase/locale-language'.
51067         * modules/unicase/locale-language-tests: New file.
51068         * tests/unicase/test-locale-language.sh: New file.
51069         * tests/unicase/test-locale-language.c: New file.
51070
51071         New module 'unicase/locale-language'.
51072         * lib/unicase/locale-language.c: New file.
51073         * lib/unicase/locale-languages.gperf: New file.
51074         * modules/unicase/locale-language: New file.
51075
51076         Generate more tables for case conversion and case folding.
51077         * lib/gen-uni-tables.c (SCC_*): New enum items.
51078         (struct special_casing_rule): New type.
51079         (casing_rules, num_casing_rules, allocated_casing_rules): New
51080         variables.
51081         (add_casing_rule, fill_casing_rules): New functions.
51082         (struct casefold_rule): New type.
51083         (casefolding_rules, num_casefolding_rules,
51084         allocated_casefolding_rules): New variables.
51085         (fill_casefolding_rules): New function.
51086         (unicode_casefold): New variable.
51087         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
51088         sort_casing_rules, output_casing_rules): New functions.
51089         (main): Accept to more arguments: SpecialCasing.txt and
51090         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
51091         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
51092         Output mapping for casefolding.
51093
51094         * lib/unicase.h: Include stdbool.h, uninorm.h.
51095         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
51096         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
51097         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
51098         arguments.
51099         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
51100         resultp arguments.
51101         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
51102         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
51103         resultp arguments.
51104         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
51105         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
51106         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
51107         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
51108         declarations.
51109         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
51110
51111 2009-03-08  Bruno Haible  <bruno@clisp.org>
51112
51113         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
51114         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
51115         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
51116         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
51117
51118 2009-03-07  Bruno Haible  <bruno@clisp.org>
51119
51120         Adjust u*_normcmp, u*_normcoll API.
51121         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
51122         u16_normcoll, u32_normcoll): Change failure conventions.
51123         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
51124         errno and return -1.
51125         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
51126
51127 2009-03-07  Bruno Haible  <bruno@clisp.org>
51128
51129         Tests for module 'uninorm/u32-normcoll'.
51130         * modules/uninorm/u32-normcoll-tests: New file.
51131         * tests/uninorm/test-u32-normcoll.c: New file.
51132
51133         Tests for module 'uninorm/u16-normcoll'.
51134         * modules/uninorm/u16-normcoll-tests: New file.
51135         * tests/uninorm/test-u16-normcoll.c: New file.
51136
51137         Tests for module 'uninorm/u8-normcoll'.
51138         * modules/uninorm/u8-normcoll-tests: New file.
51139         * tests/uninorm/test-u8-normcoll.c: New file.
51140
51141 2009-03-07  Bruno Haible  <bruno@clisp.org>
51142
51143         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
51144         tests/uninorm/test-u32-normcmp.c.
51145         * tests/uninorm/test-u32-normcmp.c: Include it.
51146         (test_nonascii): New function, extracted from main. Add some more
51147         tests.
51148         (main): Invoke test_ascii and test_nonascii.
51149         * modules/uninorm/u32-normcmp-tests (Files): Add
51150         tests/uninorm/test-u32-normcmp.h.
51151         (Depends-on): Remove uninorm/u32-normcmp.
51152
51153         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
51154         tests/uninorm/test-u16-normcmp.c.
51155         * tests/uninorm/test-u16-normcmp.c: Include it.
51156         (test_nonascii): New function, extracted from main. Add some more
51157         tests.
51158         (main): Invoke test_ascii and test_nonascii.
51159         * modules/uninorm/u16-normcmp-tests (Files): Add
51160         tests/uninorm/test-u16-normcmp.h.
51161         (Depends-on): Remove uninorm/u16-normcmp.
51162
51163         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
51164         tests/uninorm/test-u8-normcmp.c.
51165         * tests/uninorm/test-u8-normcmp.c: Include it.
51166         (test_nonascii): New function, extracted from main. Add some more
51167         tests.
51168         (main): Invoke test_ascii and test_nonascii.
51169         * modules/uninorm/u8-normcmp-tests (Files): Add
51170         tests/uninorm/test-u8-normcmp.h.
51171         (Depends-on): Remove uninorm/u8-normcmp.
51172
51173 2009-03-07  Bruno Haible  <bruno@clisp.org>
51174
51175         New module 'uninorm/u32-normcoll'.
51176         * lib/uninorm/u32-normcoll.c: New file.
51177         * modules/uninorm/u32-normcoll: New file.
51178
51179         New module 'uninorm/u16-normcoll'.
51180         * lib/uninorm/u16-normcoll.c: New file.
51181         * modules/uninorm/u16-normcoll: New file.
51182
51183         New module 'uninorm/u8-normcoll'.
51184         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
51185         declarations.
51186         * lib/uninorm/u8-normcoll.c: New file.
51187         * lib/uninorm/u-normcoll.h: New file.
51188         * modules/uninorm/u8-normcoll: New file.
51189
51190         New module 'uninorm/u32-normxfrm'.
51191         * lib/uninorm/u32-normxfrm.c: New file.
51192         * modules/uninorm/u32-normxfrm: New file.
51193
51194         New module 'uninorm/u16-normxfrm'.
51195         * lib/uninorm/u16-normxfrm.c: New file.
51196         * modules/uninorm/u16-normxfrm: New file.
51197
51198         New module 'uninorm/u8-normxfrm'.
51199         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
51200         declarations.
51201         * lib/uninorm/u8-normxfrm.c: New file.
51202         * lib/uninorm/u-normxfrm.h: New file.
51203         * modules/uninorm/u8-normxfrm: New file.
51204
51205 2009-03-07  Bruno Haible  <bruno@clisp.org>
51206
51207         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
51208         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
51209         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
51210
51211 2009-03-07  Bruno Haible  <bruno@clisp.org>
51212
51213         New module 'memxfrm'.
51214         * lib/memxfrm.h: New file.
51215         * lib/memxfrm.c: New file.
51216         * modules/memxfrm: New file.
51217
51218 2009-03-07  Bruno Haible  <bruno@clisp.org>
51219
51220         New module 'memcmp2'.
51221         * lib/memcmp2.h: New file.
51222         * lib/memcmp2.c: New file.
51223         * modules/memcmp2: New file.
51224
51225 2009-03-07  Bruno Haible  <bruno@clisp.org>
51226
51227         Tests for module 'uninorm/decomposing-form'.
51228         * modules/uninorm/decomposing-form-tests: New file.
51229         * tests/uninorm/test-decomposing-form.c: New file.
51230
51231         New module 'uninorm/decomposing-form'.
51232         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
51233         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
51234         Add 'decomposing_variant' field.
51235         * lib/uninorm/decomposing-form.c: New file.
51236         * lib/uninorm/nfc.c (uninorm_nfc): Update.
51237         * lib/uninorm/nfd.c (uninorm_nfd): Update.
51238         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
51239         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
51240         * modules/uninorm/decomposing-form: New file.
51241         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
51242         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
51243
51244 2009-03-07  Bruno Haible  <bruno@clisp.org>
51245
51246         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
51247         strings.
51248
51249 2009-03-06  Bruno Haible  <bruno@clisp.org>
51250
51251         Tests for module 'uninorm/u32-normcmp'.
51252         * tests/uninorm/test-u32-normcmp.c: New file.
51253         * modules/uninorm/u32-normcmp-tests: New file.
51254
51255         Tests for module 'uninorm/u16-normcmp'.
51256         * tests/uninorm/test-u16-normcmp.c: New file.
51257         * modules/uninorm/u16-normcmp-tests: New file.
51258
51259         Tests for module 'uninorm/u8-normcmp'.
51260         * tests/uninorm/test-u8-normcmp.c: New file.
51261         * modules/uninorm/u8-normcmp-tests: New file.
51262
51263         New module 'uninorm/u32-normcmp'.
51264         * lib/uninorm/u32-normcmp.c: New file.
51265         * modules/uninorm/u32-normcmp: New file.
51266
51267         New module 'uninorm/u16-normcmp'.
51268         * lib/uninorm/u16-normcmp.c: New file.
51269         * modules/uninorm/u16-normcmp: New file.
51270
51271         New module 'uninorm/u8-normcmp'.
51272         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
51273         declarations.
51274         * lib/uninorm/u8-normcmp.c: New file.
51275         * lib/uninorm/u-normcmp.h: New file.
51276         * modules/uninorm/u8-normcmp: New file.
51277
51278 2009-03-06  Bruno Haible  <bruno@clisp.org>
51279
51280         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
51281         Reported by Eric Blake.
51282
51283 2009-03-06  Eric Blake  <ebb9@byu.net>
51284             Bruno Haible  <bruno@clisp.org>
51285
51286         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
51287         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
51288         condition.
51289         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
51290         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
51291         condition.
51292         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
51293
51294 2009-03-06  Eric Blake  <ebb9@byu.net>
51295
51296         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
51297         to avoid compiler warnings.
51298         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
51299
51300 2009-03-05  Bruno Haible  <bruno@clisp.org>
51301
51302         * tests/test-ftell.c (main): Disable test beyond end of file on
51303         FreeMiNT.
51304         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
51305
51306 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
51307
51308         * lib/filevercmp.c: Move hidden files up in ordering.
51309         * tests/test-filevercmp.c: Add tests for hidden files.
51310
51311 2009-03-04  Bruno Haible  <bruno@clisp.org>
51312
51313         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
51314         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
51315         AM_CFLAGS.
51316         Reported by Simon Josefsson.
51317
51318 2009-03-03  Bruno Haible  <bruno@clisp.org>
51319
51320         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
51321         Reported by Simon Josefsson.
51322
51323         * doc/ld-version-script.texi: Update node reference.
51324
51325 2009-03-03  Bruno Haible  <bruno@clisp.org>
51326
51327         * modules/visibility (License): Change to 'unlimited'.
51328         Suggested by Simon Josefsson.
51329
51330 2009-03-03  Jim Meyering  <meyering@redhat.com>
51331
51332         unlinkdir: cannot_unlink_dir may modify process state
51333         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
51334         it's neither thread-safe nor appropriate for use in a library.
51335
51336 2009-03-03  Eric Blake  <ebb9@byu.net>
51337
51338         test-closein: silence test under Darwin
51339         * tests/test-closein.sh: Ignore stderr from cat, since we don't
51340         care if it dies from EPIPE or EBADF.
51341
51342 2009-03-03  Bruno Haible  <bruno@clisp.org>
51343
51344         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
51345         earlier.
51346         * doc/visibility.texi: Fix @node and @section.
51347
51348 2009-03-03  Simon Josefsson  <simon@josefsson.org>
51349
51350         * doc/gnulib.texi: Link to sections for ld version script and
51351         visibility.
51352         * doc/visibility.texi: Add @node and @section.
51353         * modules/ld-version-script: New module.
51354         * m4/ld-version-script.m4: New file.
51355         * doc/ld-version-script.texi: New file.
51356
51357 2009-03-02  David Lutterkort  <lutter@redhat.com>
51358
51359         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
51360         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51361
51362 2009-03-02  Bruno Haible  <bruno@clisp.org>
51363
51364         * doc/visibility.texi: Mention libtool's -export-symbols option.
51365
51366 2009-03-02  Jim Meyering  <meyering@redhat.com>
51367
51368         announce-gen: new option: --no-print-checksums
51369         * build-aux/announce-gen (usage): Describe it.
51370         (print_checksums): Print a newline here, not in the [*] footnote.
51371         (main): Honor it.
51372
51373 2009-03-01  Bruno Haible  <bruno@clisp.org>
51374
51375         Use socklen_t in the native Windows replacements prototypes.
51376         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
51377         instead of 'int'.
51378         * lib/getsockopt.c (rpl_getsockopt): Likewise.
51379         * lib/setsockopt.c (rpl_setsockopt): Likewise.
51380         * modules/getsockopt (Depends-on): Add socklen.
51381         * modules/setsockopt (Depends-on): Add socklen.
51382
51383 2009-03-01  Bruno Haible  <bruno@clisp.org>
51384
51385         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
51386         least 4.2.
51387
51388 2009-03-01  Eric Blake  <ebb9@byu.net>
51389             Bruno Haible  <bruno@clisp.org>
51390
51391         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
51392         error messages.
51393         * lib/wait-process.c (wait_subprocess): Omit error message about
51394         deadly signal sent to the child of termsigp != NULL.
51395
51396 2009-03-01  Eric Blake  <ebb9@byu.net>
51397
51398         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
51399
51400 2009-03-01  Bruno Haible  <bruno@clisp.org>
51401
51402         Avoid a gcc warning.
51403         * tests/test-sched.c (b): Make global.
51404         Reported by Eric Blake.
51405
51406 2009-01-19  Martin Lambers  <marlam@marlam.de>
51407
51408         Provide POSIX semantics for socket timeout options on W32.
51409         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
51410         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
51411         * modules/setsockopt: Depend on sys_time module for struct timeval.
51412         * modules/getsockopt: Depend on sys_time module for struct timeval.
51413
51414 2009-03-01  Simon Josefsson  <simon@josefsson.org>
51415
51416         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
51417         __USE_GNU, for consistency with netdb.in.h.
51418         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
51419
51420 2009-03-01  Bruno Haible  <bruno@clisp.org>
51421
51422         More support for FreeMiNT.
51423         * lib/fseeko.c (rpl_fseeko): Complete last commit.
51424         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
51425
51426 2009-03-01  Bruno Haible  <bruno@clisp.org>
51427
51428         More support for FreeMiNT.
51429         * lib/fpurge.c (fpurge): Correct last commit.
51430         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
51431
51432 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51433
51434         Fix unportable awk script in vc-list-files.
51435         * build-aux/vc-list-files: In the replacement awk script, use
51436         substr with a second argument of 1, not zero.
51437         Report by Simon Josefsson.
51438
51439 2009-02-28  Bruno Haible  <bruno@clisp.org>
51440
51441         More support for FreeMiNT.
51442         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
51443         to FreeMiNT today.
51444         * lib/fwriting.c (fwriting): Likewise.
51445         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
51446
51447 2009-02-28  Bruno Haible  <bruno@clisp.org>
51448
51449         * tests/test-freadseek.c (main): Disable test beyond end of file on
51450         FreeMiNT.
51451         * tests/test-ftello.c (main): Likewise.
51452         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
51453
51454 2009-02-28  Bruno Haible  <bruno@clisp.org>
51455
51456         Add tentative support for FreeMiNT.
51457         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
51458         * lib/fpurge.c (fpurge): Likewise.
51459         * lib/freadable.c (freadable): Likewise.
51460         * lib/freading.c (freading): Likewise.
51461         * lib/freadptr.c (freadptr): Likewise.
51462         * lib/freadseek.c (freadptrinc): Likewise.
51463         * lib/fseeko.c (rpl_fseeko): Likewise.
51464         * lib/fseterr.c (fseterr): Likewise.
51465         * lib/fwritable.c (fwritable): Likewise.
51466         * lib/fwriting.c (fwriting): Likewise.
51467         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
51468         Hourihane.
51469         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
51470
51471 2009-02-28  Bruno Haible  <bruno@clisp.org>
51472
51473         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
51474         SIGCHLD.
51475         Reported by Jim Meyering.
51476
51477 2009-02-28  Bruno Haible  <bruno@clisp.org>
51478
51479         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
51480         Mention the results of these tests on various platforms.
51481         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
51482         order.
51483         * doc/posix-functions/printf.texi: Likewise.
51484         * doc/posix-functions/snprintf.texi: Likewise.
51485         * doc/posix-functions/sprintf.texi: Likewise.
51486         * doc/posix-functions/vfprintf.texi: Likewise.
51487         * doc/posix-functions/vprintf.texi: Likewise.
51488         * doc/posix-functions/vsnprintf.texi: Likewise.
51489         * doc/posix-functions/vsprintf.texi: Likewise.
51490         * doc/glibc-functions/obstack_printf.texi: Likewise.
51491         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
51492
51493 2009-02-28  Bruno Haible  <bruno@clisp.org>
51494
51495         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
51496         Reported by Loïc Minier <lool@dooz.org>.
51497
51498 2009-02-27  Bruno Haible  <bruno@clisp.org>
51499
51500         * gnulib-tool (func_import): Make the sed expression used to create the
51501         sed script for updating the .gitignore file POSIX compliant.
51502         Reported by Eric Blake.
51503
51504 2009-02-27  Bruno Haible  <bruno@clisp.org>
51505
51506         * gnulib-tool (sed): Don't alias as "sed --posix".
51507         Reported by Eric Blake.
51508
51509 2009-02-27  Bruno Haible  <bruno@clisp.org>
51510
51511         Avoid test link errors.
51512         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
51513         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
51514         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
51515         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
51516         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51517
51518 2009-02-27  Bruno Haible  <bruno@clisp.org>
51519
51520         Avoid spurious "(cached)" in configure output.
51521         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
51522         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
51523         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
51524         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
51525         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
51526         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
51527         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
51528         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
51529         Reported by Eric Blake.
51530
51531 2009-02-27  Eric Blake  <ebb9@byu.net>
51532
51533         printf: fix regression in previous patch
51534         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
51535
51536 2009-02-27  Bruno Haible  <bruno@clisp.org>
51537
51538         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
51539         value.
51540         * lib/stdint.in.h: Likewise.
51541         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
51542
51543 2009-02-27  Eric Blake  <ebb9@byu.net>
51544
51545         doc: mention more functions added in cygwin 1.7.0
51546         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
51547         addition.
51548         * doc/posix-functions/open_wmemstream.texi: Likewise.
51549         * doc/posix-functions/wcsnlen.texi: Likewise.
51550         * doc/posix-functions/wcsnrtombs.texi: Likewise.
51551         * doc/posix-functions/wcstod.texi: Likewise.
51552         * doc/posix-functions/wcstof.texi: Likewise.
51553         * doc/posix-functions/wcstoimax.texi: Likewise.
51554         * doc/posix-functions/wcstok.texi: Likewise.
51555         * doc/posix-functions/wcstoumax.texi: Likewise.
51556
51557         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
51558         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
51559         * doc/posix-functions/fprintf.texi: Update.
51560         * doc/posix-functions/printf.texi: Update.
51561         * doc/posix-functions/snprintf.texi: Update.
51562         * doc/posix-functions/sprintf.texi: Update.
51563         * doc/posix-functions/vfprintf.texi: Update.
51564         * doc/posix-functions/vprintf.texi: Update.
51565         * doc/posix-functions/vsnprintf.texi: Update.
51566         * doc/posix-functions/vsprintf.texi: Update.
51567         * doc/glibc-functions/obstack_printf.texi: Update.
51568         * doc/glibc-functions/obstack_vprintf.texi: Update.
51569
51570 2009-02-26  Eric Blake  <ebb9@byu.net>
51571
51572         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
51573         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
51574         compilation bug by using runtime conversion.
51575         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
51576         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
51577         * modules/ceill-tests (Files): Use nan.h.
51578         * modules/floorl-tests (Files): Likewise.
51579         * modules/frexpl-tests (Files): Likewise.
51580         * modules/isnanl-tests (Files): Likewise.
51581         * modules/ldexpl-tests (Files): Likewise.
51582         * modules/roundl-tests (Files): Likewise.
51583         * modules/truncl-tests (Files): Likewise.
51584         * tests/test-ceill.c (main): Use a working NaN.
51585         * tests/test-floorl.c (main): Likewise.
51586         * tests/test-frexpl.c (main): Likewise.
51587         * tests/test-isnan.c (test_long_double): Likewise.
51588         * tests/test-isnanl.h (main): Likewise.
51589         * tests/test-ldexpl.h (main): Likewise.
51590         * tests/test-roundl.h (main): Likewise.
51591         * tests/test-truncl.h (main): Likewise.
51592         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
51593
51594 2009-02-26  Eric Blake  <ebb9@byu.net>
51595             Bruno Haible  <bruno@clisp.org>
51596
51597         Work around a *printf bug with %ls on Solaris.
51598         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
51599         precision is specified, sprintf stops converting the wide string
51600         argument when the number of bytes that have been produced by this
51601         conversion equals or exceeds the precision.
51602         * doc/posix-functions/fprintf.texi: Update.
51603         * doc/posix-functions/printf.texi: Update.
51604         * doc/posix-functions/snprintf.texi: Update.
51605         * doc/posix-functions/sprintf.texi: Update.
51606         * doc/posix-functions/vfprintf.texi: Update.
51607         * doc/posix-functions/vprintf.texi: Update.
51608         * doc/posix-functions/vsnprintf.texi: Update.
51609         * doc/posix-functions/vsprintf.texi: Update.
51610         * doc/glibc-functions/obstack_printf.texi: Update.
51611         * doc/glibc-functions/obstack_vprintf.texi: Update.
51612
51613 2009-02-26  Eric Blake  <ebb9@byu.net>
51614
51615         stdlib: favor compiler check of random.h
51616         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
51617         to avoid an ObjC random.h installed by Swarm.
51618
51619 2009-02-26  Bruno Haible  <bruno@clisp.org>
51620
51621         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
51622         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
51623         Reported by Gary V. Vaughan <gary@gnu.org>.
51624
51625 2009-02-26  Bruno Haible  <bruno@clisp.org>
51626
51627         Fix *printf behaviour regarding the %ls directive.
51628         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
51629         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
51630         NEED_PRINTF_DIRECTIVE_LS.
51631         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
51632         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51633         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51634         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
51635         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
51636         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
51637         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
51638         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51639         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51640         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51641         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51642         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
51643         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51644         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51645         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51646         * doc/posix-functions/fprintf.texi: Update.
51647         * doc/posix-functions/printf.texi: Update.
51648         * doc/posix-functions/snprintf.texi: Update.
51649         * doc/posix-functions/sprintf.texi: Update.
51650         * doc/posix-functions/vfprintf.texi: Update.
51651         * doc/posix-functions/vprintf.texi: Update.
51652         * doc/posix-functions/vsnprintf.texi: Update.
51653         * doc/posix-functions/vsprintf.texi: Update.
51654         * doc/glibc-functions/obstack_printf.texi: Update.
51655         * doc/glibc-functions/obstack_vprintf.texi: Update.
51656         Reported by Eric Blake.
51657
51658 2009-02-25  Bruno Haible  <bruno@clisp.org>
51659
51660         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
51661         with known value.
51662         Reported by Gary V. Vaughan <gary@gnu.org>.
51663
51664 2009-02-25  Bruno Haible  <bruno@clisp.org>
51665
51666         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
51667         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
51668         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
51669         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
51670         Reported by Gary V. Vaughan <gary@gnu.org>.
51671
51672 2009-02-25  Bruno Haible  <bruno@clisp.org>
51673
51674         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
51675         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
51676         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
51677         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
51678         Reported by Gary V. Vaughan <gary@gnu.org>.
51679
51680 2009-02-25  Eric Blake  <ebb9@byu.net>
51681
51682         tests: skip fseek/ftell tests if ungetc is broken
51683         * m4/ungetc.m4: New file.
51684         * modules/fseek-tests: Split test, so ungetc dependency is
51685         separate from rest of test.
51686         * modules/fseeko-tests: Likewise.
51687         * modules/ftell-tests: Likewise.
51688         * modules/ftello-tests: Likewise.
51689         * tests/test-fseek.c (main): Isolate ungetc dependency.
51690         * tests/test-fseeko.c (main): Likewise.
51691         * tests/test-ftell.c (main): Likewise.
51692         * tests/test-ftello.c (main): Likewise.
51693         * tests/test-fseek2.sh: New file.
51694         * tests/test-fseeko2.sh: Likewise.
51695         * tests/test-ftell2.sh: Likewise.
51696         * tests/test-ftello2.sh: Likewise.
51697
51698 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
51699
51700         test-getaddrinfo: fix usage of skip return code 77
51701         * tests/test-gettaddrinfo.c: Return skip code 77 only
51702         for first occurrence of skip (4x77 is not 77)
51703
51704 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
51705
51706         strtod: avoid C99 decl-after-statement
51707         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
51708
51709 2009-02-24  Eric Blake  <ebb9@byu.net>
51710
51711         strtod: detect HP-UX 11.31 bug
51712         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
51713         Reported by Gary V. Vaughan.
51714
51715 2009-02-23  Bruno Haible  <bruno@clisp.org>
51716
51717         Fix invalid read past end of memory block.
51718         * lib/vasnprintf.c (DCHAR_SET): Define.
51719         (local_wcslen): Define only when needed.
51720         (local_strnlen, local_wcsnlen): New functions.
51721         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
51722         directives that involve a conversion ourselves.
51723         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
51724         wcsnlen, mbrtowc, wcrtomb.
51725         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
51726         * tests/test-vasprintf-posix.c (test_function): Likewise.
51727         * tests/test-snprintf-posix.h (test_function): Likewise.
51728         * tests/test-sprintf-posix.h (test_function): Likewise.
51729         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51730
51731 2009-02-22  Bruno Haible  <bruno@clisp.org>
51732
51733         Implement new clarified decomposition of Hangul syllables.
51734         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
51735         of type LTV, return only a pairwise decomposition.
51736         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
51737         Likewise.
51738         * tests/uninorm/test-decomposition.c (main): Updated expected result.
51739         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
51740         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
51741
51742 2009-02-22  Bruno Haible  <bruno@clisp.org>
51743
51744         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
51745         zero-length results and shrink excess allocated memory.
51746         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
51747         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
51748         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
51749         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
51750         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
51751         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
51752         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
51753         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
51754         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
51755         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
51756         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
51757         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
51758
51759 2009-02-21  Bruno Haible  <bruno@clisp.org>
51760
51761         * doc/gnulib.texi: Include safe-alloc.texi earlier.
51762         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
51763         spaces after a period. Put a space between a macro name and its
51764         argument list. Trivial rewordings.
51765         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
51766         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
51767         (main): Return 0 explicitly.
51768
51769 2009-02-21  Bruno Haible  <bruno@clisp.org>
51770
51771         Tests for module 'uninorm/filter'.
51772         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
51773         * modules/uninorm/filter-tests: New file.
51774
51775         New module 'uninorm/filter'.
51776         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
51777         uninorm_filter_flush, uninorm_filter_free): New declarations.
51778         * lib/uninorm/uninorm-filter.c: New file.
51779         * modules/uninorm/filter: New file.
51780
51781 2009-02-21  Bruno Haible  <bruno@clisp.org>
51782
51783         Tests for module 'uninorm/nfkc'.
51784         * tests/uninorm/test-nfkc.c: New file.
51785         * tests/uninorm/test-u8-nfkc.c: New file.
51786         * tests/uninorm/test-u16-nfkc.c: New file.
51787         * tests/uninorm/test-u32-nfkc.c: New file.
51788         * tests/uninorm/test-u32-nfkc-big.sh: New file.
51789         * tests/uninorm/test-u32-nfkc-big.c: New file.
51790         * modules/uninorm/nfkc-tests: New file.
51791
51792         New module 'uninorm/nfkc'.
51793         * lib/uninorm/nfkc.c: New file.
51794         * modules/uninorm/nfkc: New file.
51795
51796         Tests for module 'uninorm/nfkd'.
51797         * tests/uninorm/test-nfkd.c: New file.
51798         * tests/uninorm/test-u8-nfkd.c: New file.
51799         * tests/uninorm/test-u16-nfkd.c: New file.
51800         * tests/uninorm/test-u32-nfkd.c: New file.
51801         * tests/uninorm/test-u32-nfkd-big.sh: New file.
51802         * tests/uninorm/test-u32-nfkd-big.c: New file.
51803         * modules/uninorm/nfkd-tests: New file.
51804
51805         New module 'uninorm/nfkd'.
51806         * lib/uninorm/nfkd.c: New file.
51807         * modules/uninorm/nfkd: New file.
51808
51809         Tests for module 'uninorm/nfc'.
51810         * tests/uninorm/test-nfc.c: New file.
51811         * tests/uninorm/test-u8-nfc.c: New file.
51812         * tests/uninorm/test-u16-nfc.c: New file.
51813         * tests/uninorm/test-u32-nfc.c: New file.
51814         * tests/uninorm/test-u32-nfc-big.sh: New file.
51815         * tests/uninorm/test-u32-nfc-big.c: New file.
51816         * modules/uninorm/nfc-tests: New file.
51817
51818         New module 'uninorm/nfc'.
51819         * lib/uninorm/nfc.c: New file.
51820         * modules/uninorm/nfc: New file.
51821
51822         Tests for module 'uninorm/nfd'.
51823         * tests/uninorm/test-nfd.c: New file.
51824         * tests/uninorm/test-u8-nfd.c: New file.
51825         * tests/uninorm/test-u16-nfd.c: New file.
51826         * tests/uninorm/test-u32-nfd.c: New file.
51827         * tests/uninorm/test-u32-nfd-big.sh: New file.
51828         * tests/uninorm/test-u32-nfd-big.c: New file.
51829         * tests/uninorm/test-u32-normalize-big.h: New file.
51830         * tests/uninorm/test-u32-normalize-big.c: New file.
51831         * tests/uninorm/NormalizationTest.txt: New file, created from
51832         Unicode 5.1.0 NormalizationTest.txt.
51833         * modules/uninorm/nfd-tests: New file.
51834
51835         New module 'uninorm/nfd'.
51836         * lib/uninorm/nfd.c: New file.
51837         * modules/uninorm/nfd: New file.
51838
51839         New module 'uninorm/u32-normalize'.
51840         * lib/uninorm/u32-normalize.c: New file.
51841         * modules/uninorm/u32-normalize: New file.
51842
51843         New module 'uninorm/u16-normalize'.
51844         * lib/uninorm/u16-normalize.c: New file.
51845         * modules/uninorm/u16-normalize: New file.
51846
51847         New module 'uninorm/u8-normalize'.
51848         * lib/uninorm/u8-normalize.c: New file.
51849         * lib/uninorm/normalize-internal.h: New file.
51850         * lib/uninorm/u-normalize-internal.h: New file.
51851         * modules/uninorm/u8-normalize: New file.
51852
51853         New module 'uninorm/decompose-internal'.
51854         * lib/uninorm/decompose-internal.c: New file.
51855         * modules/uninorm/decompose-internal: New file.
51856
51857         Tests for module 'uninorm/composition'.
51858         * tests/uninorm/test-composition.c: New file.
51859         * modules/uninorm/composition-tests: New file.
51860
51861         New module 'uninorm/composition'.
51862         * lib/uninorm/composition.c: New file.
51863         * lib/uninorm/composition-table.gperf: New file, generated by
51864         gen-uni-tables.
51865         * modules/uninorm/composition: New file.
51866
51867         Tests for module 'uninorm/compat-decomposition'.
51868         * tests/uninorm/test-compat-decomposition.c: New file.
51869         * modules/uninorm/compat-decomposition-tests: New file.
51870
51871         New module 'uninorm/compat-decomposition'.
51872         * lib/uninorm/decompose-internal.h: New file.
51873         * lib/uninorm/compat-decomposition.c: New file.
51874         * modules/uninorm/compat-decomposition: New file.
51875
51876         Tests for module 'uninorm/canonical-decomposition'.
51877         * tests/uninorm/test-canonical-decomposition.c: New file.
51878         * modules/uninorm/canonical-decomposition-tests: New file.
51879
51880         New module 'uninorm/canonical-decomposition'.
51881         * lib/uninorm/canonical-decomposition.c: New file.
51882         * modules/uninorm/canonical-decomposition: New file.
51883
51884         Tests for module 'uninorm/decomposition'.
51885         * tests/uninorm/test-decomposition.c: New file.
51886         * modules/uninorm/decomposition-tests: New file.
51887
51888         New module 'uninorm/decomposition'.
51889         * lib/uninorm/decomposition.c: New file.
51890         * modules/uninorm/decomposition: New file.
51891
51892         New module 'uninorm/decomposition-table'.
51893         * lib/uninorm/decomposition-table.h: New file.
51894         * lib/uninorm/decomposition-table.c: New file.
51895         * lib/uninorm/decomposition-table1.h: New file, generated by
51896         gen-uni-tables.
51897         * lib/uninorm/decomposition-table2.h: New file, generated by
51898         gen-uni-tables.
51899         * modules/uninorm/decomposition-table: New file.
51900
51901         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
51902         (UC_DECOMP_*): New enumeration items.
51903         (get_decomposition): New function.
51904         (struct decomp_table): New type.
51905         (output_decomposition, output_decomposition_tables): New functions.
51906         (unicode_composition_exclusions): New variable.
51907         (fill_composition_exclusions, debug_output_composition_tables): New
51908         functions.
51909         (main): Accept one more argument. Invoke fill_composition_exclusions.
51910         Output decomposition and composition tables.
51911
51912         New module 'uninorm/base'.
51913         * lib/uninorm.h: New file.
51914         * lib/unictype.h: Update comment.
51915         * modules/uninorm/base: New file.
51916
51917 2009-02-21  David Lutterkort  <lutter@redhat.com>
51918
51919         Tests for module 'safe-alloc'.
51920         * tests/test-safe-alloc.c: New file.
51921         * modules/safe-alloc-tests: New file.
51922
51923         New module 'safe-alloc'.
51924         * lib/safe-alloc.h: New file.
51925         * lib/safe-alloc.c: New file.
51926         * m4/safe-alloc.m4: New file.
51927         * modules/safe-alloc: New file.
51928         * doc/safe-alloc.texi: New file.
51929         * doc/gnulib.texi: Include it.
51930         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
51931         safe-alloc.
51932
51933 2009-02-18  Bruno Haible  <bruno@clisp.org>
51934
51935         Fix link error on non-glibc systems.
51936         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
51937         variable.
51938         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51939
51940 2009-02-18  Jim Meyering  <meyering@redhat.com>
51941
51942         fts: avoid used-uninitialized error due to recent change
51943         * lib/fts.c (fts_read): Guard uses of the new member,
51944         parent->fts_n_dirs_remaining, since it's not relevant for
51945         the parent of a directory specified on the command-line.
51946
51947 2009-02-17  James Youngman  <jay@gnu.org>
51948             Bruno Haible  <bruno@clisp.org>
51949
51950         * m4/include_next.m4: Reformulate comment.
51951
51952 2009-02-16  Jim Meyering  <meyering@redhat.com>
51953
51954         fts: add #if guards so that the fts_lgpl module still builds
51955         * lib/fts.c: Guard just-added hash-table-using parts with
51956         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
51957         Reported by Simon Josefsson.
51958
51959 2009-02-15  Bruno Haible  <bruno@clisp.org>
51960
51961         * modules/array-mergesort-tests: New file.
51962         * tests/test-array-mergesort.c: New file.
51963
51964         New module 'array-mergesort'.
51965         * modules/array-mergesort: New file.
51966         * lib/array-mergesort.h: New file.
51967
51968 2009-02-15  Bruno Haible  <bruno@clisp.org>
51969
51970         Fix 2009-02-07 commit.
51971         * lib/gen-uni-tables.c (output_predicate, output_category,
51972         output_combclass, output_bidi_category, output_decimal_digit,
51973         output_digit, output_numeric, output_mirror, output_scripts,
51974         output_ident_category, output_simple_mapping): Fix format directives.
51975         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
51976
51977 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
51978
51979         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
51980         fixes are available from IBM.
51981
51982 2009-02-13  Jim Meyering  <meyering@redhat.com>
51983
51984         fts: arrange not to stat non-directories in more cases
51985         This makes GNU find (when it doesn't need to stat each file)
51986         *much* more efficient at traversing reiserfs file systems.
51987         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
51988         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
51989         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
51990         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
51991         (leaf_optimization_applies): New function.
51992         (LCO_hash, LCO_compare): New helper functions.
51993         (link_count_optimize_ok): New function.
51994         (fts_stat): Initialize new member (if dir).
51995         (fts_read): Decrement parent's fts_n_dirs_remaining count if
51996         we've just stat'ed a directory.  Skip the stat call when possible.
51997         ---
51998         Note this AFS-related exchange:
51999         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
52000         and note find's pioctl call in find/fstype.c.
52001         But that is necessary only if you want to enable the
52002         optimization for AFS, and for now, I don't.
52003
52004         fts: move a function definition "up" (no semantic change)
52005         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
52006         "up" to precede upcoming use of a related function.
52007
52008 2009-02-11  Jim Meyering  <meyering@redhat.com>
52009
52010         fts: correct internal computation of nlinks (optimization-related)
52011         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
52012         whether the current entry is a directory, so don't test it.
52013
52014 2009-02-10  Bruno Haible  <bruno@clisp.org>
52015
52016         Tests for module 'uniwbrk/ulc-wordbreaks'.
52017         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
52018         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
52019         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
52020
52021         Tests for module 'uniwbrk/u32-wordbreaks'.
52022         * modules/uniwbrk/u32-wordbreaks-tests: New file.
52023         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
52024
52025         Tests for module 'uniwbrk/u16-wordbreaks'.
52026         * modules/uniwbrk/u16-wordbreaks-tests: New file.
52027         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
52028
52029         Tests for module 'uniwbrk/u8-wordbreaks'.
52030         * modules/uniwbrk/u8-wordbreaks-tests: New file.
52031         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
52032
52033 2009-02-10  Bruno Haible  <bruno@clisp.org>
52034
52035         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
52036         property.
52037         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
52038         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
52039         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
52040
52041 2009-02-10  Simon Josefsson  <simon@josefsson.org>
52042
52043         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
52044         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
52045
52046 2009-02-10  Bruno Haible  <bruno@clisp.org>
52047
52048         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
52049         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
52050         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
52051         * lib/unilbrk/u8-possible-linebreaks.c: Update.
52052         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
52053         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
52054
52055 2009-02-09  Simon Josefsson  <simon@josefsson.org>
52056
52057         * lib/sockets.h (gl_fd_to_handle): New function.
52058
52059         * tests/test-sockets.c: Call gl_fd_to_handle.
52060
52061 2009-02-09  Bruno Haible  <bruno@clisp.org>
52062
52063         * doc/havelib.texi: Document the conventions on bi-arch systems.
52064
52065 2009-02-08  Bruno Haible  <bruno@clisp.org>
52066
52067         Document the AC_LIB_LINKFLAGS macro.
52068         * doc/havelib.texi: New file, mostly written on 2005-05-24.
52069         * doc/gnulib.texi: Include it.
52070
52071 2009-02-08  Bruno Haible  <bruno@clisp.org>
52072
52073         Fix wrong order of sections, compared to TOC.
52074         * doc/gnulib.texi: Include relocatable-maint.texi after the
52075         "Regular expressions" node, not before.
52076
52077 2009-02-08  Bruno Haible  <bruno@clisp.org>
52078
52079         Tests for module 'unicase/totitle'.
52080         * modules/unicase/totitle-tests: New file.
52081
52082         Tests for module 'unicase/tolower'.
52083         * modules/unicase/tolower-tests: New file.
52084
52085         Tests for module 'unicase/toupper'.
52086         * modules/unicase/toupper-tests: New file.
52087         * tests/unicase/test-mapping-part1.h: New file.
52088         * tests/unicase/test-mapping-part2.h: New file.
52089
52090         New module 'unicase/totitle'.
52091         * modules/unicase/totitle: New file.
52092         * lib/unicase/totitle.c: New file.
52093
52094         New module 'unicase/tolower'.
52095         * modules/unicase/tolower: New file.
52096         * lib/unicase/tolower.c: New file.
52097
52098         New module 'unicase/toupper'.
52099         * modules/unicase/toupper: New file.
52100         * lib/unicase/toupper.c: New file.
52101         * lib/unicase/simple-mapping.h: New file.
52102
52103         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
52104         (mapping_table): New structure.
52105         (output_simple_mapping): New function.
52106         (main): Invoke output_simple_mapping_test and output_simple_mapping.
52107         * modules/gen-uni-tables (Description): Update.
52108         * lib/unicase/toupper.h: New file, automatically generated by
52109         gen-uni-tables.
52110         * lib/unicase/tolower.h: New file, automatically generated by
52111         gen-uni-tables.
52112         * lib/unicase/totitle.h: New file, automatically generated by
52113         gen-uni-tables.
52114         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
52115         gen-uni-tables.
52116         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
52117         gen-uni-tables.
52118         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
52119         gen-uni-tables.
52120
52121         New module 'unicase/base'.
52122         * modules/unicase/base: New file.
52123         * lib/unicase.h: New file.
52124
52125 2009-02-08  Bruno Haible  <bruno@clisp.org>
52126
52127         New module 'uniwbrk/ulc-wordbreaks'.
52128         * modules/uniwbrk/ulc-wordbreaks: New file.
52129         * lib/uniwbrk/ulc-wordbreaks.c: New file.
52130
52131         New module 'uniwbrk/u32-wordbreaks'.
52132         * modules/uniwbrk/u32-wordbreaks: New file.
52133         * lib/uniwbrk/u32-wordbreaks.c: New file.
52134
52135         New module 'uniwbrk/u16-wordbreaks'.
52136         * modules/uniwbrk/u16-wordbreaks: New file.
52137         * lib/uniwbrk/u16-wordbreaks.c: New file.
52138
52139         New module 'uniwbrk/u8-wordbreaks'.
52140         * modules/uniwbrk/u8-wordbreaks: New file.
52141         * lib/uniwbrk/u8-wordbreaks.c: New file.
52142         * lib/uniwbrk/u-wordbreaks.h: New file.
52143
52144         New module 'uniwbrk/table'.
52145         * modules/uniwbrk/table: New file.
52146         * lib/uniwbrk/wbrktable.h: New file.
52147         * lib/uniwbrk/wbrktable.c: New file.
52148
52149         New module 'uniwbrk/wordbreak-property'.
52150         * modules/uniwbrk/wordbreak-property: New file.
52151         * lib/uniwbrk/wordbreak-property.c: New file.
52152
52153         * lib/gen-uni-tables.c (WBP_*): New enum items.
52154         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
52155         (unicode_org_wbp): New variable.
52156         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
52157         New functions.
52158         (wbp_table): New structure.
52159         (output_wbp, output_wbrk_tables): New functions.
52160         (main): Accept additional argument. Invoke fill_org_wbp,
52161         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
52162         output_wbrk_tables.
52163         * modules/gen-uni-tables (Description): Update.
52164         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
52165         gen-uni-tables.
52166
52167         New module 'uniwbrk/base'.
52168         * modules/uniwbrk/base: New file.
52169         * lib/uniwbrk.h: New file.
52170
52171 2009-02-08  Bruno Haible  <bruno@clisp.org>
52172
52173         Update to Unicode 5.1.0.
52174         * lib/gen-uni-tables.c (is_property_alphabetic): Include
52175         U+2185..U+2188.
52176         (is_property_default_ignorable_code_point): Don't include characters
52177         of category Cc or Cs and not-a-characters.
52178         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
52179         U+0D79, U+109E, U+109F, U+A60C.
52180         * lib/unictype/bidi_of.h: Regenerated.
52181         * lib/unictype/blocks.h: Regenerated.
52182         * lib/unictype/categ_C.h: Regenerated.
52183         * lib/unictype/categ_Cf.h: Regenerated.
52184         * lib/unictype/categ_Cn.h: Regenerated.
52185         * lib/unictype/categ_L.h: Regenerated.
52186         * lib/unictype/categ_Ll.h: Regenerated.
52187         * lib/unictype/categ_Lm.h: Regenerated.
52188         * lib/unictype/categ_Lo.h: Regenerated.
52189         * lib/unictype/categ_Lu.h: Regenerated.
52190         * lib/unictype/categ_M.h: Regenerated.
52191         * lib/unictype/categ_Mc.h: Regenerated.
52192         * lib/unictype/categ_Me.h: Regenerated.
52193         * lib/unictype/categ_Mn.h: Regenerated.
52194         * lib/unictype/categ_N.h: Regenerated.
52195         * lib/unictype/categ_Nd.h: Regenerated.
52196         * lib/unictype/categ_Nl.h: Regenerated.
52197         * lib/unictype/categ_No.h: Regenerated.
52198         * lib/unictype/categ_P.h: Regenerated.
52199         * lib/unictype/categ_Pd.h: Regenerated.
52200         * lib/unictype/categ_Pe.h: Regenerated.
52201         * lib/unictype/categ_Pf.h: Regenerated.
52202         * lib/unictype/categ_Pi.h: Regenerated.
52203         * lib/unictype/categ_Po.h: Regenerated.
52204         * lib/unictype/categ_Ps.h: Regenerated.
52205         * lib/unictype/categ_S.h: Regenerated.
52206         * lib/unictype/categ_Sk.h: Regenerated.
52207         * lib/unictype/categ_Sm.h: Regenerated.
52208         * lib/unictype/categ_So.h: Regenerated.
52209         * lib/unictype/categ_of.h: Regenerated.
52210         * lib/unictype/combining.h: Regenerated.
52211         * lib/unictype/ctype_alnum.h: Regenerated.
52212         * lib/unictype/ctype_alpha.h: Regenerated.
52213         * lib/unictype/ctype_graph.h: Regenerated.
52214         * lib/unictype/ctype_lower.h: Regenerated.
52215         * lib/unictype/ctype_print.h: Regenerated.
52216         * lib/unictype/ctype_punct.h: Regenerated.
52217         * lib/unictype/ctype_upper.h: Regenerated.
52218         * lib/unictype/decdigit.h: Regenerated.
52219         * lib/unictype/digit.h: Regenerated.
52220         * lib/unictype/mirror.h: Regenerated.
52221         * lib/unictype/numeric.h: Regenerated.
52222         * lib/unictype/pr_alphabetic.h: Regenerated.
52223         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
52224         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
52225         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
52226         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
52227         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
52228         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
52229         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
52230         * lib/unictype/pr_combining.h: Regenerated.
52231         * lib/unictype/pr_dash.h: Regenerated.
52232         * lib/unictype/pr_decimal_digit.h: Regenerated.
52233         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
52234         * lib/unictype/pr_deprecated.h: Regenerated.
52235         * lib/unictype/pr_diacritic.h: Regenerated.
52236         * lib/unictype/pr_extender.h: Regenerated.
52237         * lib/unictype/pr_format_control.h: Regenerated.
52238         * lib/unictype/pr_grapheme_base.h: Regenerated.
52239         * lib/unictype/pr_grapheme_extend.h: Regenerated.
52240         * lib/unictype/pr_grapheme_link.h: Regenerated.
52241         * lib/unictype/pr_id_continue.h: Regenerated.
52242         * lib/unictype/pr_id_start.h: Regenerated.
52243         * lib/unictype/pr_ideographic.h: Regenerated.
52244         * lib/unictype/pr_ignorable_control.h: Regenerated.
52245         * lib/unictype/pr_lowercase.h: Regenerated.
52246         * lib/unictype/pr_math.h: Regenerated.
52247         * lib/unictype/pr_numeric.h: Regenerated.
52248         * lib/unictype/pr_other_alphabetic.h: Regenerated.
52249         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
52250         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
52251         * lib/unictype/pr_other_id_continue.h: Regenerated.
52252         * lib/unictype/pr_other_lowercase.h: Regenerated.
52253         * lib/unictype/pr_other_math.h: Regenerated.
52254         * lib/unictype/pr_punctuation.h: Regenerated.
52255         * lib/unictype/pr_sentence_terminal.h: Regenerated.
52256         * lib/unictype/pr_soft_dotted.h: Regenerated.
52257         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
52258         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
52259         * lib/unictype/pr_unified_ideograph.h: Regenerated.
52260         * lib/unictype/pr_uppercase.h: Regenerated.
52261         * lib/unictype/pr_xid_continue.h: Regenerated.
52262         * lib/unictype/pr_xid_start.h: Regenerated.
52263         * lib/unictype/pr_zero_width.h: Regenerated.
52264         * lib/unictype/scripts.h: Regenerated.
52265         * lib/unictype/scripts_byname.gperf: Regenerated.
52266         * lib/unictype/sy_java_ident.h: Regenerated.
52267         * lib/unilbrk/lbrkprop1.h: Regenerated.
52268         * lib/unilbrk/lbrkprop2.h: Regenerated.
52269         * tests/unictype/test-categ_C.c: Regenerated.
52270         * tests/unictype/test-categ_Cf.c: Regenerated.
52271         * tests/unictype/test-categ_Cn.c: Regenerated.
52272         * tests/unictype/test-categ_L.c: Regenerated.
52273         * tests/unictype/test-categ_Ll.c: Regenerated.
52274         * tests/unictype/test-categ_Lm.c: Regenerated.
52275         * tests/unictype/test-categ_Lo.c: Regenerated.
52276         * tests/unictype/test-categ_Lu.c: Regenerated.
52277         * tests/unictype/test-categ_M.c: Regenerated.
52278         * tests/unictype/test-categ_Mc.c: Regenerated.
52279         * tests/unictype/test-categ_Me.c: Regenerated.
52280         * tests/unictype/test-categ_Mn.c: Regenerated.
52281         * tests/unictype/test-categ_N.c: Regenerated.
52282         * tests/unictype/test-categ_Nd.c: Regenerated.
52283         * tests/unictype/test-categ_Nl.c: Regenerated.
52284         * tests/unictype/test-categ_No.c: Regenerated.
52285         * tests/unictype/test-categ_P.c: Regenerated.
52286         * tests/unictype/test-categ_Pd.c: Regenerated.
52287         * tests/unictype/test-categ_Pe.c: Regenerated.
52288         * tests/unictype/test-categ_Pf.c: Regenerated.
52289         * tests/unictype/test-categ_Pi.c: Regenerated.
52290         * tests/unictype/test-categ_Po.c: Regenerated.
52291         * tests/unictype/test-categ_Ps.c: Regenerated.
52292         * tests/unictype/test-categ_S.c: Regenerated.
52293         * tests/unictype/test-categ_Sk.c: Regenerated.
52294         * tests/unictype/test-categ_Sm.c: Regenerated.
52295         * tests/unictype/test-categ_So.c: Regenerated.
52296         * tests/unictype/test-ctype_alnum.c: Regenerated.
52297         * tests/unictype/test-ctype_alpha.c: Regenerated.
52298         * tests/unictype/test-ctype_graph.c: Regenerated.
52299         * tests/unictype/test-ctype_lower.c: Regenerated.
52300         * tests/unictype/test-ctype_print.c: Regenerated.
52301         * tests/unictype/test-ctype_punct.c: Regenerated.
52302         * tests/unictype/test-ctype_upper.c: Regenerated.
52303         * tests/unictype/test-decdigit.h: Regenerated.
52304         * tests/unictype/test-digit.h: Regenerated.
52305         * tests/unictype/test-numeric.h: Regenerated.
52306         * tests/unictype/test-pr_alphabetic.c: Regenerated.
52307         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
52308         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
52309         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
52310         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
52311         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
52312         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
52313         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
52314         * tests/unictype/test-pr_combining.c: Regenerated.
52315         * tests/unictype/test-pr_dash.c: Regenerated.
52316         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
52317         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
52318         * tests/unictype/test-pr_deprecated.c: Regenerated.
52319         * tests/unictype/test-pr_diacritic.c: Regenerated.
52320         * tests/unictype/test-pr_extender.c: Regenerated.
52321         * tests/unictype/test-pr_format_control.c: Regenerated.
52322         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
52323         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
52324         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
52325         * tests/unictype/test-pr_id_continue.c: Regenerated.
52326         * tests/unictype/test-pr_id_start.c: Regenerated.
52327         * tests/unictype/test-pr_ideographic.c: Regenerated.
52328         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
52329         * tests/unictype/test-pr_lowercase.c: Regenerated.
52330         * tests/unictype/test-pr_math.c: Regenerated.
52331         * tests/unictype/test-pr_numeric.c: Regenerated.
52332         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
52333         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
52334         Regenerated.
52335         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
52336         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
52337         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
52338         * tests/unictype/test-pr_other_math.c: Regenerated.
52339         * tests/unictype/test-pr_punctuation.c: Regenerated.
52340         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
52341         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
52342         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
52343         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
52344         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
52345         * tests/unictype/test-pr_uppercase.c: Regenerated.
52346         * tests/unictype/test-pr_xid_continue.c: Regenerated.
52347         * tests/unictype/test-pr_xid_start.c: Regenerated.
52348         * tests/unictype/test-pr_zero_width.c: Regenerated.
52349
52350         Update to Unicode 5.1.0.
52351         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
52352         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
52353         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
52354         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
52355         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
52356         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
52357         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
52358         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
52359         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
52360         (nonspacing_table_ind): Update.
52361         * tests/uniwidth/test-uc_width2.sh: Update expected result.
52362
52363         Update to Unicode 5.1.0.
52364         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
52365         code transform.
52366         * lib/uniname/uniname.c (unicode_character_name,
52367         unicode_name_character): Add the range 0x1Fxxx to the code transform.
52368         * lib/uniname/uninames.h: Regenerated.
52369         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
52370
52371 2009-02-07  Bruno Haible  <bruno@clisp.org>
52372
52373         Merge gen-ctype and gen-lbrk into a single program.
52374         * lib/gen-uni-tables.c: New file, incorporating
52375         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
52376         Add directory prefixes to the names of the generated files.
52377         * lib/unictype/gen-ctype.c: Remove file.
52378         * lib/unilbrk/gen-lbrk.c: Remove file.
52379         * modules/gen-uni-tables: New file.
52380         * modules/unictype/gen-ctype: Remove file.
52381         * modules/unilbrk/gen-lbrk: Remove file.
52382
52383 2009-02-07  Bruno Haible  <bruno@clisp.org>
52384
52385         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
52386
52387         New module 'unistr/u32-strcoll'.
52388         * modules/unistr/u32-strcoll: New file.
52389         * lib/unistr/u32-strcoll.c: New file.
52390
52391         New module 'unistr/u16-strcoll'.
52392         * modules/unistr/u16-strcoll: New file.
52393         * lib/unistr/u16-strcoll.c: New file.
52394
52395         New module 'unistr/u8-strcoll'.
52396         * modules/unistr/u8-strcoll: New file.
52397         * lib/unistr/u8-strcoll.c: New file.
52398         * lib/unistr/u-strcoll.h: New file.
52399
52400 2009-02-07  Bruno Haible  <bruno@clisp.org>
52401
52402         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
52403         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
52404         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
52405         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
52406         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
52407         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
52408
52409 2009-02-07  Bruno Haible  <bruno@clisp.org>
52410
52411         Make 64-bit clean.
52412         * lib/unictype/gen-ctype.c (output_predicate, output_category,
52413         output_combclass, output_bidi_category, output_decimal_digit,
52414         output_digit, output_numeric, output_mirror, output_scripts,
52415         output_ident_category): Use proper width specifier in format strings.
52416
52417 2009-02-07  Bruno Haible  <bruno@clisp.org>
52418
52419         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
52420         failure behaviour.
52421
52422 2009-02-07  Jim Meyering  <meyering@redhat.com>
52423
52424         regex: avoid compilation failure with upcoming gcc-4.4
52425         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
52426         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
52427         "... error: integer overflow in preprocessor expression".
52428
52429 2009-02-05  Ben Pfaff  <blp@gnu.org>
52430
52431         Fix link errors on Windows when close module is used.
52432         * modules/close: Add $(LIB_CLOSE) to Link section.
52433         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
52434         $(LIB_CLOSE) on Windows.
52435
52436 2009-02-05  Jim Meyering  <meyering@redhat.com>
52437
52438         still avoid unused-parameter warnings, but do it cleanly
52439         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
52440         (get_fs_usage): Cast to void instead.
52441         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
52442         (dev_from_mount_options, read_file_system_list): Cast to void.
52443         Prompted by Bruno Haible.
52444
52445 2009-02-04  Jim Meyering  <meyering@redhat.com>
52446
52447         fsusage.c: correct copyright year
52448         * lib/fsusage.c: Reflect year in which the change is pushed into
52449
52450         avoid misc. warnings
52451         * lib/fsusage.c (UNUSED_PARAM): Define.
52452         (get_fs_usage): Mark parameter "disk" as unused.
52453         * lib/getugroups.c (getgrent): Use "void" in prototype.
52454         * lib/mountlist.c: Mark unused parameters.
52455         (read_file_system_list): Declare a local with "const".
52456         * lib/nanosleep.c (getnow): Declare static.
52457         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
52458
52459         dirfd: set errno upon failure
52460         * lib/dirfd.c: Include <errno.h>.
52461         Set errno to ENOTSUP when returning -1.
52462         * modules/dirfd (Depends-on): Add errno.
52463         Suggested by John Kodis <kodis@comcast.net>.
52464
52465 2009-02-01  Bruno Haible  <bruno@clisp.org>
52466
52467         Don't assume sizeof (long) >= sizeof (void *).
52468         * lib/memcmp.c: Include stdint.h.
52469         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
52470         srcp2 to 'const byte *'.
52471         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
52472         types to uintptr_t.
52473         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
52474         * modules/memcmp (Depends-on): Add stdint.
52475         Reported by Ozkan Sezer <sezeroz@gmail.com>.
52476
52477 2009-01-30  Eric Blake  <ebb9@byu.net>
52478
52479         fix more require-before-expand issues
52480         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
52481         expand, AC_PROG_AWK.
52482         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
52483
52484 2009-01-28  Eric Blake  <ebb9@byu.net>
52485
52486         version-etc: use consistent URL formatting
52487         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
52488         Improve formatting.  Use fputs for string without %.
52489
52490 2009-01-28  Jim Meyering  <meyering@redhat.com>
52491
52492         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
52493         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
52494         "underquoted definition of NAME" from autoconf-2.59.
52495
52496 2009-01-28  Bruno Haible  <bruno@clisp.org>
52497
52498         * doc/gnulib.texi: Add "Obsolete modules" to index.
52499
52500 2009-01-28  Jim Meyering  <meyering@redhat.com>
52501
52502         useless-if-before-free: recognize more variants
52503         * build-aux/useless-if-before-free: Also recognize e.g.,
52504         if (NULL != p) free (p);
52505
52506 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
52507
52508         test-getaddrinfo: skip (don't fail) this test when there's no network
52509         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
52510         on the presumption that it means you lack network access.
52511
52512 2009-01-26  Jim Meyering  <meyering@redhat.com>
52513
52514         fflush: avoid warnings on modern systems
52515         * lib/fflush.c (rpl_fflush): Move declarations of locals,
52516         pos and result, into scopes where they're used.
52517
52518 2009-01-26  Eric Blake  <ebb9@byu.net>
52519
52520         Silence warning reintroduced by recent extensions patch.
52521         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
52522         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
52523         autoconf.
52524
52525         Backport improved autoconf semantics of AC_DEFUN_ONCE.
52526         * m4/00gnulib.m4: New file.
52527         * gnulib-tool (func_get_filelist): Always use it.
52528         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
52529         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
52530
52531 2009-01-25  Bruno Haible  <bruno@clisp.org>
52532
52533         Make test-quotearg work on MacOS X and AIX.
52534         * tests/test-quotearg.sh: New file.
52535         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
52536         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
52537         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
52538         include <libintl.h>.
52539         (fake_locale): Remove variable.
52540         (gettext, dgettext, dcgettext): Remove functions.
52541         (main): Instead of setting a fake locale, set a real locale. Call
52542         textdomain and bindtextdomain.
52543         * modules/quotearg-tests (Files): Add the new files.
52544         (Depends-on): Add gettext, setenv, unsetenv.
52545         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
52546         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
52547         Augment TESTS_ENVIRONMENT.
52548
52549 2009-01-25  Bruno Haible  <bruno@clisp.org>
52550
52551         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
52552         fr_FR.ISO8859-1 locale on MacOS X.
52553         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
52554         ja_JP.eucJP locale on MacOS X.
52555         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
52556         zh_CN.GB18030 locale on MacOS X.
52557
52558 2009-01-25  Bruno Haible  <bruno@clisp.org>
52559
52560         Avoid link errors on MacOS X 10.3.
52561         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
52562         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
52563
52564 2009-01-25  Bruno Haible  <bruno@clisp.org>
52565
52566         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
52567         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
52568         * modules/pipe (Files): Remove m4/posix_spawn.m4.
52569         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
52570         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
52571         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
52572         posix_spawnattr_init, posix_spawnattr_setsigmask,
52573         posix_spawnattr_setflags, posix_spawnattr_destroy.
52574
52575         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
52576         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
52577         * modules/execute (Files): Remove m4/posix_spawn.m4.
52578         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
52579         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
52580         posix_spawnattr_init, posix_spawnattr_setsigmask,
52581         posix_spawnattr_setflags, posix_spawnattr_destroy.
52582
52583 2009-01-25  Bruno Haible  <bruno@clisp.org>
52584
52585         * lib/glthread/threadlib.c: Include <stdlib.h>.
52586
52587 2009-01-25  Bruno Haible  <bruno@clisp.org>
52588
52589         * lib/glthread/threadlib.c (dummy): New declaration.
52590
52591 2009-01-25  Bruno Haible  <bruno@clisp.org>
52592
52593         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
52594         multibyte characters also for the GB18030 encoding. Don't crash when
52595         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
52596
52597 2009-01-25  Bruno Haible  <bruno@clisp.org>
52598
52599         Avoid redefining 'struct random_data' on OSF/1 5.1.
52600         * lib/stdlib.in.h: Include <random.h> if it exists.
52601         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
52602         HAVE_RANDOM_H. Include <random.h> when testing whether
52603         'struct random_data' exists.
52604         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
52605
52606 2009-01-25  Bruno Haible  <bruno@clisp.org>
52607
52608         Don't install charset.alias on MacOS X >= 10.3.
52609         * lib/localcharset.c (DARWIN7): New macro.
52610         (get_charset_aliases): Hardcode the result for Darwin7.
52611         * modules/localcharset (install-exec-local): Don't install
52612         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
52613
52614 2009-01-25  Bruno Haible  <bruno@clisp.org>
52615
52616         Don't install charset.alias on mingw and Cygwin.
52617         * modules/localcharset (install-exec-local): Don't install
52618         charset.alias on mingw and Cygwin, if the file does not yet exist.
52619         The result for these platforms is hardcoded in localcharset.c.
52620
52621 2009-01-25  Bruno Haible  <bruno@clisp.org>
52622
52623         Make it possible again to use AC_GNU_SOURCE together with gnulib.
52624         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
52625         before requiring AC_USE_SYSTEM_EXTENSIONS.
52626
52627 2009-01-25  Jim Meyering  <meyering@redhat.com>
52628
52629         c-strtod: avoid warnings
52630         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
52631         "assignment discards qualifiers from pointer target type" warnings.
52632
52633 2009-01-24  Bruno Haible  <bruno@clisp.org>
52634
52635         Add support for non-UTF-8 locales on MacOS X.
52636         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
52637         canonical encodings. For Darwin 7 and newer, don't map traditional
52638         encodings to UTF-8.
52639         Reported by Vincent Lefevre <vincent@vinc17.org>
52640         at <http://savannah.gnu.org/bugs/?25235>.
52641
52642 2009-01-24  Bruno Haible  <bruno@clisp.org>
52643
52644         * doc/gnulib.texi (Obsolete modules): New section.
52645         Reported by Mike Frysinger <vapier@gentoo.org>.
52646
52647 2009-01-24  Bruno Haible  <bruno@clisp.org>
52648
52649         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
52650         (%.dvi): New rule.
52651
52652 2009-01-24  Bruno Haible  <bruno@clisp.org>
52653
52654         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
52655         Reported by Eric Blake.
52656
52657 2009-01-24  Bruno Haible  <bruno@clisp.org>
52658
52659         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
52660         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
52661         Reported by Gary V. Vaughan <gary@gnu.org>.
52662
52663 2009-01-24  Bruno Haible  <bruno@clisp.org>
52664
52665         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
52666
52667 2009-01-23  Bruno Haible  <bruno@clisp.org>
52668
52669         Make c-strtod, c-strtold usable in libraries.
52670         * lib/c-strtod.c: Include string.h instead of xalloc.h.
52671         (C_STRTOD): Call strdup instead of xstrdup.
52672         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
52673         * modules/c-strtold (Depends-on): Likewise.
52674         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
52675         * NEWS: Mention the change.
52676         Reported by Michael Gold <mgold@ncf.ca>.
52677
52678 2009-01-23  Jim Meyering  <meyering@redhat.com>
52679
52680         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
52681         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
52682         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
52683
52684 2009-01-23  Simon Josefsson  <simon@josefsson.org>
52685
52686         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
52687         GNU CoreUtils.
52688         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
52689         * modules/version-etc (Description): Update.
52690
52691 2009-01-22  Bruno Haible  <bruno@clisp.org>
52692
52693         Cache the C locale object.
52694         * lib/c-strtod.c (c_locale_cache): New variable.
52695         (c_locale): New function.
52696         (C_STRTOD): Use it, and don't call freelocale.
52697         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
52698         Suggested by Paolo Bonzini.
52699
52700 2009-01-21  Bruno Haible  <bruno@clisp.org>
52701
52702         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
52703         conditions other than overflow.
52704
52705 2009-01-21  Bruno Haible  <bruno@clisp.org>
52706
52707         * lib/c-strtod.c: Include errno.h.
52708         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
52709         value from STRTOD_L and STRTOD.
52710
52711 2009-01-21  Bruno Haible  <bruno@clisp.org>
52712         and Jim Meyering  <meyering@redhat.com>
52713
52714         nanosleep: skip configure test (fail it) for apple universal builds
52715         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
52716         universal builds, assume that nanosleep does not work.
52717         * modules/nanosleep (Depends-on): Add multiarch.
52718
52719         mktime: skip configure test (fail it) for apple universal builds
52720         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
52721         universal builds, assume that mktime does not work.
52722         * modules/mktime (Depends-on): Add multiarch.
52723
52724 2009-01-21  Eric Blake  <ebb9@byu.net>
52725
52726         multiarch: avoid expand-before-require warning
52727         * modules/multiarch (configure.ac): Require, rather than expand,
52728         gl_MULTIARCH.
52729         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
52730         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
52731         enforce that all clients require it.  Partial reversion of
52732         2008-12-29 patch.
52733
52734         error: avoid expand-before-require warning
52735         * modules/errno (configure.ac): Require, rather than expand,
52736         gl_HEADER_ERRNO_H.
52737         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
52738         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
52739         enforce that all clients require it.
52740
52741         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
52742         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
52743         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
52744         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
52745
52746 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
52747
52748         Revert:
52749         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52750
52751         regex: do not depend on obsolete modules.
52752         * modules/regex: Remove memcmp and memmove.
52753
52754 2009-01-20  Bruno Haible  <bruno@clisp.org>
52755
52756         Make the 'link' module link on Windows NT 4.
52757         * lib/link.c (_WIN32_WINNT): Don't define.
52758         (CreateHardLinkFuncType): New type.
52759         (CreateHardLinkFunc, initialized): New variables.
52760         (initialize): New function.
52761         (link): Invoke CreateHardLink indirectly through the function pointer.
52762
52763 2009-01-20  Bruno Haible  <bruno@clisp.org>
52764
52765         Fix compilation failure on mingw.
52766         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
52767
52768 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
52769
52770         * doc/c-strtod.texi: Mention a couple of restrictions.
52771
52772 2009-01-20  Jim Meyering  <meyering@redhat.com>
52773
52774         gettimeofday: move more declarations out of functions
52775         * lib/gettimeofday.c: Move extern declarations of tzset and
52776         gmtime out of containing functions.  Prompted by Bruno Haible.
52777
52778 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52779
52780         regex: do not depend on obsolete modules.
52781         * modules/regex: Remove memcmp and memmove.
52782
52783 2009-01-19  Bruno Haible  <bruno@clisp.org>
52784
52785         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52786         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
52787         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52788         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
52789         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
52790
52791 2009-01-19  Bruno Haible  <bruno@clisp.org>
52792
52793         * tests/test-link.c: Include <errno.h>.
52794         (main): Exit with code 77 when a hard link cannot be created due to
52795         the file system.
52796         * tests/test-link.sh: Skip test when a hard link cannot be created due
52797         to the file system.
52798         Suggested by Eric Blake.
52799
52800 2009-01-19  Martin Lambers  <marlam@marlam.de>
52801
52802         * modules/link-tests: New file.
52803         * tests/test-link.sh: New file.
52804         * tests/test-link.c: New file.
52805
52806 2009-01-19  Eric Blake  <ebb9@byu.net>
52807
52808         doc: mention another function added in cygwin 1.7.0
52809         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
52810         Another new function in cygwin 1.7.
52811
52812 2009-01-19  Bruno Haible  <bruno@clisp.org>
52813
52814         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52815         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
52816         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
52817         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52818         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
52819         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
52820         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
52821         * m4/md4.m4 (gl_MD4): Likewise.
52822         * m4/md5.m4 (gl_MD5): Likewise.
52823         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
52824         * m4/sha1.m4 (gl_SHA1): Likewise.
52825         * m4/sha256.m4 (gl_SHA256): Likewise.
52826         * m4/sha512.m4 (gl_SHA512): Likewise.
52827
52828 2009-01-19  Bruno Haible  <bruno@clisp.org>
52829
52830         * modules/uniname/uniname-tests (Depends-on): Add progname.
52831         * tests/uniname/test-uninames.c: Include progname.h.
52832         (main): Call set_program_name.
52833
52834         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
52835         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
52836         (main): Call set_program_name.
52837
52838         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
52839         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
52840         (main): Call set_program_name.
52841
52842         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
52843         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
52844         (main): Call set_program_name.
52845
52846         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
52847         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
52848         (main): Call set_program_name.
52849
52850         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
52851         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
52852         (main): Call set_program_name.
52853
52854         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
52855         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
52856         (main): Call set_program_name.
52857
52858         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
52859         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
52860         (main): Call set_program_name.
52861
52862         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
52863         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
52864         (main): Call set_program_name.
52865
52866 2009-01-19  Eric Blake  <ebb9@byu.net>
52867
52868         test-unistd: test previous patch
52869         * tests/test-unistd.c: Test *_FILENO macros.
52870
52871         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
52872         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52873         Guarantee a definition.
52874         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
52875         * modules/unistd-safer (Depends-on): Add dependency on unistd.
52876         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
52877         * lib/dup-safer.c (STDERR_FILENO): Likewise.
52878         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52879         Likewise.
52880         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
52881         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
52882         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52883         Likewise.
52884         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
52885         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
52886         (STDERR_FILENO): Likewise.
52887         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
52888         (STDERR_FILENO): Likewise.
52889         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
52890         (STDERR_FILENO): Likewise.
52891         Reported by Elbert Pol.
52892
52893 2009-01-19  Eric Blake  <ebb9@byu.net>
52894
52895         doc: mention more functions added in cygwin 1.7.0
52896         * doc/posix-functions/abort.texi (abort): Update wording related
52897         to cygwin.
52898         * doc/posix-functions/daylight.texi (daylight): Likewise.
52899         * doc/posix-functions/optarg.texi (optarg): Likewise.
52900         * doc/posix-functions/optarg.texi (opterr): Likewise.
52901         * doc/posix-functions/optarg.texi (optind): Likewise.
52902         * doc/posix-functions/optarg.texi (optopt): Likewise.
52903         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
52904         worked in 1.5.x, and was withdrawn in 1.7.
52905         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
52906         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
52907         cygwin versions.
52908         * doc/posix-functions/perror.texi (perror): Likewise.
52909         * doc/posix-functions/printf.texi (printf): Likewise.
52910         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
52911         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
52912         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
52913         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
52914         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
52915         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
52916         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52917         Likewise.
52918         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52919         Likewise.
52920         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
52921         this function.
52922         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
52923         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
52924         Likewise.
52925         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
52926         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
52927         * doc/posix-functions/confstr.texi (confstr): Likewise.
52928         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
52929         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
52930         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
52931         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
52932         * doc/posix-functions/fputws.texi (fputws): Likewise.
52933         * doc/posix-functions/fwide.texi (fwide): Likewise.
52934         * doc/posix-functions/getwc.texi (getwc): Likewise.
52935         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
52936         * doc/posix-functions/putwc.texi (putwc): Likewise.
52937         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
52938         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
52939         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
52940         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
52941         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
52942         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
52943         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
52944         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
52945         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
52946         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
52947         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
52948
52949 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52950
52951         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
52952         * lib/ioctl.c: Include <sys/ioctl.h>.
52953
52954 2009-01-19  Simon Josefsson  <simon@josefsson.org>
52955
52956         * modules/getdate-tests (Depends-on): Add progname.
52957         * tests/test-getdate.c: Use progname module, to avoid link errors
52958         on non-glibc systems.
52959
52960 2009-01-18  Simon Josefsson  <simon@josefsson.org>
52961
52962         * modules/filenamecat-tests (Depends-on): Add progname.
52963         * modules/fstrcmp-tests (Depends-on): Likewise.
52964
52965         * tests/test-filenamecat.c: Use progname module, to avoid link
52966         errors on non-glibc systems.
52967         * tests/test-fstrcmp.c: Likewise.
52968
52969 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52970
52971         gettimeofday: avoid warning: nested extern declaration of 'localtime'
52972         * lib/gettimeofday.c: Move extern declaration out of function.
52973
52974 2009-01-18  Bruno Haible  <bruno@clisp.org>
52975
52976         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
52977         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
52978         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
52979
52980 2009-01-18  Bruno Haible  <bruno@clisp.org>
52981
52982         * lib/strftime.c (MEMPCPY): Remove unused macro.
52983         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
52984
52985 2009-01-18  Martin Lambers  <marlam@marlam.de>
52986
52987         New module 'link'.
52988         * lib/unistd.in.h (link): New declaration.
52989         * lib/link.c: New file.
52990         * m4/link.m4: New file.
52991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
52992         HAVE_LINK.
52993         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
52994         * modules/link: New file.
52995         * doc/posix-functions/link.texi: Mention the new module.
52996
52997 2009-01-18  Bruno Haible  <bruno@clisp.org>
52998
52999         * tests/test-avltree_list.c (main): Call set_program_name.
53000         * tests/test-avltree_oset.c (main): Likewise.
53001         * tests/test-obstack-printf.c: Include progname.h.
53002         (main): Call set_program_name.
53003         * tests/test-quotearg.c: Include progname.h.
53004         (main): Call set_program_name.
53005         * tests/test-xmemdup0.c: Include progname.h.
53006         (main): Call set_program_name.
53007
53008 2009-01-18  Bruno Haible  <bruno@clisp.org>
53009
53010         New module 'alphasort'.
53011         * lib/dirent.in.h (alphasort): New declaration.
53012         * lib/alphasort.c: New file, from glibc with modifications.
53013         * m4/alphasort.m4: New file.
53014         * modules/alphasort: New file.
53015         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
53016         HAVE_ALPHASORT.
53017         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
53018         HAVE_ALPHASORT.
53019         * doc/posix-functions/alphasort.texi: Mention the new module and the
53020         portability problems.
53021
53022 2009-01-18  Bruno Haible  <bruno@clisp.org>
53023
53024         New module 'scandir'.
53025         * lib/dirent.in.h (scandir): New declaration.
53026         * lib/scandir.c: New file, from glibc with modifications.
53027         * m4/scandir.m4: New file.
53028         * modules/scandir: New file.
53029         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
53030         HAVE_SCANDIR.
53031         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
53032         HAVE_SCANDIR.
53033         * doc/posix-functions/scandir.texi: Mention the new module and the
53034         portability problems.
53035
53036 2009-01-17  Bruno Haible  <bruno@clisp.org>
53037
53038         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
53039         Update documentation.
53040         (func_remove_suffix): Escape all dots in the suffix. Update
53041         documentation.
53042         (func_filter_filelist): Update documentation.
53043         Reported by Ralf Wildenhues.
53044
53045 2009-01-17  Bruno Haible  <bruno@clisp.org>
53046
53047         * modules/dprintf-posix-tests: New file.
53048         * tests/test-dprintf-posix.sh: New file.
53049         * tests/test-dprintf-posix.c: New file.
53050
53051         New modules 'dprintf', 'dprintf-posix'.
53052         * lib/stdio.in.h (dprintf): New declaration.
53053         * lib/dprintf.c: New file.
53054         * m4/dprintf.m4: New file.
53055         * m4/dprintf-posix.m4: New file.
53056         * modules/dprintf: New file.
53057         * modules/dprintf-posix: New file.
53058         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
53059         HAVE_DPRINTF, REPLACE_DPRINTF.
53060         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
53061         HAVE_DPRINTF, REPLACE_DPRINTF.
53062         * doc/posix-functions/dprintf.texi: Mention the new modules.
53063
53064 2009-01-17  Bruno Haible  <bruno@clisp.org>
53065
53066         * modules/vdprintf-posix-tests: New file.
53067         * tests/test-vdprintf-posix.sh: New file.
53068         * tests/test-vdprintf-posix.c: New file.
53069
53070         New modules 'vdprintf', 'vdprintf-posix'.
53071         * lib/stdio.in.h (vdprintf): New declaration.
53072         * lib/vdprintf.c: New file.
53073         * m4/vdprintf.m4: New file.
53074         * m4/vdprintf-posix.m4: New file.
53075         * modules/vdprintf: New file.
53076         * modules/vdprintf-posix: New file.
53077         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
53078         HAVE_VDPRINTF, REPLACE_VDPRINTF.
53079         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
53080         HAVE_VDPRINTF, REPLACE_VDPRINTF.
53081         * doc/posix-functions/vdprintf.texi: Mention the new modules.
53082
53083 2009-01-17  Bruno Haible  <bruno@clisp.org>
53084
53085         Fix replacement of fopen on mingw.
53086         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
53087         mingw.
53088
53089 2009-01-17  Bruno Haible  <bruno@clisp.org>
53090
53091         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
53092         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
53093
53094 2009-01-17  Bruno Haible  <bruno@clisp.org>
53095
53096         Avoid test-fflush2.sh failure on mingw.
53097         * tests/test-fflush2.c: Include binary-io.h.
53098         (main): Put standard input into binary mode.
53099         * modules/fflush-tests (Depends-on): Add binary-io.
53100
53101 2009-01-17  Bruno Haible  <bruno@clisp.org>
53102
53103         * lib/wchar.in.h: In another particular situation, include only the
53104         system's <wchar.h> file.
53105         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
53106         Reported by Albert Chin-A-Young <china@thewrittenword.com>
53107         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
53108
53109 2009-01-17  Bruno Haible  <bruno@clisp.org>
53110
53111         Support for stripping executables in --enable-relocatable.
53112         * build-aux/install-reloc: Expect one more argument, or an environment
53113         variable RELOC_STRIP_PROG. If set, strip the destination program and
53114         its wrapper.
53115         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
53116         RELOC_STRIP_PROG.
53117         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
53118         to set RELOCATABLE_STRIP.
53119         * NEWS: Mention the new Makefile requirement.
53120
53121 2009-01-17  Bruno Haible  <bruno@clisp.org>
53122
53123         * build-aux/install-reloc: Remove debugging information left over by
53124         C compiler on MacOS X.
53125
53126 2009-01-17  Bruno Haible  <bruno@clisp.org>
53127
53128         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
53129         * lib/progreloc.c (find_executable): Fix type of pointer passed to
53130         _NSGetExecutablePath.
53131
53132 2009-01-16  Jim Meyering  <meyering@redhat.com>
53133
53134         strerror: avoid warnings about discarding "const"
53135         * lib/strerror.c (rpl_strerror): Instead of returning a const
53136         string from each and every "case", use a variable, and add a single
53137         cast after the switch.
53138
53139 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
53140
53141         * lib/arpa_inet.in.h: Add extern "C" block for C++.
53142
53143 2009-01-16  Bruno Haible  <bruno@clisp.org>
53144
53145         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
53146         array initializer syntax that also works in C++ mode.
53147         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53148
53149 2009-01-16  Jim Meyering  <meyering@redhat.com>
53150
53151         poll: suppress a warning
53152         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
53153         to ignore "...unsigned expression < 0 is always false" warnings.
53154
53155 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
53156
53157         poll: remove declarations of unused variables
53158         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
53159         sockbuf and optlen.
53160
53161 2009-01-15  Bruno Haible  <bruno@clisp.org>
53162
53163         Make fflush-after-ungetc POSIX compliant on BSD systems.
53164         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
53165         (clear_ungetc_buffer): Implement also for other systems.
53166         (rpl_fflush): On glibc systems, invoke
53167         clear_ungetc_buffer_preserving_position. Otherwise, invoke
53168         clear_ungetc_buffer after fetching the stream's position, not before.
53169
53170 2009-01-15  Bruno Haible  <bruno@clisp.org>
53171
53172         Make fflush-after-ungetc POSIX compliant on glibc systems.
53173         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
53174         after ungetc.
53175         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
53176         (rpl_fflush): On glibc systems, simply call the system's fflush
53177         function after clearing the ungetc buffer.
53178         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
53179         Instead, lseek only to the end of file, then use the system's fseeko
53180         for the rest. On glibc systems, reset the EOF indicator bit.
53181
53182 2009-01-15  Jim Meyering  <meyering@redhat.com>
53183
53184         openmp.m4: revert quote-adding change, for portability to older autoconf
53185         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
53186         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
53187         Simon Josefsson noticed the problem when using autoconf-2.61.
53188
53189 2009-01-15  Bruno Haible  <bruno@clisp.org>
53190
53191         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
53192         * tests/test-fflush2.c (ASSERT): Always fail.
53193         (main): Add two tests for fflush() after ungetc(), taking into account
53194         the Austin Group's clarification.
53195         Suggested by Eric Blake.
53196
53197 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
53198
53199         mktime.m4: remove K&R-style function prototypes
53200         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
53201         for the Sun C++ compiler.
53202
53203 2009-01-14  Bruno Haible  <bruno@clisp.org>
53204
53205         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
53206         while including <wchar.h>.
53207         * lib/wchar.in.h: In two particular situations on HP-UX, include only
53208         the system's <wchar.h> file.
53209         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53210
53211 2009-01-14  Bruno Haible  <bruno@clisp.org>
53212
53213         * m4/csharp.m4: Don't mention gettext on the serial number line.
53214         * m4/csharpexec.m4: Likewise.
53215         * m4/eaccess.m4: Likewise.
53216         * m4/javaexec.m4: Likewise.
53217         * m4/sig_atomic_t.m4: Likewise.
53218         * m4/tmpdir.m4: Likewise.
53219         * m4/intldir.m4: Bump gettext version.
53220         * m4/lib-ld.m4: Likewise.
53221
53222 2009-01-14  Bruno Haible  <bruno@clisp.org>
53223
53224         * lib/progname.c (set_program_name): Add more comments.
53225         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
53226
53227 2009-01-14  Simon Josefsson  <simon@josefsson.org>
53228
53229         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
53230         were sys/stat.h does not define it.
53231
53232 2009-01-14  Jim Meyering  <meyering@redhat.com>
53233
53234         many *.m4 files: improve m4 quoting
53235         99% of this change was performed by running the following commands:
53236         git ls-files | grep '\.m4$' | xargs perl -pi \
53237           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
53238           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
53239           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
53240           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
53241         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
53242         The remainder were to add Copyright dates, increment serial numbers,
53243         undo some changes in comments, exclude m4/intl.m4, and add quotes
53244         around the "1" in ",1" where the unusual spacing prohibited the
53245         above regexps from doing the job.  For more details, see
53246         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
53247         * m4/acl.m4: Modified.
53248         * m4/afs.m4: Likewise.
53249         * m4/alloca.m4: Likewise.
53250         * m4/argp.m4: Likewise.
53251         * m4/argz.m4: Likewise.
53252         * m4/atexit.m4: Likewise.
53253         * m4/bison-i18n.m4: Likewise.
53254         * m4/bison.m4: Likewise.
53255         * m4/byteswap.m4: Likewise.
53256         * m4/c-stack.m4: Likewise.
53257         * m4/c-strtod.m4: Likewise.
53258         * m4/calloc.m4: Likewise.
53259         * m4/canonicalize-lgpl.m4: Likewise.
53260         * m4/chown.m4: Likewise.
53261         * m4/clock_time.m4: Likewise.
53262         * m4/codeset.m4: Likewise.
53263         * m4/copy-file.m4: Likewise.
53264         * m4/csharp.m4: Likewise.
53265         * m4/csharpcomp.m4: Likewise.
53266         * m4/csharpexec.m4: Likewise.
53267         * m4/d-ino.m4: Likewise.
53268         * m4/d-type.m4: Likewise.
53269         * m4/dirfd.m4: Likewise.
53270         * m4/double-slash-root.m4: Likewise.
53271         * m4/eaccess.m4: Likewise.
53272         * m4/eealloc.m4: Likewise.
53273         * m4/environ.m4: Likewise.
53274         * m4/errno_h.m4: Likewise.
53275         * m4/euidaccess.m4: Likewise.
53276         * m4/execute.m4: Likewise.
53277         * m4/fatal-signal.m4: Likewise.
53278         * m4/fchdir.m4: Likewise.
53279         * m4/fcntl_h.m4: Likewise.
53280         * m4/fileblocks.m4: Likewise.
53281         * m4/filenamecat.m4: Likewise.
53282         * m4/findprog.m4: Likewise.
53283         * m4/flexmember.m4: Likewise.
53284         * m4/fnmatch.m4: Likewise.
53285         * m4/fopen.m4: Likewise.
53286         * m4/fpending.m4: Likewise.
53287         * m4/fprintf-posix.m4: Likewise.
53288         * m4/free.m4: Likewise.
53289         * m4/frexp.m4: Likewise.
53290         * m4/frexpl.m4: Likewise.
53291         * m4/fsusage.m4: Likewise.
53292         * m4/ftruncate.m4: Likewise.
53293         * m4/gc-camellia.m4: Likewise.
53294         * m4/gc-random.m4: Likewise.
53295         * m4/gc.m4: Likewise.
53296         * m4/getaddrinfo.m4: Likewise.
53297         * m4/getcwd-abort-bug.m4: Likewise.
53298         * m4/getcwd-path-max.m4: Likewise.
53299         * m4/getdate.m4: Likewise.
53300         * m4/getdomainname.m4: Likewise.
53301         * m4/getgroups.m4: Likewise.
53302         * m4/gethostname.m4: Likewise.
53303         * m4/gethrxtime.m4: Likewise.
53304         * m4/getline.m4: Likewise.
53305         * m4/getloadavg.m4: Likewise.
53306         * m4/getndelim2.m4: Likewise.
53307         * m4/getpass.m4: Likewise.
53308         * m4/gettext.m4: Likewise.
53309         * m4/gettime.m4: Likewise.
53310         * m4/gettimeofday.m4: Likewise.
53311         * m4/gnulib-common.m4: Likewise.
53312         * m4/group-member.m4: Likewise.
53313         * m4/host-os.m4: Likewise.
53314         * m4/iconv.m4: Likewise.
53315         * m4/iconv_open.m4: Likewise.
53316         * m4/inet_ntop.m4: Likewise.
53317         * m4/inet_pton.m4: Likewise.
53318         * m4/inline.m4: Likewise.
53319         * m4/intldir.m4: Likewise.
53320         * m4/intlmacosx.m4: Likewise.
53321         * m4/intmax.m4: Likewise.
53322         * m4/intmax_t.m4: Likewise.
53323         * m4/inttypes.m4: Likewise.
53324         * m4/inttypes_h.m4: Likewise.
53325         * m4/inttypes-pri.m4: Likewise.
53326         * m4/isapipe.m4: Likewise.
53327         * m4/isnand.m4: Likewise.
53328         * m4/isnanf.m4: Likewise.
53329         * m4/isnanl.m4: Likewise.
53330         * m4/javacomp.m4: Likewise.
53331         * m4/javaexec.m4: Likewise.
53332         * m4/jm-winsz1.m4: Likewise.
53333         * m4/jm-winsz2.m4: Likewise.
53334         * m4/lchown.m4: Likewise.
53335         * m4/lcmessage.m4: Likewise.
53336         * m4/ldexpl.m4: Likewise.
53337         * m4/lib-ld.m4: Likewise.
53338         * m4/lib-link.m4: Likewise.
53339         * m4/libsigsegv.m4: Likewise.
53340         * m4/link-follow.m4: Likewise.
53341         * m4/localcharset.m4: Likewise.
53342         * m4/locale-fr.m4: Likewise.
53343         * m4/locale-ja.m4: Likewise.
53344         * m4/locale-tr.m4: Likewise.
53345         * m4/locale-zh.m4: Likewise.
53346         * m4/lock.m4: Likewise.
53347         * m4/longlong.m4: Likewise.
53348         * m4/ls-mntd-fs.m4: Likewise.
53349         * m4/lstat.m4: Likewise.
53350         * m4/malloc.m4: Likewise.
53351         * m4/mathl.m4: Likewise.
53352         * m4/mbrtowc.m4: Likewise.
53353         * m4/mbstate_t.m4: Likewise.
53354         * m4/mbswidth.m4: Likewise.
53355         * m4/memchr.m4: Likewise.
53356         * m4/memcmp.m4: Likewise.
53357         * m4/memcpy.m4: Likewise.
53358         * m4/memmem.m4: Likewise.
53359         * m4/memmove.m4: Likewise.
53360         * m4/mempcpy.m4: Likewise.
53361         * m4/memrchr.m4: Likewise.
53362         * m4/memset.m4: Likewise.
53363         * m4/minmax.m4: Likewise.
53364         * m4/mkdir-slash.m4: Likewise.
53365         * m4/mkdtemp.m4: Likewise.
53366         * m4/mktime.m4: Likewise.
53367         * m4/mmap-anon.m4: Likewise.
53368         * m4/mountlist.m4: Likewise.
53369         * m4/nanosleep.m4: Likewise.
53370         * m4/nls.m4: Likewise.
53371         * m4/nocrash.m4: Likewise.
53372         * m4/open.m4: Likewise.
53373         * m4/openat.m4: Likewise.
53374         * m4/openmp.m4: Likewise.
53375         * m4/pathmax.m4: Likewise.
53376         * m4/perl.m4: Likewise.
53377         * m4/physmem.m4: Likewise.
53378         * m4/pipe.m4: Likewise.
53379         * m4/po.m4: Likewise.
53380         * m4/poll.m4: Likewise.
53381         * m4/posixtm.m4: Likewise.
53382         * m4/posixver.m4: Likewise.
53383         * m4/printf-frexp.m4: Likewise.
53384         * m4/printf-frexpl.m4: Likewise.
53385         * m4/printf-posix.m4: Likewise.
53386         * m4/printf-posix-rpl.m4: Likewise.
53387         * m4/printf.m4: Likewise.
53388         * m4/progtest.m4: Likewise.
53389         * m4/putenv.m4: Likewise.
53390         * m4/readline.m4: Likewise.
53391         * m4/readlink.m4: Likewise.
53392         * m4/readutmp.m4: Likewise.
53393         * m4/realloc.m4: Likewise.
53394         * m4/regex.m4: Likewise.
53395         * m4/relocatable.m4: Likewise.
53396         * m4/relocatable-lib.m4: Likewise.
53397         * m4/rename-dest-slash.m4: Likewise.
53398         * m4/rename.m4: Likewise.
53399         * m4/rmdir-errno.m4: Likewise.
53400         * m4/rmdir.m4: Likewise.
53401         * m4/roundf.m4: Likewise.
53402         * m4/roundl.m4: Likewise.
53403         * m4/rpmatch.m4: Likewise.
53404         * m4/save-cwd.m4: Likewise.
53405         * m4/selinux-selinux-h.m4: Likewise.
53406         * m4/setenv.m4: Likewise.
53407         * m4/settime.m4: Likewise.
53408         * m4/sig2str.m4: Likewise.
53409         * m4/sig_atomic_t.m4: Likewise.
53410         * m4/signalblocking.m4: Likewise.
53411         * m4/signbit.m4: Likewise.
53412         * m4/sigpipe.m4: Likewise.
53413         * m4/sockets.m4: Likewise.
53414         * m4/sockpfaf.m4: Likewise.
53415         * m4/st_dm_mode.m4: Likewise.
53416         * m4/stat-time.m4: Likewise.
53417         * m4/stdbool.m4: Likewise.
53418         * m4/stdint.m4: Likewise.
53419         * m4/stdint_h.m4: Likewise.
53420         * m4/stpcpy.m4: Likewise.
53421         * m4/stpncpy.m4: Likewise.
53422         * m4/strcase.m4: Likewise.
53423         * m4/strchrnul.m4: Likewise.
53424         * m4/strcspn.m4: Likewise.
53425         * m4/strdup.m4: Likewise.
53426         * m4/strftime.m4: Likewise.
53427         * m4/strndup.m4: Likewise.
53428         * m4/strnlen.m4: Likewise.
53429         * m4/strpbrk.m4: Likewise.
53430         * m4/strptime.m4: Likewise.
53431         * m4/strsep.m4: Likewise.
53432         * m4/strtod.m4: Likewise.
53433         * m4/strtoimax.m4: Likewise.
53434         * m4/strtok_r.m4: Likewise.
53435         * m4/strtol.m4: Likewise.
53436         * m4/strtoll.m4: Likewise.
53437         * m4/strtoul.m4: Likewise.
53438         * m4/strtoull.m4: Likewise.
53439         * m4/strtoumax.m4: Likewise.
53440         * m4/strverscmp.m4: Likewise.
53441         * m4/threadlib.m4: Likewise.
53442         * m4/timegm.m4: Likewise.
53443         * m4/tm_gmtoff.m4: Likewise.
53444         * m4/tmpdir.m4: Likewise.
53445         * m4/tmpfile.m4: Likewise.
53446         * m4/tzset.m4: Likewise.
53447         * m4/uintmax_t.m4: Likewise.
53448         * m4/unlinkdir.m4: Likewise.
53449         * m4/unlocked-io.m4: Likewise.
53450         * m4/uptime.m4: Likewise.
53451         * m4/userspec.m4: Likewise.
53452         * m4/utimbuf.m4: Likewise.
53453         * m4/utime.m4: Likewise.
53454         * m4/utimes-null.m4: Likewise.
53455         * m4/utimes.m4: Likewise.
53456         * m4/vararrays.m4: Likewise.
53457         * m4/vasnprintf.m4: Likewise.
53458         * m4/vfprintf-posix.m4: Likewise.
53459         * m4/vprintf-posix.m4: Likewise.
53460         * m4/wait-process.m4: Likewise.
53461         * m4/wchar_t.m4: Likewise.
53462         * m4/wint_t.m4: Likewise.
53463         * m4/write-any-file.m4: Likewise.
53464         * m4/yield.m4: Likewise.
53465
53466 2009-01-13  Bruno Haible  <bruno@clisp.org>
53467
53468         Avoid test-copy-file.sh failures when ACL support insufficient.
53469         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
53470         TESTS_ENVIRONMENT.
53471         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
53472         Reported by Jim Meyering.
53473
53474 2009-01-13  Bruno Haible  <bruno@clisp.org>
53475
53476         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
53477         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
53478         * modules/unistdio/u8-printf-parse (Files): Likewise.
53479         * modules/unistdio/u32-printf-parse (Files): Likewise.
53480         * modules/unistdio/ulc-printf-parse (Files): Likewise.
53481
53482 2009-01-13  Simon Josefsson  <simon@josefsson.org>
53483
53484         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
53485         and m4/inttypes_h.m4 too.
53486
53487 2009-01-12  Eric Blake  <ebb9@byu.net>
53488
53489         tests: IRIX 6.2 cc can't compile -0.0 into .data
53490         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
53491         rather than at compile-time.
53492         * tests/test-floorl.c (minus_zero): Likewise.
53493         * tests/test-frexpl.c (minus_zero): Likewise.
53494         * tests/test-isnan.c (minus_zerol): Likewise.
53495         * tests/test-isnanl.h (minus_zero): Likewise.
53496         * tests/test-ldexpl.c (minus_zero): Likewise.
53497         * tests/test-roundl.c (minus_zero): Likewise.
53498         * tests/test-signbit.c (minus_zerol): Likewise.
53499         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
53500         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
53501         * tests/test-truncl.c (minus_zero): Likewise.
53502         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
53503         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
53504         Reported by Tom G. Christensen and Nelson H. F. Beebe.
53505
53506 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
53507
53508         regex: fix glibc bug 9697
53509         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
53510         handling.
53511
53512 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
53513
53514         regex: fix glibc bug 697
53515         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
53516         being NULL also if there are no backreferences.
53517
53518 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
53519
53520         regex: merge glibc changes
53521         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
53522         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
53523         re_string_skip_chars, re_string_reconstruct): Likewise.
53524         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
53525
53526 2009-01-07  Jim Meyering  <meyering@redhat.com>
53527
53528         poll: filter through cppi
53529         * lib/poll.c: Indent cpp directives to reflect nesting.
53530
53531 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
53532
53533         poll: don't return uninitialized
53534         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
53535
53536 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
53537
53538         avoid compile failure on AIX 6.1
53539         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
53540         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
53541
53542 2009-01-04  Jim Meyering  <meyering@redhat.com>
53543
53544         remove duplicate inclusion of <stdio.h>
53545         * tests/test-fprintf-posix.c: Likewise.
53546         * tests/test-printf-posix.c: Likewise.
53547         * tests/test-snprintf-posix.c: Likewise.
53548         * tests/test-sprintf-posix.c: Likewise.
53549         * tests/test-vasprintf-posix.c: Likewise.
53550         * tests/test-vfprintf-posix.c: Likewise.
53551         * tests/test-vprintf-posix.c: Likewise.
53552         * tests/test-vsnprintf-posix.c: Likewise.
53553         * tests/test-vsprintf-posix.c: Likewise.
53554
53555 2009-01-03  Jim Meyering  <meyering@redhat.com>
53556
53557         gnulib-tool: fix sed-based filtering
53558         * gnulib-tool (func_filter_filelist): Remove extra backslash
53559         in sed_fff_filter definition.
53560
53561 2009-01-02  Jim Meyering  <meyering@redhat.com>
53562
53563         strftime: avoid compilation failure on Solaris 2.6
53564         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
53565         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
53566         Don't #define mbrlen or mbsinit, since now they're guaranteed to
53567         be available.  Reported by Tom G. Christensen.  Details in
53568         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
53569
53570 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53571             Bruno Haible  <bruno@clisp.org>
53572
53573         Speed up gnulib-tool by doing more string processing through shell
53574         built-ins.
53575         * gnulib-tool (fast_func_append): New variable.
53576         (func_remove_prefix, func_remove_suffix): New functions.
53577         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
53578         (func_filter_filelist): New function.
53579         (func_get_dependencies): Use func_remove_suffix instead of sed.
53580         (func_get_automake_snippet): Use func_filter_filelist instead of a
53581         subshell and sed invocation.
53582
53583 2009-01-01  Bruno Haible  <bruno@clisp.org>
53584
53585         Fix a security bug.
53586         * gnulib-tool (func_import, import, update): Don't allow the characters
53587         '"', '$', '`', '\' in macro arguments that become part of commands that
53588         are evaluated.
53589
53590 2009-01-01  Bruno Haible  <bruno@clisp.org>
53591
53592         * gnulib-tool (func_reset_sigpipe): Add more comments.
53593
53594 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53595
53596         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
53597         func_emit_tests_Makefile_am, func_import): Abort loops early if we
53598         already know the answer.
53599
53600 2009-01-01  Jim Meyering  <meyering@redhat.com>
53601
53602         * lib/version-etc.c (version_etc_va): Update copyright year.
53603
53604 2008-12-30  Bruno Haible  <bruno@clisp.org>
53605
53606         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
53607         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
53608         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
53609
53610 2008-12-29  Eric Blake  <ebb9@byu.net>
53611
53612         multiarch: avoid autoconf AC_REQUIRE bug
53613         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
53614         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
53615         2.63 and older.
53616         Reported by Bruno Haible, and analyzed in
53617         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
53618
53619 2008-12-29  Bruno Haible  <bruno@clisp.org>
53620
53621         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
53622         files in subdirectories correctly.
53623         Reported by Ralf Wildenhues.
53624
53625 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53626
53627         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
53628         rather than 'join FILE -', for Solaris join.
53629
53630 2008-12-29  Bruno Haible  <bruno@clisp.org>
53631
53632         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
53633         quoting.
53634         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
53635         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
53636         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
53637         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
53638         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
53639         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
53640         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
53641         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
53642         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
53643         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
53644         * m4/nls.m4 (AM_NLS): Likewise.
53645         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
53646         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
53647         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
53648         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
53649         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
53650         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
53651         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
53652         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
53653         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
53654         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
53655         * m4/xsize.m4 (gl_XSIZE): Likewise.
53656         Suggested by Jim Meyering.
53657
53658 2008-11-17  Bruce Korb  <bkorb@gnu.org>
53659
53660         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
53661         * lib/parse-duration.c: use a switch instead of cascading if's.
53662
53663 2008-12-29  Eric Blake  <ebb9@byu.net>
53664
53665         wchar.h: supply WEOF on Irix 5.3
53666         * lib/wchar.in.h (wint_t): Also supply WEOF.
53667         * lib/wctype.in.h (wint_t): Likewise.
53668         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
53669         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
53670         Reported by Tom G. Christensen.
53671
53672 2008-12-26  Bruno Haible  <bruno@clisp.org>
53673
53674         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
53675         i486, i586, i686.
53676
53677 2008-12-26  Bruno Haible  <bruno@clisp.org>
53678
53679         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
53680
53681 2008-12-26  Bruno Haible  <bruno@clisp.org>
53682
53683         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
53684         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
53685         not __STDC_CONSTANT_MACROS.
53686         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
53687
53688 2008-12-25  Bruno Haible  <bruno@clisp.org>
53689
53690         Add support for universal builds to vasnprintf.
53691         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
53692         universal builds, guess no.
53693         * modules/vasnprintf-posix (Depends-on): Add multiarch.
53694         * modules/vasprintf-posix (Depends-on): Likewise.
53695         * modules/fprintf-posix (Depends-on): Likewise.
53696         * modules/vfprintf-posix (Depends-on): Likewise.
53697         * modules/snprintf-posix (Depends-on): Likewise.
53698         * modules/vsnprintf-posix (Depends-on): Likewise.
53699         * modules/sprintf-posix (Depends-on): Likewise.
53700         * modules/vsprintf-posix (Depends-on): Likewise.
53701         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53702         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53703         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53704         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53705         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53706         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53707         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53708
53709         Add support for universal builds to <inttypes.h>.
53710         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
53711         _SCNu64_PREFIX): In Apple
53712         universal builds, define directly, using _LP64.
53713         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
53714         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
53715         * modules/inttypes (Depends-on): Add multiarch.
53716         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
53717
53718         Add support for universal builds to <stdint.h>.
53719         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
53720         universal builds, define directly, using _LP64.
53721         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
53722         Apple universal builds, don't test for the size and suffix of ptrdiff_t
53723         and size_t.
53724         * modules/stdint (Depends-on): Add multiarch.
53725         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
53726
53727         New module 'multiarch'.
53728         * modules/multiarch: New file.
53729         * m4/multiarch.m4: New file.
53730
53731 2008-12-25  Bruno Haible  <bruno@clisp.org>
53732
53733         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
53734
53735 2008-12-25  Bruno Haible  <bruno@clisp.org>
53736
53737         * modules/btowc (License): Relicense under LGPLv2+.
53738         * modules/mbsinit (License): Likewise.
53739         * modules/mbrtowc (License): Likewise.
53740         * modules/wcrtomb (License): Likewise.
53741         * modules/streq (License): Likewise.
53742         Reported by David Lutterkort <lutter@redhat.com>.
53743
53744 2008-12-23  Bruno Haible  <bruno@clisp.org>
53745
53746         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
53747
53748 2008-12-23  Bruno Haible  <bruno@clisp.org>
53749
53750         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
53751         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
53752         GETADDRINFO_LIB, not in LIBS.
53753         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
53754         * modules/canon-host (Link): Likewise.
53755         * NEWS: Mention the change.
53756         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
53757         GETADDRINFO_LIB.
53758
53759 2008-12-22  Bruno Haible  <bruno@clisp.org>
53760
53761         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
53762         * doc/posix-functions/iswalpha_l.texi: Likewise.
53763         * doc/posix-functions/iswblank_l.texi: Likewise.
53764         * doc/posix-functions/iswcntrl_l.texi: Likewise.
53765         * doc/posix-functions/iswctype_l.texi: Likewise.
53766         * doc/posix-functions/iswdigit_l.texi: Likewise.
53767         * doc/posix-functions/iswgraph_l.texi: Likewise.
53768         * doc/posix-functions/iswlower_l.texi: Likewise.
53769         * doc/posix-functions/iswprint_l.texi: Likewise.
53770         * doc/posix-functions/iswpunct_l.texi: Likewise.
53771         * doc/posix-functions/iswspace_l.texi: Likewise.
53772         * doc/posix-functions/iswupper_l.texi: Likewise.
53773         * doc/posix-functions/iswxdigit_l.texi: Likewise.
53774         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
53775         * doc/posix-functions/open_wmemstream.texi: Likewise.
53776         * doc/posix-functions/swscanf.texi: Likewise.
53777         * doc/posix-functions/towctrans_l.texi: Likewise.
53778         * doc/posix-functions/towlower.texi: Likewise.
53779         * doc/posix-functions/towlower_l.texi: Likewise.
53780         * doc/posix-functions/towupper.texi: Likewise.
53781         * doc/posix-functions/towupper_l.texi: Likewise.
53782         * doc/posix-functions/vfwprintf.texi: Likewise.
53783         * doc/posix-functions/vfwscanf.texi: Likewise.
53784         * doc/posix-functions/vswscanf.texi: Likewise.
53785         * doc/posix-functions/vwprintf.texi: Likewise.
53786         * doc/posix-functions/vwscanf.texi: Likewise.
53787         * doc/posix-functions/wcpcpy.texi: Likewise.
53788         * doc/posix-functions/wcpncpy.texi: Likewise.
53789         * doc/posix-functions/wcscasecmp.texi: Likewise.
53790         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
53791         * doc/posix-functions/wcscoll_l.texi: Likewise.
53792         * doc/posix-functions/wcsdup.texi: Likewise.
53793         * doc/posix-functions/wcsncasecmp.texi: Likewise.
53794         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
53795         * doc/posix-functions/wcsnlen.texi: Likewise.
53796         * doc/posix-functions/wcsnrtombs.texi: Likewise.
53797         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
53798         * doc/posix-functions/wctrans_l.texi: Likewise.
53799         * doc/posix-functions/wctype_l.texi: Likewise.
53800         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
53801         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
53802         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
53803         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
53804         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
53805         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
53806         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
53807         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
53808         * doc/glibc-functions/wcschrnul.texi: Likewise.
53809         * doc/glibc-functions/wcsftime_l.texi: Likewise.
53810         * doc/glibc-functions/wcstod_l.texi: Likewise.
53811         * doc/glibc-functions/wcstof_l.texi: Likewise.
53812         * doc/glibc-functions/wcstol_l.texi: Likewise.
53813         * doc/glibc-functions/wcstold_l.texi: Likewise.
53814         * doc/glibc-functions/wcstoll_l.texi: Likewise.
53815         * doc/glibc-functions/wcstoq.texi: Likewise.
53816         * doc/glibc-functions/wcstoul_l.texi: Likewise.
53817         * doc/glibc-functions/wcstoull_l.texi: Likewise.
53818         * doc/glibc-functions/wcstouq.texi: Likewise.
53819         * doc/glibc-functions/wmempcpy.texi: Likewise.
53820
53821 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
53822             Eric Blake  <ebb9@byu.net>
53823             Paolo Bonzini  <bonzini@gnu.org>
53824             Bruno Haible  <bruno@clisp.org>
53825
53826         Make c-stack work on Haiku.
53827         * lib/c-stack.c (SA_ONSTACK): Define fallback.
53828         (c_stack_action): Use SA_ONSTACK flag.
53829
53830 2008-12-22  Bruno Haible  <bruno@clisp.org>
53831
53832         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
53833
53834 2008-12-22  Bruno Haible  <bruno@clisp.org>
53835
53836         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
53837         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
53838         being overridden.
53839         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
53840         New macros.
53841         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
53842         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
53843         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
53844         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
53845
53846 2008-12-22  Bruno Haible  <bruno@clisp.org>
53847
53848         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
53849         from test code.
53850
53851 2008-12-22  Eric Blake  <ebb9@byu.net>
53852
53853         Avoid gcc warnings on cygwin.
53854         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
53855         Avoid unused variable.
53856         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
53857         Likewise.
53858
53859 2008-12-22  Bruno Haible  <bruno@clisp.org>
53860
53861         Remove HAVE_MBRTOWC conditionals.
53862         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
53863         (mbscasecmp): Assume mbrtowc function.
53864         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
53865         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
53866         * lib/mbschr.c: Include mbuiter.h unconditionally.
53867         (mbschr): Assume mbrtowc function.
53868         * lib/mbscspn.c: Include mbuiter.h unconditionally.
53869         (mbscspn): Assume mbrtowc function.
53870         * lib/mbslen.c: Include mbuiter.h unconditionally.
53871         (mbslen): Assume mbrtowc function.
53872         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
53873         (mbsncasecmp): Assume mbrtowc function.
53874         * lib/mbsnlen.c: Include mbiter.h unconditionally.
53875         (mbsnlen): Assume mbrtowc function.
53876         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
53877         (mbspbrk): Assume mbrtowc function.
53878         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
53879         (mbspcasecmp): Assume mbrtowc function.
53880         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
53881         (mbsrchr): Assume mbrtowc function.
53882         * lib/mbssep.c: Include mbuiter.h unconditionally.
53883         (mbssep): Assume mbrtowc function.
53884         * lib/mbsspn.c: Include mbuiter.h unconditionally.
53885         (mbsspn): Assume mbrtowc function.
53886         * lib/mbsstr.c: Include mbuiter.h unconditionally.
53887         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
53888         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
53889         (mbstok_r): Assume mbrtowc function.
53890         * lib/propername.c: Include mbuiter.h unconditionally.
53891         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
53892         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
53893         (trim2): Assume mbrtowc function.
53894         * lib/mbswidth.c (mbsinit): Remove fallback definition.
53895         (mbsnwidth): Assume mbrtowc function.
53896         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
53897         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
53898         fallback definitions.
53899         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
53900
53901 2008-12-22  Bruno Haible  <bruno@clisp.org>
53902
53903         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
53904
53905 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
53906
53907         * modules/regex: Request emulations for the mb*/wc* functions we need.
53908         * m4/regex.m4: Don't look for those functions here.
53909         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
53910
53911 2008-12-22  Bruno Haible  <bruno@clisp.org>
53912
53913         * modules/fnmatch (Depends-on): Remove duplicated dependency.
53914
53915 2008-12-21  Bruno Haible  <bruno@clisp.org>
53916
53917         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
53918         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
53919         (Include): Remove conditionalization.
53920         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
53921         (Include): Remove conditionalization.
53922         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
53923         (Include): Remove conditionalization.
53924         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
53925         * m4/mbfile.m4 (gl_MBFILE): Likewise.
53926         * NEWS: Mention the change.
53927         Reported by Alan Hourihane <alanh@fairlite.co.uk>
53928         via Sergey Poznyakoff <gray@gnu.org.ua>.
53929
53930 2008-12-21  Bruno Haible  <bruno@clisp.org>
53931
53932         * MODULES.html.sh (Extended multibyte and wide character utilities
53933         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
53934         wcrtomb, wcsrtombs.
53935         (Support for systems lacking POSIX:2008): Add accept, bind, close,
53936         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
53937         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
53938         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
53939
53940 2008-12-21  Bruno Haible  <bruno@clisp.org>
53941
53942         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
53943
53944 2008-12-21  Bruno Haible  <bruno@clisp.org>
53945
53946         * modules/wcsnrtombs-tests: New file.
53947         * tests/test-wcsnrtombs1.sh: New file.
53948         * tests/test-wcsnrtombs2.sh: New file.
53949         * tests/test-wcsnrtombs3.sh: New file.
53950         * tests/test-wcsnrtombs4.sh: New file.
53951         * tests/test-wcsnrtombs.c: New file.
53952
53953         New module 'wcsnrtombs'.
53954         * lib/wchar.in.h (wcsnrtombs): New declaration.
53955         * lib/wcsnrtombs.c: New file.
53956         * lib/wcsrtombs-state.c: New file.
53957         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
53958         (internal_state): Remove variable.
53959         * m4/wcsnrtombs.m4: New file.
53960         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
53961         compilation units.
53962         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
53963         HAVE_WCSNRTOMBS.
53964         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
53965         HAVE_WCSNRTOMBS.
53966         * modules/wcsnrtombs: New file.
53967         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
53968         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
53969
53970 2008-12-21  Bruno Haible  <bruno@clisp.org>
53971
53972         * modules/wcsrtombs-tests: New file.
53973         * tests/test-wcsrtombs1.sh: New file.
53974         * tests/test-wcsrtombs2.sh: New file.
53975         * tests/test-wcsrtombs3.sh: New file.
53976         * tests/test-wcsrtombs4.sh: New file.
53977         * tests/test-wcsrtombs.c: New file.
53978
53979         New module 'wcsrtombs'.
53980         * lib/wchar.in.h (wcsrtombs): New declaration.
53981         * lib/wcsrtombs.c: New file.
53982         * m4/wcsrtombs.m4: New file.
53983         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
53984         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53985         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
53986         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53987         * modules/wcsrtombs: New file.
53988         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
53989         bugs.
53990
53991 2008-12-21  Bruno Haible  <bruno@clisp.org>
53992
53993         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
53994         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
53995         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
53996         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
53997         if not correct.
53998         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
53999         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
54000         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
54001         m4/locale-zh.m4, m4/codeset.m4.
54002         * doc/posix-functions/wcrtomb.texi: Document the bug.
54003
54004 2008-12-21  Bruno Haible  <bruno@clisp.org>
54005
54006         Work around a btowc() bug on IRIX 6.5.
54007         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
54008         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
54009         REPLACE_WTOBC if not.
54010         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
54011         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
54012         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
54013
54014 2008-12-21  Bruno Haible  <bruno@clisp.org>
54015
54016         * modules/wcrtomb-tests: New file.
54017         * tests/test-wcrtomb.sh: New file.
54018         * tests/test-wcrtomb.c: New file.
54019
54020         New module 'wcrtomb'.
54021         * lib/wchar.in.h (wcrtomb): New declaration.
54022         * lib/wcrtomb.c: New file.
54023         * m4/wcrtomb.m4: New file.
54024         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
54025         HAVE_WCRTOMB.
54026         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
54027         HAVE_WCRTOMB.
54028         * modules/wcrtomb: New file.
54029         * doc/posix-functions/wcrtomb.texi: Mention the new module.
54030
54031 2008-12-21  Bruno Haible  <bruno@clisp.org>
54032
54033         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
54034         * modules/mbsrtowcs (Files): Likewise.
54035         * modules/wctob (Files): Likewise.
54036         * modules/c-strcase-tests (Files): Likewise.
54037         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
54038         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
54039         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
54040         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
54041         * modules/vasnprintf-posix-tests (Files): Likewise.
54042
54043 2008-12-21  William Pursell  <bill.pursell@gmail.com>
54044
54045         gitlog-to-changelog: pass all command-line arguments to git-log
54046         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
54047         it is sometimes convenient to filter the commits in various ways.
54048         gitlog-to-changelog only allows --since to specify a start date,
54049         but git-log itself supports many other filtering mechanisms.
54050         At the moment, I want to filter by branch name.  Rather than
54051         adding a --branch option to gitlog-to-changelog, it seems more
54052         flexible to simply pass all options directly to git-log and let
54053         git do the work.  Notice that this effectively makes --since a
54054         redundant option for gitlog-to-changelog, but removing it would
54055         require current usage to change since calls would then require
54056         an additional '--'.
54057
54058 2008-12-21  Bruno Haible  <bruno@clisp.org>
54059
54060         * modules/mbsnrtowcs-tests: New file.
54061         * tests/test-mbsnrtowcs1.sh: New file.
54062         * tests/test-mbsnrtowcs2.sh: New file.
54063         * tests/test-mbsnrtowcs3.sh: New file.
54064         * tests/test-mbsnrtowcs4.sh: New file.
54065         * tests/test-mbsnrtowcs.c: New file.
54066
54067         New module 'mbsnrtowcs'.
54068         * lib/wchar.in.h (mbsnrtowcs): New declaration.
54069         * lib/mbsnrtowcs.c: New file.
54070         * lib/mbsrtowcs-state.c: New file.
54071         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
54072         (internal_state): Remove variable.
54073         * m4/mbsnrtowcs.m4: New file.
54074         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
54075         compilation units.
54076         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
54077         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
54078         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
54079         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
54080         * modules/mbsnrtowcs: New file.
54081         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
54082         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
54083         portability problem.
54084
54085 2008-12-21  Bruno Haible  <bruno@clisp.org>
54086
54087         Work around mbsrtowcs bug.
54088         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
54089         (gl_FUNC_MBSRTOWCS): Invoke it.
54090         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
54091         m4/locale-zh.m4.
54092         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
54093
54094 2008-12-21  Bruno Haible  <bruno@clisp.org>
54095
54096         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
54097
54098 2008-12-21  Bruno Haible  <bruno@clisp.org>
54099
54100         Update doc for AIX.
54101         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
54102         16-bit wchar_t type.
54103         * doc/posix-functions/btowc.texi: Likewise.
54104         * doc/posix-functions/fgetwc.texi: Likewise.
54105         * doc/posix-functions/fgetws.texi: Likewise.
54106         * doc/posix-functions/fputwc.texi: Likewise.
54107         * doc/posix-functions/fputws.texi: Likewise.
54108         * doc/posix-functions/fwide.texi: Likewise.
54109         * doc/posix-functions/fwprintf.texi: Likewise.
54110         * doc/posix-functions/fwscanf.texi: Likewise.
54111         * doc/posix-functions/getwchar.texi: Likewise.
54112         * doc/posix-functions/getwc.texi: Likewise.
54113         * doc/posix-functions/iswalnum.texi: Likewise.
54114         * doc/posix-functions/iswalpha.texi: Likewise.
54115         * doc/posix-functions/iswblank.texi: Likewise.
54116         * doc/posix-functions/iswcntrl.texi: Likewise.
54117         * doc/posix-functions/iswctype.texi: Likewise.
54118         * doc/posix-functions/iswdigit.texi: Likewise.
54119         * doc/posix-functions/iswgraph.texi: Likewise.
54120         * doc/posix-functions/iswlower.texi: Likewise.
54121         * doc/posix-functions/iswprint.texi: Likewise.
54122         * doc/posix-functions/iswpunct.texi: Likewise.
54123         * doc/posix-functions/iswspace.texi: Likewise.
54124         * doc/posix-functions/iswupper.texi: Likewise.
54125         * doc/posix-functions/iswxdigit.texi: Likewise.
54126         * doc/posix-functions/mbrtowc.texi: Likewise.
54127         * doc/posix-functions/mbsrtowcs.texi: Likewise.
54128         * doc/posix-functions/mbstowcs.texi: Likewise.
54129         * doc/posix-functions/mbtowc.texi: Likewise.
54130         * doc/posix-functions/putwchar.texi: Likewise.
54131         * doc/posix-functions/putwc.texi: Likewise.
54132         * doc/posix-functions/swprintf.texi: Likewise.
54133         * doc/posix-functions/tolower.texi: Likewise.
54134         * doc/posix-functions/toupper.texi: Likewise.
54135         * doc/posix-functions/towctrans.texi: Likewise.
54136         * doc/posix-functions/ungetwc.texi: Likewise.
54137         * doc/posix-functions/vswprintf.texi: Likewise.
54138         * doc/posix-functions/wcrtomb.texi: Likewise.
54139         * doc/posix-functions/wcscat.texi: Likewise.
54140         * doc/posix-functions/wcschr.texi: Likewise.
54141         * doc/posix-functions/wcscmp.texi: Likewise.
54142         * doc/posix-functions/wcscoll.texi: Likewise.
54143         * doc/posix-functions/wcscpy.texi: Likewise.
54144         * doc/posix-functions/wcscspn.texi: Likewise.
54145         * doc/posix-functions/wcsftime.texi: Likewise.
54146         * doc/posix-functions/wcslen.texi: Likewise.
54147         * doc/posix-functions/wcsncat.texi: Likewise.
54148         * doc/posix-functions/wcsncmp.texi: Likewise.
54149         * doc/posix-functions/wcsncpy.texi: Likewise.
54150         * doc/posix-functions/wcspbrk.texi: Likewise.
54151         * doc/posix-functions/wcsrchr.texi: Likewise.
54152         * doc/posix-functions/wcsrtombs.texi: Likewise.
54153         * doc/posix-functions/wcsspn.texi: Likewise.
54154         * doc/posix-functions/wcsstr.texi: Likewise.
54155         * doc/posix-functions/wcstod.texi: Likewise.
54156         * doc/posix-functions/wcstof.texi: Likewise.
54157         * doc/posix-functions/wcstoimax.texi: Likewise.
54158         * doc/posix-functions/wcstok.texi: Likewise.
54159         * doc/posix-functions/wcstold.texi: Likewise.
54160         * doc/posix-functions/wcstoll.texi: Likewise.
54161         * doc/posix-functions/wcstol.texi: Likewise.
54162         * doc/posix-functions/wcstombs.texi: Likewise.
54163         * doc/posix-functions/wcstoull.texi: Likewise.
54164         * doc/posix-functions/wcstoul.texi: Likewise.
54165         * doc/posix-functions/wcstoumax.texi: Likewise.
54166         * doc/posix-functions/wcswidth.texi: Likewise.
54167         * doc/posix-functions/wcsxfrm.texi: Likewise.
54168         * doc/posix-functions/wctob.texi: Likewise.
54169         * doc/posix-functions/wctomb.texi: Likewise.
54170         * doc/posix-functions/wctrans.texi: Likewise.
54171         * doc/posix-functions/wctype.texi: Likewise.
54172         * doc/posix-functions/wcwidth.texi: Likewise.
54173         * doc/posix-functions/wmemchr.texi: Likewise.
54174         * doc/posix-functions/wmemcmp.texi: Likewise.
54175         * doc/posix-functions/wmemcpy.texi: Likewise.
54176         * doc/posix-functions/wmemmove.texi: Likewise.
54177         * doc/posix-functions/wmemset.texi: Likewise.
54178         * doc/posix-functions/wprintf.texi: Likewise.
54179         * doc/posix-functions/wscanf.texi: Likewise.
54180
54181 2008-12-21  Bruno Haible  <bruno@clisp.org>
54182
54183         Update doc for HP-UX 11.11.
54184         * doc/posix-functions/btowc.texi: Clarify that the function is missing
54185         in HP-UX version 11.00, not in all versions of HP-UX 11.
54186         * doc/posix-functions/fwide.texi: Likewise.
54187         * doc/posix-functions/fwprintf.texi: Likewise.
54188         * doc/posix-functions/fwscanf.texi: Likewise.
54189         * doc/posix-functions/inet_ntop.texi: Likewise.
54190         * doc/posix-functions/inet_pton.texi: Likewise.
54191         * doc/posix-functions/mbrlen.texi: Likewise.
54192         * doc/posix-functions/mbrtowc.texi: Likewise.
54193         * doc/posix-functions/mbsinit.texi: Likewise.
54194         * doc/posix-functions/mbsrtowcs.texi: Likewise.
54195         * doc/posix-functions/swprintf.texi: Likewise.
54196         * doc/posix-functions/swscanf.texi: Likewise.
54197         * doc/posix-functions/towctrans.texi: Likewise.
54198         * doc/posix-functions/vfwprintf.texi: Likewise.
54199         * doc/posix-functions/vswprintf.texi: Likewise.
54200         * doc/posix-functions/vwprintf.texi: Likewise.
54201         * doc/posix-functions/wcrtomb.texi: Likewise.
54202         * doc/posix-functions/wcsrtombs.texi: Likewise.
54203         * doc/posix-functions/wcsstr.texi: Likewise.
54204         * doc/posix-functions/wctob.texi: Likewise.
54205         * doc/posix-functions/wctrans.texi: Likewise.
54206         * doc/posix-functions/wmemchr.texi: Likewise.
54207         * doc/posix-functions/wmemcmp.texi: Likewise.
54208         * doc/posix-functions/wmemcpy.texi: Likewise.
54209         * doc/posix-functions/wmemmove.texi: Likewise.
54210         * doc/posix-functions/wmemset.texi: Likewise.
54211         * doc/posix-functions/wprintf.texi: Likewise.
54212         * doc/posix-functions/wscanf.texi: Likewise.
54213
54214 2008-12-21  Bruno Haible  <bruno@clisp.org>
54215
54216         Work around a portability problem.
54217         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
54218         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
54219
54220 2008-12-20  Bruno Haible  <bruno@clisp.org>
54221
54222         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
54223         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
54224         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
54225         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
54226         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
54227
54228         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
54229         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
54230         set.
54231         (GNULIB_defined_mbstate_t): New macro.
54232         (mbsinit): Redefine if REPLACE_MBSINIT is set.
54233         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
54234         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
54235         reuses the system's mbrtowc function but works around the bugs.
54236         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
54237         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
54238         macros.
54239         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
54240         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
54241         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
54242         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
54243         REPLACE_MBSINIT if mbsinit needs to be overridden.
54244         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
54245         REPLACE_MBSINIT, REPLACE_MBRTOWC.
54246         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
54247         REPLACE_MBSINIT, REPLACE_MBRTOWC.
54248         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
54249         m4/locale-zh.m4.
54250         (Depends): Add mbsinit.
54251         * modules/mbsinit (Depends): Add mbrtowc.
54252         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
54253
54254 2008-12-20  Bruno Haible  <bruno@clisp.org>
54255
54256         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
54257         so that there are no conversion errors on AIX.
54258         * tests/test-mbsrtowcs.c (main): LIkewise.
54259
54260 2008-12-20  Bruno Haible  <bruno@clisp.org>
54261
54262         Work around wctob bug on Solaris <= 9.
54263         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
54264         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
54265         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
54266         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
54267         * modules/wctob (Files): Add m4/locale-fr.m4.
54268         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
54269
54270 2008-12-20  Bruno Haible  <bruno@clisp.org>
54271
54272         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
54273         /dev/null.
54274         * tests/test-select-in.sh: Likewise.
54275         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54276
54277 2008-12-20  Bruno Haible  <bruno@clisp.org>
54278
54279         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
54280         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
54281         Cygwin 1.5.x.
54282
54283 2008-12-20  Bruno Haible  <bruno@clisp.org>
54284
54285         Ensure mbstate_t is defined on HP-UX 11.11.
54286         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
54287         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
54288         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
54289         AC_USE_SYSTEM_EXTENSIONS.
54290         * modules/fnmatch (Depends-on): Add extensions.
54291         * modules/mbrlen (Depends-on): Likewise.
54292         * modules/mbrtowc (Depends-on): Likewise.
54293         * modules/mbsinit (Depends-on): Likewise.
54294         * modules/mbsrtowcs (Depends-on): Likewise.
54295         * modules/mbswidth (Depends-on): Likewise.
54296         * modules/quotearg (Depends-on): Likewise.
54297         * modules/strftime (Depends-on): Likewise.
54298
54299 2008-12-20  Bruno Haible  <bruno@clisp.org>
54300
54301         Ensure wctob is declared on IRIX 6.5.
54302         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
54303         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
54304         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
54305         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
54306         of HAVE_WCTOB.
54307         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
54308         HAVE_WCTOB.
54309         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
54310
54311 2008-12-19  Bruno Haible  <bruno@clisp.org>
54312
54313         * modules/mbsrtowcs-tests: New file.
54314         * tests/test-mbsrtowcs1.sh: New file.
54315         * tests/test-mbsrtowcs2.sh: New file.
54316         * tests/test-mbsrtowcs3.sh: New file.
54317         * tests/test-mbsrtowcs4.sh: New file.
54318         * tests/test-mbsrtowcs.c: New file.
54319
54320         New module 'mbsrtowcs'.
54321         * lib/wchar.in.h (mbsrtowcs): New declaration.
54322         * lib/mbsrtowcs.c: New file.
54323         * m4/mbsrtowcs.m4: New file.
54324         * modules/mbsrtowcs: New file.
54325         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
54326         HAVE_MBSRTOWCS.
54327         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
54328         HAVE_MBSRTOWCS.
54329         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
54330
54331 2008-12-19  Bruno Haible  <bruno@clisp.org>
54332
54333         New module 'mbrlen'.
54334         * lib/wchar.in.h (mbrlen): New declaration.
54335         * lib/mbrlen.c: New file.
54336         * m4/mbrlen.m4: New file.
54337         * modules/mbrlen: New file.
54338         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
54339         HAVE_MBRLEN.
54340         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
54341         HAVE_MBRLEN.
54342         * doc/posix-functions/mbrlen.texi: Document the new module.
54343
54344 2008-12-19  Bruno Haible  <bruno@clisp.org>
54345
54346         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
54347         * modules/mbrtowc (Depends-on): Add verify.
54348         Suggested by Paul Eggert.
54349
54350 2008-12-18  Bruno Haible  <bruno@clisp.org>
54351
54352         * modules/mbsinit-tests: New file.
54353         * tests/test-mbsinit.sh: New file.
54354         * tests/test-mbsinit.c: New file.
54355
54356 2008-12-18  Bruno Haible  <bruno@clisp.org>
54357
54358         * modules/mbrtowc-tests: New file.
54359         * tests/test-mbrtowc1.sh: New file.
54360         * tests/test-mbrtowc2.sh: New file.
54361         * tests/test-mbrtowc3.sh: New file.
54362         * tests/test-mbrtowc4.sh: New file.
54363         * tests/test-mbrtowc.c: New file.
54364
54365         New module 'mbrtowc'.
54366         * lib/wchar.in.h (mbstate_t): Override when the system does not have
54367         mbsinit and mbrtowc.
54368         (mbrtowc): New declaration.
54369         * lib/mbrtowc.c: New file.
54370         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
54371         * modules/mbrtowc: New file.
54372         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
54373         HAVE_MBRTOWC.
54374         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
54375         HAVE_MBRTOWC.
54376         * doc/posix-functions/mbrtowc.texi: Document the new module.
54377
54378 2008-12-18  Bruno Haible  <bruno@clisp.org>
54379
54380         New module 'wctob'.
54381         * lib/wchar.in.h (wctob): New declaration.
54382         * lib/wctob.c: New file.
54383         * m4/wctob.m4: New file.
54384         * modules/wctob: New file.
54385         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
54386         HAVE_WCTOB.
54387         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
54388         * doc/posix-functions/wctob.texi: Document the new module.
54389
54390 2008-12-18  Bruno Haible  <bruno@clisp.org>
54391
54392         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
54393         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
54394
54395 2008-12-18  Simon Josefsson  <simon@josefsson.org>
54396
54397         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
54398         G. Christensen" <tgc@jupiterrise.com>.
54399
54400         * lib/flock.c: Need to include errno.h.  Reported by "Tom
54401         G. Christensen" <tgc@jupiterrise.com>.
54402
54403         * lib/flock.c: Need to include string.h.  Reported by "Tom
54404         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
54405         <ebb9@byu.net>.
54406
54407 2008-12-18  Bruno Haible  <bruno@clisp.org>
54408
54409         * m4/locale-ja.m4: New file, from GNU gettext.
54410
54411 2008-12-17  Bruno Haible  <bruno@clisp.org>
54412
54413         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
54414         Suggested by Eric Blake.
54415
54416 2008-12-17  Bruno Haible  <bruno@clisp.org>
54417
54418         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
54419
54420 2008-12-17  Bruno Haible  <bruno@clisp.org>
54421
54422         * lib/mbsinit.c: Include verify.h. Verify an assumption.
54423         * modules/mbsinit (Depends-on): Add verify.
54424         Suggested by Paul Eggert.
54425
54426 2008-12-17  Bruno Haible  <bruno@clisp.org>
54427
54428         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
54429         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
54430         gl_FUNC_MBRTOWC.
54431         * m4/mbiter.m4 (gl_MBITER): LIkewise.
54432         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
54433         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
54434         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
54435         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
54436         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
54437         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
54438         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
54439         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
54440         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
54441         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
54442         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
54443         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
54444         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
54445         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
54446         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
54447         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
54448         * modules/trim (configure.ac): Likewise.
54449
54450 2008-12-17  Bruno Haible  <bruno@clisp.org>
54451
54452         * modules/btowc-tests: New file.
54453         * tests/test-btowc1.sh: New file.
54454         * tests/test-btowc2.sh: New file.
54455         * tests/test-btowc.c: New file.
54456
54457         New module 'btowc'.
54458         * lib/wchar.in.h (btowc): New declaration.
54459         * lib/btowc.c: New file.
54460         * m4/btowc.m4: New file.
54461         * modules/btowc: New file.
54462         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
54463         HAVE_BTOWC.
54464         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
54465         * doc/posix-functions/btowc.texi: Document the new module.
54466
54467 2008-12-17  Bruno Haible  <bruno@clisp.org>
54468
54469         New module 'mbsinit'.
54470         * lib/wchar.in.h (mbsinit): New declaration.
54471         * lib/mbsinit.c: New file.
54472         * m4/mbsinit.m4: New file.
54473         * modules/mbsinit: New file.
54474         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
54475         HAVE_MBSINIT.
54476         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
54477         HAVE_MBSINIT.
54478         * doc/posix-functions/mbsinit.texi: Document the new module.
54479
54480 2008-12-16  Bruno Haible  <bruno@clisp.org>
54481
54482         * lib/unistd.in.h: Add comment.
54483         * tests/test-environ.c: Don't include <stdlib.h>.
54484
54485 2008-12-16  Bruno Haible  <bruno@clisp.org>
54486
54487         * lib/parse-duration.h (parse_duration): Document return value
54488         convention.
54489         * lib/parse-duration.c: Include specification header first. Add
54490         comments.
54491         (_): Remove macro.
54492         (parse_year_month_day, parse_hour_minute_second): Move side effects
54493         outside of strchr call.
54494         (parse_non_iso8601): Move side effects outside of isspace call.
54495         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
54496         call.
54497
54498 2008-12-16  Bruno Haible  <bruno@clisp.org>
54499
54500         * tests/test-parse-duration.sh: Produce no output when the test
54501         succeeds.
54502
54503 2008-12-16  Bruno Haible  <bruno@clisp.org>
54504
54505         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
54506         expressions.
54507
54508 2008-12-15  Bruno Haible  <bruno@clisp.org>
54509
54510         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
54511         * doc/glibc-functions/flistxattr.texi: Likewise.
54512         * doc/glibc-functions/fopencookie.texi: Likewise.
54513         * doc/glibc-functions/fremovexattr.texi: Likewise.
54514         * doc/glibc-functions/fsetxattr.texi: Likewise.
54515         * doc/glibc-functions/getxattr.texi: Likewise.
54516         * doc/glibc-functions/lgetxattr.texi: Likewise.
54517         * doc/glibc-functions/listxattr.texi: Likewise.
54518         * doc/glibc-functions/llistxattr.texi: Likewise.
54519         * doc/glibc-functions/lremovexattr.texi: Likewise.
54520         * doc/glibc-functions/lsetxattr.texi: Likewise.
54521         * doc/glibc-functions/removexattr.texi: Likewise.
54522         * doc/glibc-functions/setxattr.texi: Likewise.
54523         * doc/posix-functions/open_memstream.texi: Likewise.
54524
54525 2008-12-15  Eric Blake  <ebb9@byu.net>
54526
54527         Update doc for cygwin 1.7.
54528         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
54529         functions.
54530         * doc/posix-functions/fchmodat.texi: Likewise.
54531         * doc/posix-functions/fchownat.texi: Likewise.
54532         * doc/posix-functions/fdopendir.texi: Likewise.
54533         * doc/posix-functions/fmemopen.texi: Likewise.
54534         * doc/posix-functions/freeaddrinfo.texi: Likewise.
54535         * doc/posix-functions/fstatat.texi: Likewise.
54536         * doc/posix-functions/futimens.texi: Likewise.
54537         * doc/posix-functions/gai_strerror.texi: Likewise.
54538         * doc/posix-functions/getaddrinfo.texi: Likewise.
54539         * doc/posix-functions/getnameinfo.texi: Likewise.
54540         * doc/posix-functions/if_freenameindex.texi: Likewise.
54541         * doc/posix-functions/if_indextoname.texi: Likewise.
54542         * doc/posix-functions/if_nameindex.texi: Likewise.
54543         * doc/posix-functions/if_nametoindex.texi: Likewise.
54544         * doc/posix-functions/insque.texi: Likewise.
54545         * doc/posix-functions/linkat.texi: Likewise.
54546         * doc/posix-functions/llrint.texi: Likewise.
54547         * doc/posix-functions/llrintf.texi: Likewise.
54548         * doc/posix-functions/llrintl.texi: Likewise.
54549         * doc/posix-functions/lockf.texi: Likewise.
54550         * doc/posix-functions/lrintl.texi: Likewise.
54551         * doc/posix-functions/mkdirat.texi: Likewise.
54552         * doc/posix-functions/mkfifoat.texi: Likewise.
54553         * doc/posix-functions/mknodat.texi: Likewise.
54554         * doc/posix-functions/mq_close.texi: Likewise.
54555         * doc/posix-functions/mq_getattr.texi: Likewise.
54556         * doc/posix-functions/mq_notify.texi: Likewise.
54557         * doc/posix-functions/mq_open.texi: Likewise.
54558         * doc/posix-functions/mq_receive.texi: Likewise.
54559         * doc/posix-functions/mq_send.texi: Likewise.
54560         * doc/posix-functions/mq_setattr.texi: Likewise.
54561         * doc/posix-functions/mq_timedreceive.texi: Likewise.
54562         * doc/posix-functions/mq_timedsend.texi: Likewise.
54563         * doc/posix-functions/mq_unlink.texi: Likewise.
54564         * doc/posix-functions/open_memstream.texi: Likewise.
54565         * doc/posix-functions/openat.texi: Likewise.
54566         * doc/posix-functions/posix_fadvise.texi: Likewise.
54567         * doc/posix-functions/posix_fallocate.texi: Likewise.
54568         * doc/posix-functions/posix_madvise.texi: Likewise.
54569         * doc/posix-functions/posix_memalign.texi: Likewise.
54570         * doc/posix-functions/posix_openpt.texi: Likewise.
54571         * doc/posix-functions/readlinkat.texi: Likewise.
54572         * doc/posix-functions/remque.texi: Likewise.
54573         * doc/posix-functions/renameat.texi: Likewise.
54574         * doc/posix-functions/rintl.texi: Likewise.
54575         * doc/posix-functions/sem_unlink.texi: Likewise.
54576         * doc/posix-functions/shm_open.texi: Likewise.
54577         * doc/posix-functions/shm_unlink.texi: Likewise.
54578         * doc/posix-functions/signgam.texi: Likewise.
54579         * doc/posix-functions/sigset.texi: Likewise.
54580         * doc/posix-functions/stpcpy.texi: Likewise.
54581         * doc/posix-functions/stpncpy.texi: Likewise.
54582         * doc/posix-functions/strerror.texi: Likewise.
54583         * doc/posix-functions/strtod.texi: Likewise.
54584         * doc/posix-functions/symlinkat.texi: Likewise.
54585         * doc/posix-functions/unlinkat.texi: Likewise.
54586         * doc/posix-functions/utimensat.texi: Likewise.
54587         * doc/glibc-functions/bindresvport.texi: Likewise.
54588         * doc/glibc-functions/dn_expand.texi: Likewise.
54589         * doc/glibc-functions/exp10.texi: Likewise.
54590         * doc/glibc-functions/exp10f.texi: Likewise.
54591         * doc/glibc-functions/fgetxattr.texi: Likewise.
54592         * doc/glibc-functions/flistxattr.texi: Likewise.
54593         * doc/glibc-functions/fopencookie.texi: Likewise.
54594         * doc/glibc-functions/freeifaddrs.texi: Likewise.
54595         * doc/glibc-functions/fremovexattr.texi: Likewise.
54596         * doc/glibc-functions/fsetxattr.texi: Likewise.
54597         * doc/glibc-functions/getifaddrs.texi: Likewise.
54598         * doc/glibc-functions/getxattr.texi: Likewise.
54599         * doc/glibc-functions/lgetxattr.texi: Likewise.
54600         * doc/glibc-functions/listxattr.texi: Likewise.
54601         * doc/glibc-functions/llistxattr.texi: Likewise.
54602         * doc/glibc-functions/lremovexattr.texi: Likewise.
54603         * doc/glibc-functions/lsetxattr.texi: Likewise.
54604         * doc/glibc-functions/pow10.texi: Likewise.
54605         * doc/glibc-functions/pow10f.texi: Likewise.
54606         * doc/glibc-functions/rcmd_af.texi: Likewise.
54607         * doc/glibc-functions/removexattr.texi: Likewise.
54608         * doc/glibc-functions/res_init.texi: Likewise.
54609         * doc/glibc-functions/res_mkquery.texi: Likewise.
54610         * doc/glibc-functions/res_query.texi: Likewise.
54611         * doc/glibc-functions/res_querydomain.texi: Likewise.
54612         * doc/glibc-functions/res_send.texi: Likewise.
54613         * doc/glibc-functions/rresvport_af.texi: Likewise.
54614         * doc/glibc-functions/setxattr.texi: Likewise.
54615         * doc/glibc-functions/strcasestr.texi: Likewise.
54616
54617 2008-12-15  Bruno Haible  <bruno@clisp.org>
54618
54619         Fix compilation error on OSF/1 4.0.
54620         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
54621         <sys/time.h>, simply delegate to the system header.
54622         Reported by Daniel Richard G. <oss@teragram.com>.
54623
54624 2008-12-15  Bruno Haible  <bruno@clisp.org>
54625
54626         * doc/posix-functions/openat.texi: Mention the 'openat' module.
54627         * doc/posix-functions/fchmodat.texi: Likewise.
54628         * doc/posix-functions/fchownat.texi: Likewise.
54629         * doc/posix-functions/fdopendir.texi: Likewise.
54630         * doc/posix-functions/fstatat.texi: Likewise.
54631         * doc/posix-functions/mkdirat.texi: Likewise.
54632         * doc/posix-functions/unlinkat.texi: Likewise.
54633
54634 2008-12-14  Bruno Haible  <bruno@clisp.org>
54635
54636         Update doc for POSIX:2008.
54637         * doc/posix-functions/faccessat.texi: New file.
54638         * doc/posix-functions/fchmodat.texi: New file.
54639         * doc/posix-functions/fchownat.texi: New file.
54640         * doc/posix-functions/fdopendir.texi: New file.
54641         * doc/posix-functions/fstatat.texi: New file.
54642         * doc/posix-functions/futimens.texi: New file.
54643         * doc/posix-functions/linkat.texi: New file.
54644         * doc/posix-functions/mkdirat.texi: New file.
54645         * doc/posix-functions/mkfifoat.texi: New file.
54646         * doc/posix-functions/mknodat.texi: New file.
54647         * doc/posix-functions/open_wmemstream.texi: New file.
54648         * doc/posix-functions/openat.texi: New file.
54649         * doc/posix-functions/psiginfo.texi: New file.
54650         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
54651         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
54652         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
54653         * doc/posix-functions/readlinkat.texi: New file.
54654         * doc/posix-functions/renameat.texi: New file.
54655         * doc/posix-functions/strerror_l.texi: New file.
54656         * doc/posix-functions/symlinkat.texi: New file.
54657         * doc/posix-functions/unlinkat.texi: New file.
54658         * doc/posix-functions/utimensat.texi: New file.
54659         * doc/gnulib.texi (Function Substitutes): Add these subsections.
54660
54661 2008-12-14  Bruno Haible  <bruno@clisp.org>
54662
54663         Update doc for POSIX:2008.
54664         * doc/posix-functions/alphasort.texi: Renamed from
54665         doc/glibc-functions/alphasort.texi.
54666         * doc/posix-functions/dirfd.texi: Renamed from
54667         doc/glibc-functions/dirfd.texi.
54668         * doc/posix-functions/dprintf.texi: Renamed from
54669         doc/glibc-functions/dprintf.texi.
54670         * doc/posix-functions/duplocale.texi: Renamed from
54671         doc/glibc-functions/duplocale.texi.
54672         * doc/posix-functions/fexecve.texi: Renamed from
54673         doc/glibc-functions/fexecve.texi.
54674         * doc/posix-functions/fmemopen.texi: Renamed from
54675         doc/glibc-functions/fmemopen.texi.
54676         * doc/posix-functions/freelocale.texi: Renamed from
54677         doc/glibc-functions/freelocale.texi.
54678         * doc/posix-functions/getdate_err.texi: Renamed from
54679         doc/glibc-functions/getdate_err.texi.
54680         * doc/posix-functions/isalnum_l.texi: Renamed from
54681         doc/glibc-functions/isalnum_l.texi.
54682         * doc/posix-functions/isalpha_l.texi: Renamed from
54683         doc/glibc-functions/isalpha_l.texi.
54684         * doc/posix-functions/isblank_l.texi: Renamed from
54685         doc/glibc-functions/isblank_l.texi.
54686         * doc/posix-functions/iscntrl_l.texi: Renamed from
54687         doc/glibc-functions/iscntrl_l.texi.
54688         * doc/posix-functions/isdigit_l.texi: Renamed from
54689         doc/glibc-functions/isdigit_l.texi.
54690         * doc/posix-functions/isgraph_l.texi: Renamed from
54691         doc/glibc-functions/isgraph_l.texi.
54692         * doc/posix-functions/islower_l.texi: Renamed from
54693         doc/glibc-functions/islower_l.texi.
54694         * doc/posix-functions/isprint_l.texi: Renamed from
54695         doc/glibc-functions/isprint_l.texi.
54696         * doc/posix-functions/ispunct_l.texi: Renamed from
54697         doc/glibc-functions/ispunct_l.texi.
54698         * doc/posix-functions/isspace_l.texi: Renamed from
54699         doc/glibc-functions/isspace_l.texi.
54700         * doc/posix-functions/isupper_l.texi: Renamed from
54701         doc/glibc-functions/isupper_l.texi.
54702         * doc/posix-functions/iswalnum_l.texi: Renamed from
54703         doc/glibc-functions/iswalnum_l.texi.
54704         * doc/posix-functions/iswalpha_l.texi: Renamed from
54705         doc/glibc-functions/iswalpha_l.texi.
54706         * doc/posix-functions/iswblank_l.texi: Renamed from
54707         doc/glibc-functions/iswblank_l.texi.
54708         * doc/posix-functions/iswcntrl_l.texi: Renamed from
54709         doc/glibc-functions/iswcntrl_l.texi.
54710         * doc/posix-functions/iswctype_l.texi: Renamed from
54711         doc/glibc-functions/iswctype_l.texi.
54712         * doc/posix-functions/iswdigit_l.texi: Renamed from
54713         doc/glibc-functions/iswdigit_l.texi.
54714         * doc/posix-functions/iswgraph_l.texi: Renamed from
54715         doc/glibc-functions/iswgraph_l.texi.
54716         * doc/posix-functions/iswlower_l.texi: Renamed from
54717         doc/glibc-functions/iswlower_l.texi.
54718         * doc/posix-functions/iswprint_l.texi: Renamed from
54719         doc/glibc-functions/iswprint_l.texi.
54720         * doc/posix-functions/iswpunct_l.texi: Renamed from
54721         doc/glibc-functions/iswpunct_l.texi.
54722         * doc/posix-functions/iswspace_l.texi: Renamed from
54723         doc/glibc-functions/iswspace_l.texi.
54724         * doc/posix-functions/iswupper_l.texi: Renamed from
54725         doc/glibc-functions/iswupper_l.texi.
54726         * doc/posix-functions/iswxdigit_l.texi: Renamed from
54727         doc/glibc-functions/iswxdigit_l.texi.
54728         * doc/posix-functions/isxdigit_l.texi: Renamed from
54729         doc/glibc-functions/isxdigit_l.texi.
54730         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
54731         doc/glibc-functions/mbsnrtowcs.texi.
54732         * doc/posix-functions/mkdtemp.texi: Renamed from
54733         doc/glibc-functions/mkdtemp.texi.
54734         * doc/posix-functions/newlocale.texi: Renamed from
54735         doc/glibc-functions/newlocale.texi.
54736         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
54737         doc/glibc-functions/nl_langinfo_l.texi.
54738         * doc/posix-functions/open_memstream.texi: Renamed from
54739         doc/glibc-functions/open_memstream.texi.
54740         * doc/posix-functions/opterr.texi: Renamed from
54741         doc/glibc-functions/opterr.texi.
54742         * doc/posix-functions/optind.texi: Renamed from
54743         doc/glibc-functions/optind.texi.
54744         * doc/posix-functions/optopt.texi: Renamed from
54745         doc/glibc-functions/optopt.texi.
54746         * doc/posix-functions/psignal.texi: Renamed from
54747         doc/glibc-functions/psignal.texi.
54748         * doc/posix-functions/scandir.texi: Renamed from
54749         doc/glibc-functions/scandir.texi.
54750         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
54751         doc/glibc-functions/sched_get_priority_min.texi.
54752         * doc/posix-functions/signgam.texi: Renamed from
54753         doc/glibc-functions/signgam.texi.
54754         * doc/posix-functions/stpcpy.texi: Renamed from
54755         doc/glibc-functions/stpcpy.texi.
54756         * doc/posix-functions/stpncpy.texi: Renamed from
54757         doc/glibc-functions/stpncpy.texi.
54758         * doc/posix-functions/strcasecmp_l.texi: Renamed from
54759         doc/glibc-functions/strcasecmp_l.texi.
54760         * doc/posix-functions/strcoll_l.texi: Renamed from
54761         doc/glibc-functions/strcoll_l.texi.
54762         * doc/posix-functions/strfmon_l.texi: Renamed from
54763         doc/glibc-functions/strfmon_l.texi.
54764         * doc/posix-functions/strftime_l.texi: Renamed from
54765         doc/glibc-functions/strftime_l.texi.
54766         * doc/posix-functions/strncasecmp_l.texi: Renamed from
54767         doc/glibc-functions/strncasecmp_l.texi.
54768         * doc/posix-functions/strndup.texi: Renamed from
54769         doc/glibc-functions/strndup.texi.
54770         * doc/posix-functions/strnlen.texi: Renamed from
54771         doc/glibc-functions/strnlen.texi.
54772         * doc/posix-functions/strsignal.texi: Renamed from
54773         doc/glibc-functions/strsignal.texi.
54774         * doc/posix-functions/strxfrm_l.texi: Renamed from
54775         doc/glibc-functions/strxfrm_l.texi.
54776         * doc/posix-functions/timer_gettime.texi: Renamed from
54777         doc/glibc-functions/timer_gettime.texi.
54778         * doc/posix-functions/tolower_l.texi: Renamed from
54779         doc/glibc-functions/tolower_l.texi.
54780         * doc/posix-functions/toupper_l.texi: Renamed from
54781         doc/glibc-functions/toupper_l.texi.
54782         * doc/posix-functions/towctrans_l.texi: Renamed from
54783         doc/glibc-functions/towctrans_l.texi.
54784         * doc/posix-functions/towlower_l.texi: Renamed from
54785         doc/glibc-functions/towlower_l.texi.
54786         * doc/posix-functions/towupper_l.texi: Renamed from
54787         doc/glibc-functions/towupper_l.texi.
54788         * doc/posix-functions/uselocale.texi: Renamed from
54789         doc/glibc-functions/uselocale.texi.
54790         * doc/posix-functions/vdprintf.texi: Renamed from
54791         doc/glibc-functions/vdprintf.texi.
54792         * doc/posix-functions/wcpcpy.texi:
54793         Renamed from doc/glibc-functions/wcpcpy.texi.
54794         * doc/posix-functions/wcpncpy.texi: Renamed from
54795         doc/glibc-functions/wcpncpy.texi.
54796         * doc/posix-functions/wcscasecmp.texi: Renamed from
54797         doc/glibc-functions/wcscasecmp.texi.
54798         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
54799         doc/glibc-functions/wcscasecmp_l.texi.
54800         * doc/posix-functions/wcscoll_l.texi: Renamed from
54801         doc/glibc-functions/wcscoll_l.texi.
54802         * doc/posix-functions/wcsdup.texi: Renamed from
54803         doc/glibc-functions/wcsdup.texi.
54804         * doc/posix-functions/wcsncasecmp.texi: Renamed from
54805         doc/glibc-functions/wcsncasecmp.texi.
54806         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
54807         doc/glibc-functions/wcsncasecmp_l.texi.
54808         * doc/posix-functions/wcsnlen.texi: Renamed from
54809         doc/glibc-functions/wcsnlen.texi.
54810         * doc/posix-functions/wcsnrtombs.texi: Renamed from
54811         doc/glibc-functions/wcsnrtombs.texi.
54812         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
54813         doc/glibc-functions/wcsxfrm_l.texi.
54814         * doc/posix-functions/wctrans_l.texi: Renamed from
54815         doc/glibc-functions/wctrans_l.texi.
54816         * doc/posix-functions/wctype_l.texi: Renamed from
54817         doc/glibc-functions/wctype_l.texi.
54818         * doc/gnulib.texi (Function Substitutes): Add these subsections.
54819         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
54820         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
54821         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
54822         these subsections.
54823         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
54824         Remove sections.
54825
54826 2008-12-14  Bruno Haible  <bruno@clisp.org>
54827
54828         Update doc for POSIX:2008.
54829         * doc/posix-functions/*.texi: Update URL of POSIX specification.
54830
54831 2008-12-14  Bruno Haible  <bruno@clisp.org>
54832
54833         Update doc for POSIX:2008.
54834         * doc/pastposix-functions/bcmp.texi: Renamed from
54835         doc/posix-functions/bcmp.texi.
54836         * doc/pastposix-functions/bcopy.texi: Renamed from
54837         doc/posix-functions/bcopy.texi.
54838         * doc/pastposix-functions/bsd_signal.texi: Renamed from
54839         doc/posix-functions/bsd_signal.texi.
54840         * doc/pastposix-functions/bzero.texi: Renamed from
54841         doc/posix-functions/bzero.texi.
54842         * doc/pastposix-functions/ecvt.texi: Renamed from
54843         doc/posix-functions/ecvt.texi.
54844         * doc/pastposix-functions/fcvt.texi: Renamed from
54845         doc/posix-functions/fcvt.texi.
54846         * doc/pastposix-functions/ftime.texi: Renamed from
54847         doc/posix-functions/ftime.texi.
54848         * doc/pastposix-functions/gcvt.texi: Renamed from
54849         doc/posix-functions/gcvt.texi.
54850         * doc/pastposix-functions/getcontext.texi: Renamed from
54851         doc/posix-functions/getcontext.texi.
54852         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
54853         doc/posix-functions/gethostbyaddr.texi.
54854         * doc/pastposix-functions/gethostbyname.texi: Renamed from
54855         doc/posix-functions/gethostbyname.texi.
54856         * doc/pastposix-functions/getwd.texi: Renamed from
54857         doc/posix-functions/getwd.texi.
54858         * doc/pastposix-functions/h_errno.texi: Renamed from
54859         doc/posix-functions/h_errno.texi.
54860         * doc/pastposix-functions/index.texi: Renamed from
54861         doc/posix-functions/index.texi.
54862         * doc/pastposix-functions/makecontext.texi: Renamed from
54863         doc/posix-functions/makecontext.texi.
54864         * doc/pastposix-functions/mktemp.texi: Renamed from
54865         doc/posix-functions/mktemp.texi.
54866         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
54867         doc/posix-functions/pthread_attr_getstackaddr.texi.
54868         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
54869         doc/posix-functions/pthread_attr_setstackaddr.texi.
54870         * doc/pastposix-functions/rindex.texi: Renamed from
54871         doc/posix-functions/rindex.texi.
54872         * doc/pastposix-functions/scalb.texi: Renamed from
54873         doc/posix-functions/scalb.texi.
54874         * doc/pastposix-functions/setcontext.texi: Renamed from
54875         doc/posix-functions/setcontext.texi.
54876         * doc/pastposix-functions/swapcontext.texi: Renamed from
54877         doc/posix-functions/swapcontext.texi.
54878         * doc/pastposix-functions/ualarm.texi: Renamed from
54879         doc/posix-functions/ualarm.texi.
54880         * doc/pastposix-functions/usleep.texi: Renamed from
54881         doc/posix-functions/usleep.texi.
54882         * doc/pastposix-functions/vfork.texi: Renamed from
54883         doc/posix-functions/vfork.texi.
54884         * doc/pastposix-functions/wcswcs.texi: Renamed from
54885         doc/posix-functions/wcswcs.texi.
54886         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
54887         (Function Substitutes): Update.
54888
54889 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54890
54891         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
54892         m4/strerror.m4.
54893
54894 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54895             Bruno Haible  <bruno@clisp.org>
54896
54897         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
54898
54899 2008-12-13  Bruno Haible  <bruno@clisp.org>
54900
54901         * modules/strtoull (Depends-on): Remove unistd.
54902
54903 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54904
54905         * modules/strtoull (Depends-on): Add stdlib.
54906
54907 2008-12-11  Simon Josefsson  <simon@josefsson.org>
54908
54909         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
54910
54911 2008-12-10  Jim Meyering  <meyering@redhat.com>
54912
54913         gl_ASSERT: don't say assertions are disabled when they're not
54914         * m4/assert.m4 (gl_ASSERT): Do not make configure report
54915         "checking whether to enable assertions... no", when they are in
54916         fact enabled.  This is solely a bug in the output of configure.
54917         In spite of saying "no", NDEBUG was not defined in that case.
54918         Also, as noted by Eric Blake, leave assertions enabled upon
54919         --enable-assert=INVALID.
54920
54921 2008-12-10  Bruno Haible  <bruno@clisp.org>
54922
54923         Change MODULES.html to refer to POSIX:2008 where possible.
54924         * MODULES.html.sh (POSIX2008_URL): New variable.
54925         (posix_headers): Remove sys/timeb, ucontext.
54926         (posix2001_headers): New variable.
54927         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
54928         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
54929         index, makecontext, mktemp, pthread_attr_getstackaddr,
54930         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
54931         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
54932         (posix2001_functions): New variable.
54933         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
54934         otherwise.
54935
54936 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54937
54938         add missing include to parse-duration.c
54939         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
54940         * modules/parse-duration (Depends-on): Add xalloc.
54941
54942         fix sed script reading maint.mk
54943         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
54944         (syntax-check-rules): Use it.
54945
54946 2008-12-09  Bruno Haible  <bruno@clisp.org>
54947
54948         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
54949         MacOS X 10.4/PowerPC.
54950         Reported by Simon Josefsson.
54951
54952 2008-12-08  Jim Meyering  <meyering@redhat.com>
54953
54954         work around mingw's lack of some S_IF definitions
54955         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
54956         Reported by Simon Josefsson.
54957
54958 2008-12-08  Bruno Haible  <bruno@clisp.org>
54959
54960         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
54961         applied to variables. Needed on MacOS X 10.4/PowerPC.
54962         Reported by Simon Josefsson.
54963
54964 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
54965         and Eric Blake  <ebb9@byu.net>
54966
54967         assert: honor --enable-assert
54968         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
54969         order to honor --enable-assert, rather than treating it as a
54970         synonym for --disable-assert.
54971
54972 2008-12-08  Jim Meyering  <meyering@redhat.com>
54973
54974         * lib/posixtm.c: Remove now-useless declaration of mktime.
54975
54976         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
54977
54978 2008-12-07  Bruno Haible  <bruno@clisp.org>
54979
54980         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
54981         test_once): Mark functions as static.
54982         * tests/test-tls.c (test_tls): Likewise.
54983
54984 2008-12-07  Bruno Haible  <bruno@clisp.org>
54985
54986         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
54987         iconv_register_autodetect.
54988
54989 2008-12-07  Jim Meyering  <meyering@redhat.com>
54990
54991         posixtm.c: avoid a warning
54992         * lib/posixtm.c (posixtime): Don't initialize tm0.
54993         It's no longer needed to placate gcc4's -Wuninitialized,
54994         and the attempt to placate would elicit a new warning.
54995
54996         unicodeio.c: mark unused parameters
54997         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54998         (fallback_failure_callback): Likewise.
54999
55000 2008-12-07  Bruno Haible  <bruno@clisp.org>
55001
55002         * gnulib-tool (func_create_testdir): When building the tests
55003         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
55004         Reported by Simon Josefsson.
55005
55006 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55007
55008         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
55009
55010 2008-12-06  Bruno Haible  <bruno@clisp.org>
55011
55012         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
55013         Suggested by Eric Blake.
55014
55015 2008-12-06  Bruno Haible  <bruno@clisp.org>
55016
55017         Fix a c-stack test failure on MacOS X.
55018         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
55019         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
55020         handler for SIGBUS as well.
55021         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
55022         install a signal handler for SIGBUS as well.
55023         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
55024
55025 2008-12-06  Bruno Haible  <bruno@clisp.org>
55026
55027         Advocacy documentation.
55028         * doc/gnulib-intro.texi (Benefits): New section.
55029         * doc/gnulib.texi: Update.
55030
55031 2008-12-06  Bruno Haible  <bruno@clisp.org>
55032
55033         Document the 'manywarnings' module.
55034         * doc/manywarnings.texi: New file.
55035         * doc/gnulib.texi: Include it.
55036
55037 2008-12-05  Eric Blake  <ebb9@byu.net>
55038
55039         tests: silence some gcc warnings
55040         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
55041         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
55042         type mismatches.
55043
55044 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55045             Bruno Haible  <bruno@clisp.org>
55046
55047         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
55048
55049 2008-11-29  Jim Meyering  <meyering@redhat.com>
55050
55051         unicodeio.c: mark unused parameters
55052         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
55053         (fallback_failure_callback): Likewise.
55054
55055         fts: fix a thinko
55056         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
55057         (set_stat_type): Return S_IF*-valued "type" directly.
55058         Prompted by James Youngman's spotting a related bug.
55059         Confirmed by further testing through find.
55060
55061         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
55062         * lib/fts.c (D_TYPE): Define.
55063         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
55064         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
55065         (s_ifmt_shift_bits): New function.
55066         (set_stat_type): New function.
55067         (fts_build): When not calling fts_stat, call set_stat_type
55068         to propagate dirent.d_type info to fts_read caller.
55069         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
55070         fts_statp->st_mode type information may be valid.
55071
55072 2008-11-28  Simon Josefsson  <simon@josefsson.org>
55073
55074         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
55075         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
55076         <sds@gnu.org>.
55077
55078 2008-11-20  Bruno Haible  <bruno@clisp.org>
55079
55080         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
55081         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
55082         INCLUDE_NEXT.
55083         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
55084         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
55085         * modules/math (Makefile.am): Substitute
55086         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
55087         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55088
55089 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
55090             Bruno Haible  <bruno@clisp.org>
55091
55092         * lib/stdint.in.h: Define all type macros so that their expansion is
55093         a single typedef'ed token. Fixes a compilation failure in Boost which
55094         does "using ::int8_t;".
55095
55096 2008-11-18  Simon Josefsson  <simon@josefsson.org>
55097
55098         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
55099         gl_MANYWARN_ALL_GCC.
55100         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
55101         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
55102         * modules/manywarnings: New file.
55103         * MODULES.html.sh: Mention manywarnings module.
55104
55105 2008-11-18  Bruno Haible  <bruno@clisp.org>
55106
55107         * doc/gnulib-tool.texi (Unit tests): New section.
55108
55109 2008-11-18  Simon Josefsson  <simon@josefsson.org>
55110
55111         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
55112         paths like 'lib/po/foo.po'.
55113
55114 2008-11-17  Simon Josefsson  <simon@josefsson.org>
55115
55116         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
55117         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
55118
55119 2008-11-17  Simon Josefsson  <simon@josefsson.org>
55120
55121         * m4/warnings.m4: Use CPPFLAGS to really check whether the
55122         parameter works.
55123
55124 2008-11-17  Simon Josefsson  <simon@josefsson.org>
55125
55126         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
55127
55128 2008-11-17  Bruce Korb  <bkorb@gnu.org>
55129
55130         * modules/parse-duration-tests: New file.
55131         * tests/test-parse-duration.sh: New file.
55132         * tests/test-parse-duration.c: New file.
55133
55134         New module 'parse-duration'.
55135         * lib/parse-duration.h: New file.
55136         * lib/parse-duration.c: New file.
55137         * modules/parse-duration: New file.
55138
55139 2008-11-17  Bruno Haible  <bruno@clisp.org>
55140
55141         * tests/test-select-out.sh: Comment out the first pipe test.
55142         Reported by Simon Josefsson.
55143
55144 2008-11-17  Bruno Haible  <bruno@clisp.org>
55145
55146         * modules/getaddrinfo (Depends-on): Add servent, hostent.
55147         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
55148         gl_HOSTENT.
55149
55150 2008-11-17  Bruno Haible  <bruno@clisp.org>
55151
55152         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
55153         -lnetwork and -lnet. Needed for Haiku and BeOS.
55154
55155 2008-11-16  Bruno Haible  <bruno@clisp.org>
55156
55157         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
55158
55159 2008-11-16  Bruno Haible  <bruno@clisp.org>
55160
55161         Avoid test failure on Haiku.
55162         * tests/test-fsync.c: Include <errno.h>.
55163         (main): Don't require that fsync (0) fails.
55164
55165 2008-11-15  Bruno Haible  <bruno@clisp.org>
55166
55167         New module 'hostent'.
55168         * modules/hostent: New file.
55169         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
55170
55171 2008-11-15  Bruno Haible  <bruno@clisp.org>
55172
55173         New module 'servent'.
55174         * modules/servent: New file.
55175         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
55176
55177 2008-11-15  Bruno Haible  <bruno@clisp.org>
55178
55179         Avoid generating same test program with two different rules.
55180         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
55181         test-frexp to test-frexp-nolibm.
55182         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
55183         test-frexpl to test-frexpl-nolibm.
55184
55185 2008-11-15  Bruno Haible  <bruno@clisp.org>
55186
55187         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
55188         $(FREXPL_LIBM).
55189
55190 2008-11-15  Bruno Haible  <bruno@clisp.org>
55191
55192         * lib/netdb.in.h: Activate the definitions also when the system's
55193         <netdb.h> has 'struct addrinfo'.
55194         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
55195         EAI_OVERFLOW or AI_NUMERICSERV.
55196         * doc/posix-headers/netdb.texi: Document the problem.
55197
55198 2008-11-15  Bruno Haible  <bruno@clisp.org>
55199
55200         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
55201
55202         Make the 'sched' module work on platforms where <sched.h> exists but
55203         is incomplete (such as Haiku).
55204         * lib/sched.in.h; Include the system's <sched.h> if it exists.
55205         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
55206         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
55207         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
55208         HAVE_STRUCT_SCHED_PARAM.
55209         * modules/sched (Depends-on): Add include_next.
55210         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
55211         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
55212         * doc/posix-headers/sched.texi: Document the issue.
55213
55214 2008-11-13  Jim Meyering  <meyering@redhat.com>
55215
55216         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
55217         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
55218         test would fail due to the difference in the Report bugs to ...
55219         line.  The expected address is empty, "<>", while the actual
55220         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
55221
55222 2008-11-12  Bruno Haible  <bruno@clisp.org>
55223
55224         lstat: don't compile lstat.c on systems lacking lstat
55225         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
55226         which don't have lstat; this is handled by lib/sys_stat.in.h already.
55227         Reported by Daniel P. Berrange via Jim Meyering.
55228
55229 2008-11-12  Jim Meyering  <meyering@redhat.com>
55230
55231         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
55232
55233 2008-11-12  Simon Josefsson  <simon@josefsson.org>
55234
55235         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
55236         instead.
55237
55238 2008-11-12  Bruno Haible  <bruno@clisp.org>
55239
55240         * lib/unicodeio.c: Include unistr.h.
55241         (utf8_wctomb): Remove function.
55242         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
55243
55244 2008-11-12  Simon Josefsson  <simon@josefsson.org>
55245
55246         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
55247         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
55248         <bruno@clisp.org>.
55249         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
55250
55251 2008-11-12  Simon Josefsson  <simon@josefsson.org>
55252
55253         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
55254         * doc/gnulib.texi: Add section for warnings.
55255
55256 2008-11-11  Bruno Haible  <bruno@clisp.org>
55257
55258         * lib/sockets.h: Add a comment.
55259
55260 2008-11-11  Karl Berry  <karl@gnu.org>
55261
55262         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
55263
55264 2008-11-11  Eric Blake  <ebb9@byu.net>
55265
55266         fdl.texi: avoid git symlinks
55267         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
55268
55269 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
55270
55271         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
55272
55273 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
55274
55275         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
55276         (gl_WARN_ADD): Substitute $2 if literal.
55277
55278 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
55279
55280         * m4/warning.m4: Remove.
55281
55282 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
55283
55284         * m4/warnings.m4: Almost complete rewrite. :-)
55285
55286 2008-11-10  Simon Josefsson  <simon@josefsson.org>
55287
55288         * modules/warnings: New module.
55289         * m4/warnings.m4: New file.
55290         * MODULES.html.sh: Mention warnings module.
55291         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
55292         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55293
55294 2008-11-10  Eric Blake  <ebb9@byu.net>
55295
55296         fdl.texi: make a symlink to the latest version
55297         * doc/standards.texi: Revert today's earlier change.
55298         * doc/fdl-1.2.texi: Rename from old fdl.texi...
55299         * doc/fdl.texi: ...and replace this with a symlink to the newer
55300         fdl-1.3.texi.
55301
55302 2008-11-10  Bruno Haible  <bruno@clisp.org>
55303
55304         * tests/test-select-fd.c (main): Accept the result file name as fourth
55305         argument.
55306         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
55307         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
55308
55309 2008-11-10  Bruno Haible  <bruno@clisp.org>
55310
55311         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
55312         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
55313         as autoconf-substituted macros.
55314         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
55315         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
55316         gl_NETDB_H_DEFAULTS. Set these variables.
55317         * modules/netdb (Makefile.am): Substitute these variables.
55318
55319 2008-11-10  Eric Blake  <ebb9@byu.net>
55320
55321         standards.texi: include correct file for FDL 1.3
55322         * doc/standards.texi (GNU Free Documentation License): Change
55323         include file to pull in FDL 1.3, not 1.2.
55324
55325         fdl.texi: revert accidental change to license
55326         * doc/fdl.texi: This is FDL 1.2, not 1.3.
55327
55328 2008-11-10  Bruno Haible  <bruno@clisp.org>
55329
55330         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
55331         cross-compiling guesses also when the native compile gives no result.
55332
55333 2008-11-10  Bruno Haible  <bruno@clisp.org>
55334
55335         * lib/spawni.c (__spawni): Force variable into the stack.
55336
55337 2008-11-10  Bruno Haible  <bruno@clisp.org>
55338
55339         Add support for Haiku.
55340         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
55341         glibc and BeOS, but also on Haiku.
55342         * lib/fpurge.c (fpurge): Likewise.
55343         * lib/freadable.c (freadable): Likewise.
55344         * lib/freadahead.c (freadahead): Likewise.
55345         * lib/freading.c (freading): Likewise.
55346         * lib/freadptr.c (freadptr): Likewise.
55347         * lib/freadseek.c (freadptrinc): Likewise.
55348         * lib/fseeko.c (rpl_fseeko): Likewise.
55349         * lib/fseterr.c (fseterr): Likewise.
55350         * lib/fwritable.c (fwritable): Likewise.
55351         * lib/fwriting.c (fwriting): Likewise.
55352         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
55353
55354 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
55355
55356         * lib/config.charset: Treat Haiku like BeOS.
55357
55358 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
55359
55360         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
55361         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
55362
55363 2008-11-08  Bruno Haible  <bruno@clisp.org>
55364
55365         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
55366         AC_CACHE_CHECK.
55367
55368 2008-11-08  Bruno Haible  <bruno@clisp.org>
55369
55370         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
55371
55372 2008-11-08  Bruno Haible  <bruno@clisp.org>
55373
55374         * tests/test-select-fd.c: New file.
55375         * tests/test-select-in.sh: New file.
55376         * tests/test-select-out.sh: New file.
55377         * tests/test-select-stdin.c: New file.
55378         * modules/select-tests (Files): Add the new files.
55379         (Depends-on): Add gettimeofday.
55380         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
55381         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
55382         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
55383
55384 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
55385             Bruno Haible  <bruno@clisp.org>
55386
55387         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
55388
55389 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
55390
55391         * build-aux/pmccabe2html: Added support for C++ source files.
55392
55393 2008-11-05  Ben Pfaff  <blp@gnu.org>
55394
55395         Fix lib/close.c build on Windows.
55396         * modules/close (Files): Add lib/w32sock.h.
55397
55398 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
55399
55400         Accept Bison's NEWS format.
55401         * build-aux/announce-gen (print_news_deltas): Tweak
55402         $re_prefix.
55403
55404 2008-11-04  Bruno Haible  <bruno@clisp.org>
55405
55406         * modules/random_r (Maintainer): Add glibc.
55407
55408 2008-11-04  Simon Josefsson  <simon@josefsson.org>
55409
55410         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
55411         by karl@freefriends.org (Karl Berry).
55412         * doc/alloca.texi: Likewise.
55413         * doc/c-ctype.texi: Likewise.
55414         * doc/c-strcase.texi: Likewise.
55415         * doc/c-strcaseeq.texi: Likewise.
55416         * doc/c-strcasestr.texi: Likewise.
55417         * doc/c-strstr.texi: Likewise.
55418         * doc/c-strtod.texi: Likewise.
55419         * doc/c-strtold.texi: Likewise.
55420         * doc/ctime.texi: Likewise.
55421         * doc/error.texi: Likewise.
55422         * doc/fdl.texi: Likewise.
55423         * doc/gcd.texi: Likewise.
55424         * doc/getdate.texi: Likewise.
55425         * doc/gnulib-intro.texi: Likewise.
55426         * doc/gnulib-tool.texi: Likewise.
55427         * doc/gnulib.texi: Likewise.
55428         * doc/inet_ntoa.texi: Likewise.
55429         * doc/maintain.texi: Likewise.
55430         * doc/make-stds.texi: Likewise.
55431         * doc/quote.texi: Likewise.
55432         * doc/regexprops-generic.texi: Likewise.
55433         * doc/standards.texi: Likewise.
55434         * doc/verify.texi: Likewise.
55435         * doc/visibility.texi: Likewise.
55436         * doc/gnulib.texi (GNU Free Documentation License): Include
55437         fdl-1.3.texi instead of fdl.texi.
55438
55439 2008-11-04  Simon Josefsson  <simon@josefsson.org>
55440
55441         * doc/fdl-1.3.texi: New file, from
55442         <http://www.gnu.org/licenses/fdl-1.3.texi>.
55443         * modules/fdl-1.3: Add.
55444         * MODULES.html.sh: Add fdl-1.3.
55445
55446 2008-11-03  Bruno Haible  <bruno@clisp.org>
55447
55448         Make determination of absolute name of header file work with AIX xlc.
55449         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
55450         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
55451         preprocessing.
55452         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55453         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
55454
55455 2008-11-03  Simon Josefsson  <simon@josefsson.org>
55456
55457         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
55458         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
55459         <ludo@gnu.org>.
55460
55461 2008-11-02  Bruno Haible  <bruno@clisp.org>
55462
55463         Mark 'strpbrk' obsolete.
55464         * modules/strpbrk (Status, Notice): New sections.
55465         * modules/strtok_r (Depends-on): Add strpbrk.
55466
55467 2008-11-02  Bruno Haible  <bruno@clisp.org>
55468
55469         Mark 'strdup' obsolete.
55470         * modules/strdup (Status, Notice): New sections.
55471         * modules/findprog (Depends-on): Add strdup.
55472         * modules/getaddrinfo (Depends-on): Likewise.
55473         * modules/localename (Depends-on): Likewise.
55474         * modules/relocatable-lib (Depends-on): Likewise.
55475         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
55476         * modules/relocatable-prog (Depends-on): Likewise.
55477         * modules/trim (Depends-on): Likewise.
55478         * modules/unictype/gen-ctype (Depends-on): Likewise.
55479         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
55480
55481 2008-11-02  Bruno Haible  <bruno@clisp.org>
55482
55483         Mark 'strcspn' obsolete.
55484         * modules/strcspn (Status, Notice): New sections.
55485
55486 2008-11-02  Bruno Haible  <bruno@clisp.org>
55487
55488         Mark 'rmdir' obsolete.
55489         * modules/rmdir (Status, Notice): New sections.
55490         * modules/clean-temp (Depends-on): Add rmdir.
55491         * modules/openat (Depends-on): Likewise.
55492
55493 2008-11-02  Bruno Haible  <bruno@clisp.org>
55494
55495         Mark 'raise' obsolete.
55496         * modules/raise (Status, Notice): New sections.
55497         (Include): Specify <signal.h>.
55498         * modules/stdio (Depends-on): Add raise.
55499         * modules/write (Depends-on): Likewise.
55500
55501 2008-11-02  Bruno Haible  <bruno@clisp.org>
55502
55503         Mark 'memset' obsolete.
55504         * modules/memset (Status, Notice): New sections.
55505
55506 2008-11-02  Bruno Haible  <bruno@clisp.org>
55507
55508         Mark 'memmove' obsolete.
55509         * modules/memmove (Status, Notice): New sections.
55510         * modules/argp (Depends-on): Add memmove.
55511         * modules/argz (Depends-on): Likewise.
55512         * modules/canonicalize (Depends-on): Likewise.
55513         * modules/canonicalize-lgpl (Depends-on): Likewise.
55514         * modules/fts (Depends-on): Likewise.
55515         * modules/getcwd (Depends-on): Likewise.
55516         * modules/human (Depends-on): Likewise.
55517         * modules/regex (Depends-on): Likewise.
55518         * modules/striconveh (Depends-on): Likewise.
55519         * modules/trim (Depends-on): Likewise.
55520         * modules/unistr/u8-move (Depends-on): Likewise.
55521         * modules/unistr/u16-move (Depends-on): Likewise.
55522         * modules/unistr/u32-move (Depends-on): Likewise.
55523
55524 2008-11-02  Bruno Haible  <bruno@clisp.org>
55525
55526         Mark 'memcpy' obsolete.
55527         * modules/memcpy (Status, Notice): New sections.
55528
55529 2008-11-02  Bruno Haible  <bruno@clisp.org>
55530
55531         Mark 'memcmp' obsolete.
55532         * modules/memcmp (Status, Notice): New sections.
55533         * modules/argmatch (Depends-on): Add memchr.
55534         * modules/backupfile (Depends-on): Likewise.
55535         * modules/c-strcasestr (Depends-on): Likewise.
55536         * modules/crypto/des (Depends-on): Likewise.
55537         * modules/csharpcomp (Depends-on): Likewise.
55538         * modules/fnmatch (Depends-on): Likewise.
55539         * modules/git-merge-changelog (Depends-on): Likewise.
55540         * modules/isnand (Depends-on): Likewise.
55541         * modules/isnand-nolibm (Depends-on): Likewise.
55542         * modules/isnanf (Depends-on): Likewise.
55543         * modules/isnanf-nolibm (Depends-on): Likewise.
55544         * modules/isnanl (Depends-on): Likewise.
55545         * modules/isnanl-nolibm (Depends-on): Likewise.
55546         * modules/mbchar (Depends-on): Likewise.
55547         * modules/memcoll (Depends-on): Likewise.
55548         * modules/quotearg (Depends-on): Likewise.
55549         * modules/regex (Depends-on): Likewise.
55550         * modules/relocatable-prog (Depends-on): Likewise.
55551         * modules/same (Depends-on): Likewise.
55552         * modules/signbit (Depends-on): Likewise.
55553         * modules/strcasestr-simple (Depends-on): Likewise.
55554         * modules/unictype/gen-ctype (Depends-on): Likewise.
55555         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
55556         * modules/uniname/uniname (Depends-on): Likewise.
55557         * modules/unistr/u8-cmp (Depends-on): Likewise.
55558
55559 2008-11-02  Bruno Haible  <bruno@clisp.org>
55560
55561         Mark 'memchr' obsolete.
55562         * modules/memchr (Status, Notice): New sections.
55563         * modules/argp (Depends-on): Add memchr.
55564         * modules/base64 (Depends-on): Likewise.
55565         * modules/c-strcasestr (Depends-on): Likewise.
55566         * modules/chdir-long (Depends-on): Likewise.
55567         * modules/fnmatch (Depends-on): Likewise.
55568         * modules/getsubopt (Depends-on): Likewise.
55569         * modules/git-merge-changelog (Depends-on): Likewise.
55570         * modules/glob (Depends-on): Likewise.
55571         * modules/strcasestr-simple (Depends-on): Likewise.
55572         * modules/strnlen (Depends-on): Likewise.
55573
55574 2008-11-02  Bruno Haible  <bruno@clisp.org>
55575
55576         Mark 'atexit' obsolete.
55577         * modules/atexit (Status, Notice): New sections.
55578         * modules/chdir-long (Depends-on): Add atexit.
55579         * modules/wait-process (Depends-on): Likewise.
55580
55581 2008-11-02  Bruno Haible  <bruno@clisp.org>
55582
55583         * gnulib-tool: New option --with-obsolete.
55584         (func_usage): Document it.
55585         (func_modules_transitive_closure): Drop obsolete dependencies if
55586         incobsolete is not true.
55587         (func_import): Read and save the incobsolete variable to the cache.
55588
55589 2008-11-02  Bruno Haible  <bruno@clisp.org>
55590
55591         * modules/TEMPLATE-EXTENDED: New field 'Status'.
55592         * gnulib-tool: New option --extract-status.
55593         (func_usage): Document it.
55594         (sed_extract_prog): Recognize it.
55595         (func_get_status): New function.
55596
55597 2008-10-30  Simon Josefsson  <simon@josefsson.org>
55598
55599         * modules/sockets (License): Change from LGPL to LGPLv2+.
55600
55601 2008-10-28  Simon Josefsson  <simon@josefsson.org>
55602
55603         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
55604
55605 2008-10-28  Simon Josefsson  <simon@josefsson.org>
55606
55607         * MODULES.html.sh (Support for systems lacking POSIX:2001):
55608         Mention times and sys_times.
55609         * modules/sys_times, modules/sys_times-tests: New modules.
55610         * modules/times, modules/times-tests: Likewise
55611         * m4/sys_times_h.m4: New file.
55612         * lib/sys_times.in.h: Likewise
55613         * lib/times.c: Likewise.
55614         * tests/test-sys_times.c: Likewise.
55615         * tests/test-times.c: Likewise.
55616         * doc/posix-headers/sys_times.texi: Update.
55617         * doc/posix-functions/times.texi: Update.
55618
55619 2008-10-28  Jim Meyering  <meyering@redhat.com>
55620
55621         * modules/tempname (Depends-on): Add lstat.
55622
55623         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
55624
55625 2008-10-28  Simon Josefsson  <simon@josefsson.org>
55626
55627         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
55628         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
55629         using idiom used elsewhere in gnulib.
55630
55631 2008-10-27  Jim Meyering  <meyering@redhat.com>
55632
55633         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
55634
55635 2008-10-27  Simon Josefsson  <simon@josefsson.org>
55636
55637         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
55638         TESTS_ENVIRONMENT, for shell scripts that needs to call built
55639         programs.
55640         * tests/test-argp-2.sh: Use $EXEEXT when needed.
55641
55642 2008-10-27  Simon Josefsson  <simon@josefsson.org>
55643
55644         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
55645
55646 2008-10-27  Bruno Haible  <bruno@clisp.org>
55647
55648         * tests/test-lstat.c: Include <stdio.h>.
55649
55650 2008-10-27  Simon Josefsson  <simon@josefsson.org>
55651
55652         * modules/lstat-tests: New module.
55653         * tests/test-lstat.c: New file.
55654
55655 2008-10-26  Jim Meyering  <meyering@redhat.com>
55656
55657         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
55658
55659 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55660             Bruno Haible  <bruno@clisp.org>
55661
55662         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
55663         * modules/configmake (Include): Add a note that the include must come
55664         after all system headers.
55665         * lib/javaversion.c: Include configmake.h after all other includes.
55666
55667 2008-10-26  Bruno Haible  <bruno@clisp.org>
55668
55669         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
55670         HAVE_STRUCT_RANDOM_DATA to 1.
55671         (gl_STDLIB_H): Simplify.
55672
55673 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55674
55675         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
55676         substitute HAVE_STRUCT_RANDOM_DATA.
55677         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
55678         random_data.
55679         * modules/stdlib (Makefile.am): Substitute
55680         HAVE_STRUCT_RANDOM_DATA.
55681
55682 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55683
55684         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
55685         * doc/gnulib-intro.texi (Copyright): Likewise.
55686
55687 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55688
55689         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
55690         findings.
55691
55692 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
55693             Bruno Haible  <bruno@clisp.org>
55694
55695         * lib/unistd.in.h: Include <winsock2.h>.
55696         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
55697         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
55698         Provide dummy declarations.
55699         (gethostname): Override.
55700         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
55701         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
55702         gl_PREREQ_SYS_H_WINSOCK2.
55703         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
55704         * doc/posix-functions/gethostname.texi: More details.
55705
55706 2008-10-25  Bruno Haible  <bruno@clisp.org>
55707
55708         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55709         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
55710         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
55711
55712         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
55713         here ...
55714         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
55715         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
55716         gl_UNISTD_H_DEFAULTS.
55717
55718 2008-10-25  Eric Blake  <ebb9@byu.net>
55719
55720         signbit: avoid spurious compiler failure
55721         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
55722         declarations inside function.
55723
55724 2008-10-24  Simon Josefsson  <simon@josefsson.org>
55725             Bruno Haible  <bruno@clisp.org>
55726
55727         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
55728         * modules/random_r (Depends-on): Add stdint.
55729
55730 2008-10-24  Bruno Haible  <bruno@clisp.org>
55731
55732         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
55733         Eggert.
55734         * modules/strerror (License): Likewise.
55735
55736 2008-10-24  Jim Meyering  <meyering@redhat.com>
55737
55738         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
55739         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
55740
55741 2008-10-24  Eric Blake  <ebb9@byu.net>
55742
55743         getgroups: fix compilation when getgroups is available
55744         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
55745         but with <config.h> override of getgroups disabled.
55746
55747 2008-10-24  Simon Josefsson  <simon@josefsson.org>
55748
55749         * doc/gnulib.texi (Header files): Add note about C++ problems.
55750         Explained by Bruno Haible <bruno@clisp.org>.
55751
55752 2008-10-23  Bruno Haible  <bruno@clisp.org>
55753
55754         Define a dummy SA_NODEFER macro on Interix.
55755         * lib/signal.in.h (SA_NODEFER): Define fallback.
55756         Reported by Aleksey Cheusov <cheusov@tut.by> via
55757         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
55758
55759 2008-10-23  Bruno Haible  <bruno@clisp.org>
55760
55761         * modules/freadahead (License): Change to LGPLv2+.
55762         Suggested by Simon Josefsson.
55763
55764 2008-10-23  Jim Meyering  <meyering@redhat.com>
55765
55766         random_r: new module
55767         * modules/random_r: New file.
55768         * m4/random_r.m4: New file.
55769         * lib/random_r.c: New file, from glibc.
55770         * modules/random_r-tests: New file.
55771         * tests/test-random_r.c: New file.
55772         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
55773          Declare.
55774         (RAND_MAX): Define.
55775         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
55776         * modules/stdlib: Substitute them, too.
55777         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
55778         * doc/glibc-functions/initstate_r.texi: Mention the new module.
55779         * doc/glibc-functions/random_r.texi: Likewise.
55780         * doc/glibc-functions/setstate_r.texi: Likewise.
55781         * doc/glibc-functions/srandom_r.texi: Likewise.
55782         * config/srclist.txt: Mention it.
55783
55784 2008-10-23  David Lutterkort  <lutter@redhat.com>
55785
55786         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
55787         link requirement
55788
55789 2008-10-23  Jim Meyering  <meyering@redhat.com>
55790
55791         selinux-h: mark parameters of stub functions as intentionally unused
55792         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
55793         * lib/se-context.in.h: Likewise.
55794
55795 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55796
55797         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
55798
55799 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55800
55801         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
55802
55803 2008-10-22  Eric Blake  <ebb9@byu.net>
55804
55805         glthread/thread: avoid compiler warning
55806         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
55807         Add unreachable abort to silence compiler.
55808
55809 2008-10-22  Eric Blake  <ebb9@byu.net>
55810
55811         netdb: also supply struct addrinfo for cygwin 1.5.x
55812         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
55813         older cygwin.
55814         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
55815         cygwin.
55816         * doc/posix-headers/netdb.texi (netdb.h): Document this.
55817
55818 2008-10-22  Bruno Haible  <bruno@clisp.org>
55819
55820         * users.txt: Update entry about pspp.
55821
55822 2008-10-21  Bruno Haible  <bruno@clisp.org>
55823
55824         Simplification.
55825         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
55826         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
55827
55828         Simplification.
55829         * lib/ioctl.c (ioctl): Don't undefine.
55830         * lib/socket.c (socket): Don't undefine.
55831
55832         Remove unused module indicator macros.
55833         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
55834         GNULIB_$1 as a C macro.
55835
55836         * doc/posix-functions/close.texi: Undo last change.
55837         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
55838         Windows platforms.
55839
55840 2008-10-21  Bruno Haible  <bruno@clisp.org>
55841
55842         Add gethostname() declaration to <unistd.h>.
55843         * lib/unistd.in.h (gethostname): New declaration.
55844         * lib/gethostname.c: Include <unistd.h>.
55845         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
55846         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
55847         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
55848         and HAVE_GETHOSTNAME.
55849         * modules/gethostname (Depends-on): Add unistd.
55850         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55851         (Include): Specify <unistd.h>.
55852         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
55853         HAVE_GETHOSTNAME.
55854         * tests/test-gethostname.c: Include <unistd.h> first.
55855
55856 2008-10-21  Bruno Haible  <bruno@clisp.org>
55857
55858         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
55859         * modules/select-tests (Depends-on): Likewise.
55860         Reported by Simon Josefsson.
55861
55862 2008-10-21  Simon Josefsson  <simon@josefsson.org>
55863
55864         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
55865         * lib/accept.c: New file, based on winsock.c.
55866         * lib/bind.c: New file, based on winsock.c.
55867         * lib/connect.c: New file, based on winsock.c.
55868         * lib/getpeername.c: New file, based on winsock.c.
55869         * lib/getsockname.c: New file, based on winsock.c.
55870         * lib/getsockopt.c: New file, based on winsock.c.
55871         * lib/ioctl.c: New file, based on winsock.c.
55872         * lib/listen.c: New file, based on winsock.c.
55873         * lib/recv.c: New file, based on winsock.c.
55874         * lib/recvfrom.c: New file, based on winsock.c.
55875         * lib/send.c: New file, based on winsock.c.
55876         * lib/sendto.c: New file, based on winsock.c.
55877         * lib/setsockopt.c: New file, based on winsock.c.
55878         * lib/shutdown.c: New file, based on winsock.c.
55879         * lib/socket.c: New file, based on winsock.c.
55880         * lib/w32sock.h: New file, based on winsock.c.
55881         * lib/winsock.c: Remove file.
55882         * modules/accept: Likewise.
55883         * modules/bind: Likewise.
55884         * modules/connect: Likewise.
55885         * modules/getpeername: Likewise.
55886         * modules/getsockname: Likewise.
55887         * modules/getsockopt: Likewise.
55888         * modules/ioctl: Likewise.
55889         * modules/listen: Likewise.
55890         * modules/recv: Likewise.
55891         * modules/recvfrom: Likewise.
55892         * modules/send: Likewise.
55893         * modules/sendto: Likewise.
55894         * modules/setsockopt: Likewise.
55895         * modules/shutdown: Likewise.
55896         * modules/socket: Use socket.c instead of winsock.c.
55897         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
55898         * doc/posix-functions/accept.texi: Doc fix.
55899         * doc/posix-functions/bind.texi: Doc fix.
55900         * doc/posix-functions/close.texi: Doc fix.
55901         * doc/posix-functions/connect.texi: Doc fix.
55902         * doc/posix-functions/getpeername.texi: Doc fix.
55903         * doc/posix-functions/getsockname.texi: Doc fix.
55904         * doc/posix-functions/getsockopt.texi: Doc fix.
55905         * doc/posix-functions/ioctl.texi: Doc fix.
55906         * doc/posix-functions/listen.texi: Doc fix.
55907         * doc/posix-functions/recv.texi: Doc fix.
55908         * doc/posix-functions/recvfrom.texi: Doc fix.
55909         * doc/posix-functions/send.texi: Doc fix.
55910         * doc/posix-functions/sendto.texi: Doc fix.
55911         * doc/posix-functions/setsockopt.texi: Doc fix.
55912         * doc/posix-functions/shutdown.texi: Doc fix.
55913         * doc/posix-functions/socket.texi: Doc fix.
55914
55915 2008-10-20  Bruno Haible  <bruno@clisp.org>
55916
55917         Take into account the role of SIGABRT_COMPAT on Windows 2008.
55918         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
55919         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
55920         as an alias for SIGABRT.
55921         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
55922         (sigaction): Map it to SIGABRT.
55923         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
55924
55925 2008-10-20  Bruno Haible  <bruno@clisp.org>
55926
55927         * lib/fts.c: Don't include lstat.h.
55928         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
55929
55930         Move the lstat() declaration to <sys/stat.h>.
55931         * lib/lstat.h: Remove file.
55932         * lib/sys_stat.in.h: Add special invocation convention.
55933         (lstat): New declaration.
55934         * lib/lstat.c (orig_lstat): New function.
55935         (rpl_lstat): Use orig_lstat instead of lstat.
55936         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
55937         AC_C_INLINE. Set REPLACE_LSTAT.
55938         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
55939         and REPLACE_LSTAT.
55940         * modules/lstat (Files): Remove lib/lstat.h.
55941         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55942         (Include): Specify <sys/stat.h> instead of lstat.h.
55943         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
55944         REPLACE_LSTAT.
55945         * NEWS: Mention the change.
55946
55947 2008-10-20  Bruno Haible  <bruno@clisp.org>
55948
55949         * modules/posix_spawn-tests: New file.
55950         * tests/test-posix_spawn3.c: New file.
55951
55952 2008-10-20  Bruno Haible  <bruno@clisp.org>
55953
55954         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
55955         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55956         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
55957         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55958         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
55959
55960 2008-10-20  Bruno Haible  <bruno@clisp.org>
55961
55962         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
55963         of posix_spawn on AIX 5.3.
55964
55965 2008-10-20  Bruno Haible  <bruno@clisp.org>
55966
55967         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
55968
55969 2008-10-20  Bruno Haible  <bruno@clisp.org>
55970
55971         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
55972         of AC_LANG_PROGRAM.
55973
55974 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55975
55976         * lib/netdb.in.h: Don't define GNU specific constants until they
55977         are supported or needed.  Reported by Bruno Haible
55978         <bruno@clisp.org>.
55979
55980 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55981
55982         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
55983
55984 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55985
55986         * lib/getaddrinfo.h: Remove file.
55987         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
55988         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
55989         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
55990         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
55991         * modules/netdb: Substitute GNULIB_GETADDRINFO.
55992         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
55993         * tests/test-getaddrinfo.c: Likewise.
55994         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
55995         * NEWS: Mention change.
55996
55997 2008-10-19  Bruno Haible  <bruno@clisp.org>
55998
55999         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
56000
56001 2008-10-19  Bruno Haible  <bruno@clisp.org>
56002
56003         * lib/wait-process.c: Include simply <sys/wait.h>.
56004         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
56005         WIFSTOPPED): Remove fallback definitions.
56006         * modules/wait-process (Depends-on): Add sys_wait.
56007
56008         New module 'sys_wait'.
56009         * modules/sys_wait: New file.
56010         * lib/sys_wait.in.h: New file, partially copied from
56011         lib/wait-process.c.
56012         * m4/sys_wait_h.m4: New file.
56013         * doc/posix-headers/sys_wait.texi: Mention the new module.
56014
56015 2008-10-19  Bruno Haible  <bruno@clisp.org>
56016
56017         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
56018
56019 2008-10-19  Bruno Haible  <bruno@clisp.org>
56020
56021         Assume that waitpid() fills an 'int' status, not a 'union wait'.
56022         * lib/wait-process.c (WAIT_T): Remove type.
56023         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
56024         (wait_subprocess): Update.
56025
56026 2008-10-19  Bruno Haible  <bruno@clisp.org>
56027
56028         New module 'atoll'.
56029         * modules/atoll: New file.
56030         * lib/stdlib.in.h (atoll): New declaration.
56031         * lib/atoll.c: New file, from glibc with modifications.
56032         * m4/atoll.m4: New file.
56033         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
56034         HAVE_ATOLL.
56035         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
56036         * doc/posix-functions/atoll.texi: Mention the new module.
56037
56038 2008-10-19  Bruno Haible  <bruno@clisp.org>
56039
56040         Add strtoull() declaration to <stdlib.h>.
56041         * lib/stdlib.in.h (strtoull): New declaration.
56042         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
56043         Set HAVE_STRTOULL.
56044         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
56045         HAVE_STRTOULL.
56046         * modules/strtoull (Depends-on): Add stdlib.
56047         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56048         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
56049         HAVE_STRTOULL.
56050
56051 2008-10-19  Bruno Haible  <bruno@clisp.org>
56052
56053         Add strtoll() declaration to <stdlib.h>.
56054         * lib/stdlib.in.h (strtoll): New declaration.
56055         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
56056         Set HAVE_STRTOLL.
56057         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
56058         HAVE_STRTOLL.
56059         * modules/strtoll (Depends-on): Add stdlib.
56060         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56061         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
56062
56063 2008-10-19  Bruno Haible  <bruno@clisp.org>
56064
56065         * modules/bcopy (Depends-on): Add strings.
56066         (Include): Specify <strings.h>.
56067
56068 2008-10-19  Bruno Haible  <bruno@clisp.org>
56069
56070         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
56071
56072 2008-10-19  Bruno Haible  <bruno@clisp.org>
56073
56074         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
56075         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
56076         mingw.
56077
56078 2008-10-19  Bruno Haible  <bruno@clisp.org>
56079
56080         * lib/atanl.c: Don't include isnanl.h.
56081         * lib/cosl.c: Likewise.
56082         * lib/ldexpl.c: Likewise.
56083         * lib/logl.c: Likewise.
56084         * lib/sinl.c: Likewise.
56085         * lib/sqrtl.c: Likewise.
56086         * lib/tanl.c: Likewise.
56087
56088         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
56089         * lib/isnanf.h: Remove file.
56090         * lib/isnand.h: Remove file.
56091         * lib/isnanl.h: Remove file.
56092         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
56093         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
56094         macros.
56095         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
56096         HAVE_ISNANF, don't define it as a C macro.
56097         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
56098         HAVE_ISNAND, don't define it as a C macro.
56099         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
56100         HAVE_ISNANL, don't define it as a C macro.
56101         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
56102         HAVE_ISNAN[FDL].
56103         * modules/isnanf (Files): Remove lib/isnanf.h.
56104         (Depends-on): Add math.
56105         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
56106         (Include): Specify <math.h> instead of isnanf.h.
56107         * modules/isnand (Files): Remove lib/isnand.h.
56108         (Depends-on): Add math.
56109         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
56110         (Include): Specify <math.h> instead of isnand.h.
56111         * modules/isnanl (Files): Remove lib/isnanl.h.
56112         (Depends-on): Add math.
56113         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
56114         (Include): Specify <math.h> instead of isnanl.h.
56115         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
56116         HAVE_ISNAN[FDL].
56117         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
56118         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
56119         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
56120         * NEWS: Mention the change.
56121
56122 2008-10-18  Bruno Haible  <bruno@clisp.org>
56123
56124         Add getusershell(), setusershell(), endusershell() declarations to
56125         <unistd.h>.
56126         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
56127         declarations.
56128         * lib/getusershell.c: Include unistd.h.
56129         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
56130         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
56131         HAVE_GETUSERSHELL.
56132         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
56133         and HAVE_GETUSERSHELL.
56134         * modules/getusershell (Depends-on): Add unistd, extensions.
56135         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56136         (Include): Specify <unistd.h>.
56137         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
56138         HAVE_GETUSERSHELL.
56139
56140 2008-10-18  Bruno Haible  <bruno@clisp.org>
56141
56142         Add a getloadavg() declaration to <stdlib.h>.
56143         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
56144         getloadavg declaration.
56145         (getloadavg): New declaration.
56146         * lib/getloadavg.c: Include <stdlib.h> first.
56147         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
56148         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
56149         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
56150         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
56151         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
56152         * modules/getloadavg (Depends-on): Add stdlib, extensions.
56153         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56154         (Include): Specify <stdlib.h>.
56155         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
56156         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
56157
56158 2008-10-18  Bruno Haible  <bruno@clisp.org>
56159
56160         * lib/dirchownmod.c: Don't include lchmod.h.
56161
56162         Move the lchmod() declaration to <sys/stat.h>.
56163         * lib/lchmod.h: Remove file.
56164         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
56165         (lchmod): New declaration, moved here from lib/lchown.h.
56166         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
56167         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
56168         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
56169         and HAVE_LCHMOD.
56170         * modules/lchmod (Files): Remove lib/lchmod.h.
56171         (Depends-on): Add sys_stat, extensions.
56172         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
56173         (Include): Specify <sys/stat.h> instead of lchmod.h.
56174         * modules/sys_stat (Depends-on): Add link-warning.
56175         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
56176         definition of GL_LINK_WARNING.
56177         * NEWS: Mention the change.
56178
56179 2008-10-18  Bruno Haible  <bruno@clisp.org>
56180
56181         * lib/fchdir.c: Don't include dirfd.h.
56182         * lib/fts.c: Likewise.
56183         * lib/getcwd.c: Likewise.
56184         * lib/glob.c: Likewise.
56185
56186         Move the dirfd() declaration to <dirent.h>.
56187         * lib/dirfd.h: Remove file.
56188         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
56189         (dirfd): New declaration.
56190         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
56191         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
56192         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
56193         HAVE_DECL_DIRFD.
56194         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
56195         HAVE_DECL_DIRFD.
56196         * modules/dirfd (Files): Remove lib/dirfd.h.
56197         (Depends-on): Add dirent, extensions.
56198         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
56199         (Include): Specify <dirent.h> instead of dirfd.h.
56200         * modules/dirent (Depends-on): Add link-warning.
56201         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
56202         definition of GL_LINK_WARNING.
56203         * NEWS: Mention the change.
56204
56205 2008-10-18  Bruno Haible  <bruno@clisp.org>
56206
56207         Move the euidaccess() declaration to <unistd.h>.
56208         * lib/euidaccess.h: Remove file.
56209         * lib/unistd.in.h (euidaccess): New declaration.
56210         * lib/euidaccess.c: Don't include euidaccess.h.
56211         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
56212         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
56213         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
56214         and HAVE_EUIDACCESS.
56215         * modules/euidaccess (Files): Remove lib/euidaccess.h.
56216         (Depends-on): Add unistd.
56217         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56218         (Include): Specify <unistd.h> instead of euidaccess.h.
56219         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
56220         HAVE_EUIDACCESS.
56221         * NEWS: Mention the change.
56222
56223 2008-10-18  Bruno Haible  <bruno@clisp.org>
56224
56225         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
56226
56227         Move the getdomainname() declaration to <unistd.h>.
56228         * lib/getdomainname.h: Remove file.
56229         * lib/unistd.in.h (getdomainname): New declaration.
56230         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
56231         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
56232         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
56233         HAVE_GETDOMAINNAME.
56234         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56235         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
56236         * modules/getdomainname (Files): Remove lib/getdomainname.h.
56237         (Depends-on): Add unistd, extensions.
56238         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56239         (Includes): Specify <unistd.h> instead of getdomainname.h.
56240         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
56241         HAVE_GETDOMAINNAME.
56242         * NEWS: Mention the change.
56243
56244 2008-10-18  Bruno Haible  <bruno@clisp.org>
56245
56246         * modules/dirent: New file.
56247         * m4/dirent_h.m4: New file.
56248         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
56249         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
56250         * modules/fchdir (Files): Remove lib/dirent.in.h.
56251         (Depends-on): Add dirent.
56252         (Makefile.am): Move rules to modules/dirent.
56253         * doc/posix-headers/dirent.texi: Mention the new module.
56254
56255 2008-10-18  Bruno Haible  <bruno@clisp.org>
56256
56257         Avoid -Wunused-parameter warnings in public gnulib header files.
56258         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
56259         macro.
56260         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
56261
56262 2008-10-18  Bruno Haible  <bruno@clisp.org>
56263
56264         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
56265         * doc/glibc-functions/error.texi: Mention the module 'error'.
56266         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
56267         * doc/glibc-functions/getdomainname.texi: Mention the module
56268         'getdomainname'.
56269         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
56270         * doc/glibc-functions/getpagesize.texi: Mention the module
56271         'getpagesize'.
56272         * doc/glibc-functions/getusershell.texi: Mention the module
56273         'getusershell'.
56274         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
56275         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
56276         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
56277         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
56278         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
56279         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
56280         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
56281         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
56282         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
56283         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
56284         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
56285         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
56286         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
56287         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
56288
56289 2008-10-17  Bruno Haible  <bruno@clisp.org>
56290
56291         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
56292         HP-UX and IRIX, use -0.0L.
56293         * tests/test-ceill.c (minus_zero): Likewise.
56294         * tests/test-floorl.c (minus_zero): Likewise.
56295         * tests/test-frexpl.c (minus_zero): Likewise.
56296         * tests/test-isnan.c (minus_zerol): Likewise.
56297         * tests/test-isnanl.h (minus_zero): Likewise.
56298         * tests/test-ldexpl.c (minus_zero): Likewise.
56299         * tests/test-roundl.c (minus_zero): Likewise.
56300         * tests/test-signbit.c (minus_zerol): Likewise.
56301         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
56302         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
56303         * tests/test-truncl.c (minus_zero): Likewise.
56304         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
56305         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
56306         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
56307         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
56308
56309 2008-10-17  Bruno Haible  <bruno@clisp.org>
56310
56311         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
56312         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
56313         that it gets activated only for gcc >= 3.0.
56314         * lib/dirent.in.h: Likewise.
56315         * lib/errno.in.h: Likewise.
56316         * lib/fcntl.in.h: Likewise.
56317         * lib/float.in.h: Likewise.
56318         * lib/iconv.in.h: Likewise.
56319         * lib/inttypes.in.h: Likewise.
56320         * lib/locale.in.h: Likewise.
56321         * lib/math.in.h: Likewise.
56322         * lib/netdb.in.h: Likewise.
56323         * lib/netinet_in.in.h: Likewise.
56324         * lib/search.in.h: Likewise.
56325         * lib/signal.in.h: Likewise.
56326         * lib/spawn.in.h: Likewise.
56327         * lib/stdarg.in.h: Likewise.
56328         * lib/stdint.in.h: Likewise.
56329         * lib/stdio.in.h: Likewise.
56330         * lib/stdlib.in.h: Likewise.
56331         * lib/string.in.h: Likewise.
56332         * lib/strings.in.h: Likewise.
56333         * lib/sys_file.in.h: Likewise.
56334         * lib/sys_ioctl.in.h: Likewise.
56335         * lib/sys_select.in.h: Likewise.
56336         * lib/sys_socket.in.h: Likewise.
56337         * lib/sys_stat.in.h: Likewise.
56338         * lib/sys_time.in.h: Likewise.
56339         * lib/sysexits.in.h: Likewise.
56340         * lib/time.in.h: Likewise.
56341         * lib/unistd.in.h: Likewise.
56342         * lib/wchar.in.h: Likewise.
56343         * lib/wctype.in.h: Likewise.
56344         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56345
56346 2008-10-17  Jim Meyering  <meyering@redhat.com>
56347
56348         ignore-value: don't depend on inline module
56349         * modules/ignore-value (Depends-on): Remove 'inline'.
56350         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
56351         Suggestion from Bruno Haible.
56352
56353 2008-10-17  Bruno Haible  <bruno@clisp.org>
56354
56355         New implementation of condition variables for Win32.
56356         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
56357         (gl_linked_waitqueue_t): New type.
56358         (gl_cond_t): Use it.
56359         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
56360         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
56361         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
56362         (glthread_cond_init_func, glthread_cond_wait_func,
56363         glthread_cond_timedwait_func, glthread_cond_signal_func,
56364         glthread_cond_broadcast_func, glthread_cond_destroy_func):
56365         Reimplemented on the basis of gl_linked_waitqueue_t.
56366         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
56367         gl_waitqueue_t.
56368         (gl_rwlock_t): Update.
56369         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
56370
56371 2008-10-17  Simon Josefsson  <simon@josefsson.org>
56372
56373         * modules/recvfrom (Depends-on): Add dependency on getpeername.
56374         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
56375
56376 2008-10-17  Jim Meyering  <meyering@redhat.com>
56377
56378         ignore-value: new module
56379         * modules/ignore-value: New file.
56380         * lib/ignore-value.h: New file.
56381         * MODULES.html.sh (Compiler warning management): New section,
56382         just for this module.  More to come.
56383
56384 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
56385
56386         open-safer.c: avoid 'signed and unsigned in conditional...' warning
56387         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
56388         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
56389
56390 2008-10-16  Jim Meyering  <meyering@redhat.com>
56391
56392         openat-die.c: avoid 'no previous prototype' warning
56393         * lib/openat-die.c: Include "openat.h".
56394         Reported by Reuben Thomas <rrt@sc3d.org>.
56395
56396 2008-10-16  Simon Josefsson  <simon@josefsson.org>
56397
56398         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
56399         * lib/netdb.in.h: Fix typo.
56400         Reported by Bruno Haible  <bruno@clisp.org>
56401
56402         * lib/netdb.in.h: Include sys/socket.h for platforms without
56403         netdb.h, to get structures like hostent on MinGW.
56404         * modules/netdb (Depends-on): Add sys_socket.
56405
56406 2008-10-15  Simon Josefsson  <simon@josefsson.org>
56407
56408         * modules/netdb, modules/netdb-tests: New file.
56409         * m4/netdb_h.m4: New file.
56410         * lib/netdb.in.h: Add, currently just an empty file pending
56411         definitions.
56412         * tests/test-netdb.c: New file.
56413         * doc/posix-headers/netdb.texi: Mention that we replace it if
56414         needed.
56415         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56416         netdb.
56417
56418 2008-10-15  Simon Josefsson  <simon@josefsson.org>
56419
56420         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
56421         with code.
56422
56423 2008-10-13  Bruno Haible  <bruno@clisp.org>
56424
56425         * lib/glthread/cond.c (glthread_cond_wait_func,
56426         glthread_cond_timedwait_func): Add a comment.
56427
56428 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56429
56430         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
56431         * tests/test-select.c: Likewise,
56432
56433 2008-10-13  Bruno Haible  <bruno@clisp.org>
56434
56435         * lib/glthread/cond.c (glthread_cond_wait_func,
56436         glthread_cond_timedwait_func): Fix variable name.
56437         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
56438
56439 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
56440
56441         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
56442         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
56443         struct sockaddr.sa_len.
56444         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
56445
56446 2008-10-13  Simon Josefsson  <simon@josefsson.org>
56447
56448         * build-aux/pmccabe2html: Add css and css_url parameters.
56449
56450 2008-10-12  Bruno Haible  <bruno@clisp.org>
56451
56452         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
56453         calling aclx_get.
56454         Reported by Rainer Tammer <tammer@tammer.net>.
56455
56456 2008-10-12  Bruno Haible  <bruno@clisp.org>
56457
56458         Use msvcrt aware primitives for creation/termination of Win32 threads.
56459         * lib/glthread/thread.c: Include <process.h>.
56460         (glthread_create_func): Use _beginthreadex instead of CreateThread.
56461         (wrapper_func): Update signature.
56462         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
56463
56464 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56465             Bruno Haible  <bruno@clisp.org>
56466
56467         Provide a Win32 implementation of the 'cond' module.
56468         * lib/glthread/cond.h [USE_WIN32]: New implementation.
56469         * lib/glthread/cond.c (glthread_cond_init_func,
56470         glthread_cond_wait_func, glthread_cond_timedwait_func,
56471         glthread_cond_signal_func, glthread_cond_broadcast_func,
56472         glthread_cond_destroy_func) [USE_WIN32]: New functions.
56473         * modules/cond (Dependencies): Add gettimeofday.
56474
56475 2008-10-11  Bruno Haible  <bruno@clisp.org>
56476
56477         Make sleep work on older versions of mingw.
56478         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
56479         only whether it exists.
56480         * doc/posix-functions/sleep.texi: Mention the problem with older
56481         versions of mingw.
56482
56483 2008-10-11  Bruno Haible  <bruno@clisp.org>
56484
56485         New module 'shutdown'.
56486         * modules/shutdown: New file.
56487         * lib/sys_socket.in.h (shutdown): New declaration.
56488         * lib/winsock.c (shutdown): New function.
56489         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
56490         GNULIB_SHUTDOWN.
56491         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
56492         * doc/posix-functions/shutdown.texi: Document the new module.
56493
56494 2008-10-11  Jim Meyering  <meyering@redhat.com>
56495
56496         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
56497
56498 2008-10-11  Bruno Haible  <bruno@clisp.org>
56499
56500         New module 'fclose'.
56501         * modules/fclose: New file.
56502         * lib/stdio.in.h (fclose): New declaration.
56503         * lib/fclose.c: New file.
56504         * m4/fclose.m4: New file.
56505         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
56506         REPLACE_FCLOSE.
56507         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
56508         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
56509         REPLACE_FCLOSE.
56510         * modules/close (Depends-on): fclose.
56511         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
56512
56513 2008-10-11  Bruno Haible  <bruno@clisp.org>
56514
56515         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
56516         set errno and don't call _close.
56517
56518 2008-10-10  Bruno Haible  <bruno@clisp.org>
56519
56520         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
56521         ACL, not afterwards. Fixes test failure on Cygwin.
56522
56523 2008-10-09  Ben Pfaff  <blp@gnu.org>
56524
56525         * build-aux/announce-gen: Fix gnulib version related part of usage
56526         message.  Die with a useful error message if no tarballs are
56527         found.
56528
56529 2008-10-10  Jim Meyering  <meyering@redhat.com>
56530
56531         bootstrap: use git's --depth=N option only if it's supported
56532         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
56533         recognize the --depth option.  Reported by Pádraig Brady.
56534
56535 2008-10-09  Bruno Haible  <bruno@clisp.org>
56536
56537         New module 'ioctl'.
56538         * modules/ioctl: New file.
56539         * lib/sys_socket.in.h (ioctl): Remove declaration.
56540         * lib/winsock.c: Include <sys/ioctl.h>.
56541         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
56542         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
56543         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
56544         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
56545         * doc/posix-functions/ioctl.texi: Mention the new module.
56546
56547 2008-10-09  Bruno Haible  <bruno@clisp.org>
56548
56549         New module 'sys_ioctl'.
56550         * lib/sys_ioctl.in.h: New file.
56551         * m4/sys_ioctl_h.m4: New file.
56552         * modules/sys_ioctl: New file.
56553         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
56554
56555 2008-10-09  Bruno Haible  <bruno@clisp.org>
56556
56557         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
56558         * lib/winsock.c: Include <stdarg.h>.
56559         (rpl_ioctl): Change to second argument 'int' and then varargs.
56560
56561 2008-10-09  Bruno Haible  <bruno@clisp.org>
56562
56563         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
56564         when the sys_socket module is present and the system has <winsock2.h>.
56565
56566 2008-10-09  Bruno Haible  <bruno@clisp.org>
56567
56568         * doc/posix-functions/close.texi: Mention module 'close' instead of
56569         module 'sys_socket'.
56570
56571 2008-10-09  Bruno Haible  <bruno@clisp.org>
56572
56573         * doc/glibc-headers/sys_ioctl.texi: New file.
56574         * doc/gnulib.texi: Include it.
56575
56576 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56577             Bruno Haible  <bruno@clisp.org>
56578
56579         Combine the two replacements of 'close'.
56580         * lib/sys_socket.in.h (close): Define to a reminder to include
56581         <unistd.h>.
56582         (_gl_close_fd_maybe_socket): New declaration.
56583         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
56584         * lib/winsock.c (close): Remove undefinition.
56585         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
56586         needed for the gnulib module 'close'.
56587         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
56588         define to an error symbol or to a warning, if suitable.
56589         * lib/close.c: Include <sys/socket.h>.
56590         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
56591         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
56592         UNISTD_H_HAVE_WINSOCK2_H.
56593         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
56594         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56595         UNISTD_H_HAVE_WINSOCK2_H.
56596         * modules/sys_socket (Files): Add m4/unistd_h.m4.
56597         (configure.ac): Set a module indicator.
56598         (Makefile.am): Substitute GNULIB_CLOSE.
56599         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
56600         * modules/poll-tests (Depends-on): Add close.
56601         * modules/select-tests (Depends-on): Likewise.
56602
56603 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56604             Bruno Haible  <bruno@clisp.org>
56605
56606         New module 'close'.
56607         * modules/close: New file.
56608         * lib/unistd.in.h (close): Move declaration out of the
56609         FCHDIR_REPLACEMENT scope.
56610         (_gl_unregister_fd): New declaration.
56611         * lib/close.c: New file.
56612         * lib/fchdir.c (rpl_close): Remove function.
56613         * m4/close.m4: New file.
56614         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
56615         close.
56616         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
56617         REPLACE_CLOSE.
56618         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
56619         REPLACE_CLOSE.
56620         * modules/fchdir (Depends-on): Add close.
56621
56622 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56623             Bruno Haible  <bruno@clisp.org>
56624
56625         * lib/fcntl.in.h (open): Simplify conditionals.
56626         (_gl_register_fd): New declaration.
56627         * lib/fchdir.c (rpl_open): Remove function.
56628         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
56629         also.
56630         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
56631         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
56632         open.
56633
56634 2008-10-09  Jim Meyering  <meyering@redhat.com>
56635
56636         GNUmakefile: use the more name-space-friendly "_version"
56637         * top/GNUmakefile (_dummy): Update.
56638         (_version): Rename from "version".
56639
56640 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56641             Bruno Haible  <bruno@clisp.org>
56642
56643         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
56644         rpl_close.
56645         (_gl_register_fd): New function, extracted from rpl_open.
56646         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
56647         (rpl_open, rpl_opendir): Use _gl_register_fd.
56648
56649 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56650
56651         Fix organization of 'open' replacement.
56652         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
56653         (gl_FUNC_OPEN): Use it.
56654         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
56655
56656 2008-10-08  Bruno Haible  <bruno@clisp.org>
56657
56658         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
56659
56660 2008-10-08  Simon Josefsson  <simon@josefsson.org>
56661
56662         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
56663         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
56664         listen).
56665
56666 2008-10-08  Eric Blake  <ebb9@byu.net>
56667
56668         GNUmakefile: add 'make version' target
56669         * top/GNUmakefile (_curr-ver): Split version update rules...
56670         (version): ...into a target.
56671
56672 2008-10-07  Bruno Haible  <bruno@clisp.org>
56673
56674         Use a more portable replacement expression for -0.0L.
56675         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
56676         instead of -0.0L. Fix m4 quotation.
56677
56678         * tests/test-signbit.c: Include <float.h>.
56679         (minus_zero): New variable.
56680         (test_signbitl): Use minus_zero instead of -zero.
56681         * modules/signbit-tests (Depends-on): Add float.
56682
56683         * tests/test-ceill.c: Include <float.h>.
56684         (zero): Remove variable.
56685         (minus_zero): New variable.
56686         (main): Use minus_zero instead of -zero.
56687         * modules/ceill-tests (Depends-on): Add float.
56688
56689         * tests/test-floorl.c: Include <float.h>.
56690         (zero): Remove variable.
56691         (minus_zero): New variable.
56692         (main): Use minus_zero instead of -zero.
56693         * modules/floorl-tests (Depends-on): Add float.
56694
56695         * tests/test-roundl.c: Include <float.h>.
56696         (zero): Remove variable.
56697         (minus_zero): New variable.
56698         (main): Use minus_zero instead of -zero.
56699         * modules/roundl-tests (Depends-on): Add float.
56700
56701         * tests/test-truncl.c: Include <float.h>.
56702         (zero): Remove variable.
56703         (minus_zero): New variable.
56704         (main): Use minus_zero instead of -zero.
56705         * modules/truncl-tests (Depends-on): Add float.
56706
56707         * tests/test-frexpl.c (zero): Remove variable.
56708         (minus_zero): New variable.
56709         (main): Use minus_zero instead of -zero.
56710         * modules/frexpl-tests (Depends-on): Add float.
56711
56712         * tests/test-isnan.c (zerol): Remove variable.
56713         (minus_zerol): New variable.
56714         (test_long_double): Use minus_zerol instead of -zerol.
56715         * modules/isnan-tests (Depends-on): Add float.
56716
56717         * tests/test-isnanl.h (zero): Remove variable.
56718         (minus_zero): New variable.
56719         (main): Use minus_zero instead of -zero.
56720         * modules/isnanl-nolibm-tests (Depends-on): Add float.
56721         * modules/isnanl-tests (Depends-on): Add float.
56722
56723         * tests/test-ldexpl.c (zero): Remove variable.
56724         (minus_zero): New variable.
56725         (main): Use minus_zero instead of -zero.
56726         * modules/ldexpl-tests (Depends-on): Add float.
56727
56728         * tests/test-snprintf-posix.h (zerol): Remove variable.
56729         (minus_zerol): New variable.
56730         (test_function): Use minus_zerol instead of -zerol.
56731         * modules/snprintf-posix-tests (Depends-on): Add float.
56732         * modules/vsnprintf-posix-tests (Depends-on): Add float.
56733
56734         * tests/test-sprintf-posix.h (zerol): Remove variable.
56735         (minus_zerol): New variable.
56736         (test_function): Use minus_zerol instead of -zerol.
56737         * modules/sprintf-posix-tests (Depends-on): Add float.
56738         * modules/vsprintf-posix-tests (Depends-on): Add float.
56739
56740         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
56741         (minus_zerol): New variable.
56742         (test_function): Use minus_zerol instead of -zerol.
56743         * modules/vasnprintf-posix-tests (Depends-on): Add float.
56744
56745         * tests/test-vasprintf-posix.c (zerol): Remove variable.
56746         (minus_zerol): New variable.
56747         (test_function): Use minus_zerol instead of -zerol.
56748         * modules/vasprintf-posix-tests (Depends-on): Add float.
56749
56750 2008-10-07  Simon Josefsson  <simon@josefsson.org>
56751
56752         * MODULES.html.sh (Support for building documentation): Mention
56753         pmccabe2html.  Sort entries.
56754
56755         Add pmccabe2html module, from gnupdf.
56756         * build-aux/pmccabe.css: New file.
56757         * build-aux/pmccabe2html: New file.
56758         * m4/pmccabe2html.m4: New file.
56759         * modules/pmccabe2html: New file.
56760
56761 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
56762
56763         flock: new module
56764         * MODULES.html.sh: Add to list of modules.
56765         * lib/flock.c: flock implementation for Windows and Unix systems
56766         which have fcntl.
56767         * doc/glibc-functions/flock.texi: Update documentation.
56768         * lib/sys_file.in.h: <sys/file.h> header file.
56769         * m4/flock.m4: M4 macros.
56770         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
56771         * modules/flock: flock module.
56772         * modules/flock-tests: flock tests module.
56773         * modules/sys_file: sys/file.h module.
56774         * tests/test-flock.c: test suite for flock.
56775
56776 2008-10-06  Jim Meyering  <meyering@redhat.com>
56777
56778         bootstrap: check for LT_INIT more portably still ;-)
56779         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
56780         Spotted by Bruno Haible.
56781
56782 2008-10-06  Eric Blake  <ebb9@byu.net>
56783
56784         test-signbit: avoid tripping Irix cc bug on -0.0L
56785         * tests/test-signbit.c (minus_zerol): Delete, and replace with
56786         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
56787         entire testsuite consistent and avoids an Irix 6.2 bug.
56788
56789 2008-10-05  Bruno Haible  <bruno@clisp.org>
56790             Jim Meyering  <jim@meyering.net>
56791
56792         Add an option for ignoring EPIPE during close_stdout.
56793         * lib/closeout.h: Include <stdbool.h>.
56794         (close_stdout_set_ignore_EPIPE): New declaration.
56795         * lib/closeout.c: Include <stdbool.h>.
56796         (ignore_EPIPE): New variable.
56797         (close_stdout_set_ignore_EPIPE): New function.
56798         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
56799         * lib/close-stream.c (close_stream): Mention the possible EPIPE
56800         failure.
56801         * modules/closeout (Depends-on): Add stdbool.
56802
56803 2008-10-05  Bruno Haible  <bruno@clisp.org>
56804
56805         * modules/accept: New file.
56806         * modules/bind: New file.
56807         * modules/connect: New file.
56808         * modules/getpeername: New file.
56809         * modules/getsockname: New file.
56810         * modules/getsockopt: New file.
56811         * modules/listen: New file.
56812         * modules/recv: New file.
56813         * modules/recvfrom: New file.
56814         * modules/send: New file.
56815         * modules/sendto: New file.
56816         * modules/setsockopt: New file.
56817         * modules/socket: New file.
56818         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
56819         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
56820         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
56821         the particular module is requested. Add a link warning when the
56822         particular module is not requested.
56823         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
56824         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
56825         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
56826         the particular module is requested.
56827         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
56828         gl_SYS_SOCKET_H_DEFAULTS): New macros.
56829         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
56830         * modules/sys_socket (Depends-on): Add link-warning.
56831         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
56832         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
56833         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
56834         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
56835         GL_LINK_WARNING.
56836         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
56837         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
56838         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
56839         * doc/posix-functions/getpeername.texi: Mention the new module
56840         'getpeername'.
56841         * doc/posix-functions/getsockname.texi: Mention the new module
56842         'getsockname'.
56843         * doc/posix-functions/getsockopt.texi: Mention the new module
56844         'getsockopt'.
56845         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
56846         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
56847         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
56848         * doc/posix-functions/send.texi: Mention the new module 'send'.
56849         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
56850         * doc/posix-functions/setsockopt.texi: Mention the new module
56851         'setsockopt'.
56852         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
56853         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
56854         listen, connect, accept.
56855         * modules/select-tests (Depends-on): Likewise.
56856
56857 2008-10-05  Bruno Haible  <bruno@clisp.org>
56858
56859         * lib/winsock.c (strerror): Remove unused #undef.
56860         (rpl_close): Remove unused local variable.
56861
56862         * modules/sys_socket (Depends-on); Add errno.
56863
56864 2008-10-05  Bruno Haible  <bruno@clisp.org>
56865
56866         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
56867         (select): Add a link warning when the 'select' module is not used.
56868         * modules/sys_select (Depends-on): Add link-warning.
56869         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
56870         Suggested by Paolo Bonzini.
56871
56872 2008-10-05  Jim Meyering  <meyering@redhat.com>
56873
56874         bootstrap: check for LT_INIT more portably
56875         * build-aux/bootstrap: Avoid using grep -E, since it's not
56876         portable enough.  Suggestion from Bruno Haible.
56877
56878 2008-10-05  Bruno Haible  <bruno@clisp.org>
56879
56880         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
56881         as being fixed by gnulib.
56882
56883 2008-10-05  Bruno Haible  <bruno@clisp.org>
56884
56885         * modules/select-tests: New file, mostly copied from
56886         modules/sys_select-tests.
56887         * tests/test-select.c: New file, mostly copied from
56888         tests/test-sys_select.c.
56889         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
56890         * modules/sys_select-tests (Depends-on): Remove all dependencies.
56891         (Makefile.am): Remove test_sys_select_LDADD.
56892
56893         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
56894         to an undefined symbol, for an error message.
56895         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
56896         (gl_SYS_SELECT_H_DEFAULTS): New macro.
56897         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
56898         winsock-select.c here.
56899         * modules/sys_select (Files): Remove lib/winsock-select.c.
56900         (Depends-on): Remove alloca.
56901         (Makefile.am): Substitute GNULIB_SELECT.
56902         * modules/select: New file.
56903         * doc/posix-functions/select.texi: Update.
56904
56905 2008-10-05  Bruno Haible  <bruno@clisp.org>
56906
56907         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
56908         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
56909         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
56910         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
56911         getdtablesize.
56912         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
56913         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
56914
56915 2008-10-05  Bruno Haible  <bruno@clisp.org>
56916
56917         * modules/getdtablesize-tests: New file.
56918         * tests/test-getdtablesize.c: New file.
56919
56920         New module 'getdtablesize'.
56921         * lib/unistd.in.h (getdtablesize): New declaration.
56922         * lib/getdtablesize.c: New file.
56923         * m4/getdtablesize.m4: New file.
56924         * modules/getdtablesize: New file.
56925         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56926         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
56927         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
56928         HAVE_GETDTABLESIZE.
56929         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
56930
56931 2008-10-05  Bruno Haible  <bruno@clisp.org>
56932
56933         * modules/sched (Makefile.am): Fix typo.
56934         Reported by Simon Josefsson.
56935
56936 2008-10-05  Jim Meyering  <meyering@redhat.com>
56937
56938         bootstrap: check for LT_INIT, too
56939         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
56940         are deprecated.  Suggestion from Ralf Wildenhues.
56941
56942 2008-10-05  Bruno Haible  <bruno@clisp.org>
56943
56944         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
56945         overriding them by ours.
56946         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
56947
56948 2008-10-05  Jim Meyering  <meyering@redhat.com>
56949
56950         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
56951         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
56952         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
56953
56954 2008-10-04  Bruno Haible  <bruno@clisp.org>
56955
56956         * modules/dup2 (License): Change to LGPLv2+.
56957         * modules/sleep (License): Likewise.
56958         * modules/perror (License): Likewise.
56959         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
56960         Blake.
56961         * modules/signal (License): Likewise.
56962         * modules/sigprocmask (License): Likewise.
56963         * modules/raise (License): Change to LGPLv2+, with approval by Jim
56964         Meyering.
56965
56966 2008-10-04  Bruno Haible  <bruno@clisp.org>
56967
56968         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
56969         Reported by Rainer Tammer <tammer@tammer.net>.
56970
56971 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
56972             Bruno Haible  <bruno@clisp.org>
56973
56974         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
56975         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
56976         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
56977
56978 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
56979
56980         filevercmp: new module
56981         * lib/filevercmp.h: New function filevercmp comparing version strings.
56982         * lib/filevercmp.c: Implementation of filevercmp function.
56983         * modules/filevercmp: Module metadata.
56984         * tests/test-filevercmp.c: Unit test for new module.
56985         * modules/filevercmp-tests: Unit test metadata.
56986         * MODULES.html.sh: Add filevercmp module.
56987
56988 2008-10-03  Bruno Haible  <bruno@clisp.org>
56989
56990         * lib/c-ctype.h: Add comment.
56991         Reported by Jim Meyering.
56992
56993 2008-10-02  Bruno Haible  <bruno@clisp.org>
56994
56995         * modules/posix_spawn-internal (Depends-on): Add 'open'.
56996
56997 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56998
56999         * build-aux/bootstrap: Allow renaming bootstrap, and change the
57000         name of bootstrap.conf accordingly.
57001
57002 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
57003
57004         * build-aux/bootstrap: Install git-merge-changelog configuration
57005         items into .gitconfig if needed.
57006
57007 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
57008
57009         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
57010         git repository, and initialize/update it accordingly.
57011
57012 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
57013
57014         * modules/fsync-tests: New file.
57015         * tests/test-fsync.c: New file.
57016
57017         New module 'fsync'.
57018         * lib/fsync.c: New file.
57019         * m4/fsync.m4: New file.
57020         * modules/fsync: New file.
57021         * lib/unistd.in.h (fsync): New declaration.
57022         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
57023         GNULIB_FSYNC and HAVE_FSYNC.
57024         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
57025         * MODULES.html.sh (posix_functions): Add fsync.
57026         * doc/posix-functions/fsync.texi: Mention the new module.
57027
57028 2008-10-02  Jim Meyering  <meyering@redhat.com>
57029
57030         fts.c: sync with similar code from coreutils' remove.c
57031         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
57032         Guard also with "#if defined __linux__", since for now at least,
57033         this code is Linux-kernel-specific.
57034
57035 2008-10-02  Jim Meyering  <meyering@redhat.com>
57036
57037         fts: bug fixes
57038         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
57039         Include <sys/vfs.h>, not <sys/statfs.h>.
57040
57041         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
57042         Include <sys/vfs.h>, not <sys/statfs.h>.
57043
57044 2008-10-01  Bruno Haible  <bruno@clisp.org>
57045
57046         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
57047         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
57048         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
57049         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
57050         * doc/posix-functions/posix_spawnp.texi: Likewise.
57051         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
57052         whether posix_spawn actually works.
57053         * m4/pipe.m4 (gl_PIPE): Likewise.
57054         * modules/execute (Files): Add m4/posix_spawn.m4.
57055         * modules/pipe (Files): Add m4/posix_spawn.m4.
57056         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
57057
57058 2008-10-01  Jim Meyering  <meyering@redhat.com>
57059
57060         remove trailing spaces
57061         * NEWS: Likewise.
57062         * lib/poll.c (poll): Likewise.
57063         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
57064         * lib/winsock.c (rpl_close): Likewise.
57065         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
57066         * modules/yield: Likewise.
57067         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
57068         * tests/test-sys_select.c (connect_to_socket): Likewise.
57069
57070         fts.c: adjust a new interface to be more generally useful
57071         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
57072         (fts_build): Adjust caller.
57073
57074 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57075
57076         * modules/cond-tests: New file.
57077         * tests/test-cond.c: New file.
57078
57079 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57080             Bruno Haible  <bruno@clisp.org>
57081
57082         * modules/cond (Dependencies): Add errno, time.
57083         * lib/glthread/cond.h: Include <time.h>.
57084         (gl_cond_define, gl_cond_define_initialized): Use the same definition
57085         across platforms.
57086
57087 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57088             Bruno Haible  <bruno@clisp.org>
57089
57090         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
57091
57092 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57093             Bruno Haible  <bruno@clisp.org>
57094
57095         * modules/tls-tests (Depends-on): Add thread, yield.
57096         (configure.ac): Remove all checks.
57097         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
57098         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
57099         gl_thread_self): Remove definitions. Include glthread/thread.h and
57100         glthread/yield.h instead.
57101         (test_tls): Pass an additional NULL argument to gl_thread_join.
57102
57103 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57104             Bruno Haible  <bruno@clisp.org>
57105
57106         * modules/lock-tests (Depends-on): Add thread, yield.
57107         (configure.ac): Remove all checks.
57108         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
57109         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
57110         gl_thread_self): Remove definitions. Include glthread/thread.h and
57111         glthread/yield.h instead.
57112         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
57113         additional NULL argument to gl_thread_join.
57114
57115 2008-09-30  Bruno Haible  <bruno@clisp.org>
57116
57117         Fix the Win32 implementation of the 'thread' module.
57118         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
57119         pointer type.
57120         (gl_thread_self): Invoke gl_thread_self_func.
57121         (gl_thread_self_func): New declaration.
57122         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
57123         (do_init_self_key, init_self_key): New functions.
57124         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
57125         Remove some fields.
57126         (running_threads, running_lock): Remove variables.
57127         (get_current_thread_handle): New function.
57128         (gl_thread_self_func, wrapper_func, glthread_create_func,
57129         glthread_join_func, gl_thread_exit_func): Largely rewritten and
57130         simplified.
57131
57132 2008-09-30  Bruno Haible  <bruno@clisp.org>
57133
57134         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
57135         files.
57136
57137 2008-09-30  Jim Meyering  <meyering@redhat.com>
57138
57139         fts.m4: correct the test for statfs.f_type
57140         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
57141         when checking for statfs.f_type.
57142
57143 2008-09-15  Simon Josefsson  <simon@josefsson.org>
57144
57145         tests: avoid some compiler warnings
57146         * tests/test-memchr.c (main): Pass NULL indirectly.
57147         * tests/test-getdate.c (main): Remove unused variable 'ret'.
57148
57149 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
57150
57151         getdate.y: disallow countable dayshifts like "4 yesterday ago"
57152         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
57153         exactly specified dayshifts.
57154         (dayshift): New rule.
57155         (rel): Add dayshift.
57156         (relative_time_table) [tomorrow, yesterday, today, now]:
57157         Use tDAY_SHIFT in place of tDAY_UNIT.
57158         * tests/test-getdate.c: Add tests for now-disallowed countable
57159         dayshifts, e.g., "4 yesterday ago".
57160
57161 2008-09-29  Bruno Haible  <bruno@clisp.org>
57162
57163         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
57164         * tests/test-posix_spawn1.in.sh: Renamed from
57165         tests/test-posix_spawn.in.sh.
57166         * tests/test-posix_spawn2.c: New file.
57167         * tests/test-posix_spawn2.in.sh: New file.
57168         * modules/posix_spawnp-tests (Files): Update.
57169         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
57170
57171 2008-09-29  Bruno Haible  <bruno@clisp.org>
57172
57173         Propagate effects of putenv/setenv/unsetenv to child processes.
57174         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
57175         * lib/pipe.c (create_pipe): Likewise.
57176
57177 2008-09-29  Bruno Haible  <bruno@clisp.org>
57178
57179         Enable use of shell scripts as executables in mingw.
57180         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
57181         run the program as a shell script.
57182         * lib/pipe.c (create_pipe): Likewise.
57183         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
57184         resulting array.
57185
57186 2008-09-29  Eric Blake  <ebb9@byu.net>
57187
57188         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
57189
57190 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
57191
57192         * doc/posix-functions/accept.texi: Update mingw problems.
57193         * doc/posix-functions/bind.texi: Update mingw problems.
57194         * doc/posix-functions/close.texi: Update mingw problems.
57195         * doc/posix-functions/connect.texi: Update mingw problems.
57196         * doc/posix-functions/getpeername.texi: Update mingw problems.
57197         * doc/posix-functions/getsockname.texi: Update mingw problems.
57198         * doc/posix-functions/getsockopt.texi: Update mingw problems.
57199         * doc/posix-functions/ioctl.texi: Update mingw problems.
57200         * doc/posix-functions/listen.texi: Update mingw problems.
57201         * doc/posix-functions/recv.texi: Update mingw problems.
57202         * doc/posix-functions/recvfrom.texi: Update mingw problems.
57203         * doc/posix-functions/select.texi: Update mingw problems.
57204         * doc/posix-functions/send.texi: Update mingw problems.
57205         * doc/posix-functions/sendto.texi: Update mingw problems.
57206         * doc/posix-functions/setsockopt.texi: Update mingw problems.
57207         * doc/posix-functions/socket.texi: Update mingw problems.
57208
57209 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
57210             Bruno Haible  <bruno@clisp.org>
57211
57212         * lib/sys_select.in.h: Include sys/time.h.
57213         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
57214         * modules/sys_select: Depend on sys_time.
57215         * tests/test-sys_select.c: Test that sys/select.h defines struct
57216         timeval fully.
57217
57218 2008-09-29  Bruno Haible  <bruno@clisp.org>
57219
57220         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
57221         * lib/sys_select.in.h: Likewise.
57222
57223 2008-09-29  Bruno Haible  <bruno@clisp.org>
57224
57225         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
57226
57227 2008-09-29  Bruno Haible  <bruno@clisp.org>
57228
57229         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
57230         Set LIBSOCKET instead of augmenting LIBS.
57231         * modules/sockets (Link): New section.
57232         * modules/sockets-tests (test_sockets_LDADD): New variable.
57233         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
57234         * modules/poll-tests (test_poll_LDADD): New variable.
57235         * NEWS: Document the change.
57236
57237 2008-09-29  Bruno Haible  <bruno@clisp.org>
57238
57239         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
57240         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
57241         ARPA_INET_H directly.
57242         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57243
57244 2008-09-28  Bruno Haible  <bruno@clisp.org>
57245
57246         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
57247         from gl_HEADER_SYS_SOCKET.
57248         (gl_HEADER_SYS_SOCKET): Invoke it.
57249         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57250
57251 2008-09-28  Bruno Haible  <bruno@clisp.org>
57252
57253         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
57254         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
57255         Needed on OSF/1 4.0.
57256
57257 2008-09-28  Bruno Haible  <bruno@clisp.org>
57258
57259         Override open more carefully.
57260         * lib/open.c (orig_open): New function.
57261         (rpl_open): Use orig_open instead of open.
57262         * lib/fcntl.in.h: Add special invocation convention.
57263         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
57264         (gl_FUNC_OPEN): Invoke it.
57265
57266         Override freopen more carefully.
57267         * lib/freopen.c (orig_freopen): New function.
57268         (rpl_freopen): Use orig_freopen instead of freopen.
57269         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
57270         (gl_FUNC_FREOPEN): Invoke it.
57271
57272         Override fopen more carefully.
57273         * lib/fopen.c (orig_fopen): New function.
57274         (rpl_fopen): Use orig_fopen instead of fopen.
57275         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
57276         (gl_FUNC_FOPEN): Invoke it.
57277         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
57278
57279 2008-09-28  Bruno Haible  <bruno@clisp.org>
57280
57281         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
57282         SIGPIPE.
57283
57284 2008-09-28  Bruno Haible  <bruno@clisp.org>
57285
57286         * tests/test-sigaction.c (handler, main): Disable the check whether
57287         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
57288         glibc systems with LinuxThreads.
57289
57290 2008-09-28  Bruno Haible  <bruno@clisp.org>
57291
57292         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
57293
57294         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
57295         with AIX xlc.
57296         * lib/fcntl.in.h (open): Likewise.
57297         Reported by Rainer Tammer <tammer@tammer.net>.
57298
57299 2008-09-28  Bruno Haible  <bruno@clisp.org>
57300
57301         * modules/posix_spawnp-tests: New file.
57302         * tests/test-posix_spawn.c: New file.
57303         * tests/test-posix_spawn.in.sh: New file.
57304
57305         New module 'posix_spawnp'.
57306         * modules/posix_spawnp: New file.
57307         * lib/spawnp.c: New file, from GNU libc with modifications.
57308         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
57309
57310         New module 'posix_spawn'.
57311         * modules/posix_spawn: New file.
57312         * lib/spawn.c: New file, from GNU libc with modifications.
57313         * doc/posix-functions/posix_spawn.texi: Mention the new module.
57314
57315         New module 'posix_spawnattr_destroy'.
57316         * modules/posix_spawnattr_destroy: New file.
57317         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
57318         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
57319         module.
57320
57321         New module 'posix_spawnattr_setsigmask'.
57322         * modules/posix_spawnattr_setsigmask: New file.
57323         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
57324         modifications.
57325         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
57326         new module.
57327
57328         New module 'posix_spawnattr_getsigmask'.
57329         * modules/posix_spawnattr_getsigmask: New file.
57330         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
57331         modifications.
57332         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
57333         new module.
57334
57335         New module 'posix_spawnattr_setsigdefault'.
57336         * modules/posix_spawnattr_setsigdefault: New file.
57337         * lib/spawnattr_setdefault.c: New file, from GNU libc with
57338         modifications.
57339         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
57340         new module.
57341
57342         New module 'posix_spawnattr_getsigdefault'.
57343         * modules/posix_spawnattr_getsigdefault: New file.
57344         * lib/spawnattr_getdefault.c: New file, from GNU libc with
57345         modifications.
57346         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
57347         new module.
57348
57349         New module 'posix_spawnattr_setschedpolicy'.
57350         * modules/posix_spawnattr_setschedpolicy: New file.
57351         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
57352         modifications.
57353         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
57354         new module.
57355
57356         New module 'posix_spawnattr_getschedpolicy'.
57357         * modules/posix_spawnattr_getschedpolicy: New file.
57358         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
57359         modifications.
57360         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
57361         new module.
57362
57363         New module 'posix_spawnattr_setschedparam'.
57364         * modules/posix_spawnattr_setschedparam: New file.
57365         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
57366         modifications.
57367         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
57368         new module.
57369
57370         New module 'posix_spawnattr_getschedparam'.
57371         * modules/posix_spawnattr_getschedparam: New file.
57372         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
57373         modifications.
57374         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
57375         new module.
57376
57377         New module 'posix_spawnattr_setpgroup'.
57378         * modules/posix_spawnattr_setpgroup: New file.
57379         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
57380         modifications.
57381         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
57382         module.
57383
57384         New module 'posix_spawnattr_getpgroup'.
57385         * modules/posix_spawnattr_getpgroup: New file.
57386         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
57387         modifications.
57388         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
57389         module.
57390
57391         New module 'posix_spawnattr_setflags'.
57392         * modules/posix_spawnattr_setflags: New file.
57393         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
57394         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
57395         module.
57396
57397         New module 'posix_spawnattr_getflags'.
57398         * modules/posix_spawnattr_getflags: New file.
57399         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
57400         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
57401         module.
57402
57403         New module 'posix_spawnattr_init'.
57404         * modules/posix_spawnattr_init: New file.
57405         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
57406         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
57407         module.
57408
57409         New module 'posix_spawn_file_actions_destroy'.
57410         * modules/posix_spawn_file_actions_destroy: New file.
57411         * lib/spawn_faction_destroy.c: New file, from GNU libc with
57412         modifications.
57413         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
57414         the new module.
57415
57416         New module 'posix_spawn_file_actions_addopen'.
57417         * modules/posix_spawn_file_actions_addopen: New file.
57418         * lib/spawn_faction_addopen.c: New file, from GNU libc with
57419         modifications.
57420         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
57421         the new module.
57422
57423         New module 'posix_spawn_file_actions_adddup2'.
57424         * modules/posix_spawn_file_actions_adddup2: New file.
57425         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
57426         modifications.
57427         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
57428         the new module.
57429
57430         New module 'posix_spawn_file_actions_addclose'.
57431         * modules/posix_spawn_file_actions_addclose: New file.
57432         * lib/spawn_faction_addclose.c: New file, from GNU libc with
57433         modifications.
57434         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
57435         the new module.
57436
57437         New module 'posix_spawn_file_actions_init'.
57438         * modules/posix_spawn_file_actions_init: New file.
57439         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
57440         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
57441         new module.
57442
57443         New module 'posix_spawn-internal'.
57444         * modules/posix_spawn-internal: New file.
57445         * lib/spawn_int.h: New file, from GNU libc with modifications.
57446         * lib/spawni.c: New file, from GNU libc with modifications.
57447         * m4/posix_spawn.m4: New file.
57448
57449         New module 'spawn'.
57450         * modules/spawn: New file.
57451         * lib/spawn.in.h: New file, from GNU libc with modifications.
57452         * m4/spawn_h.m4: New file.
57453         * doc/posix-headers/spawn.texi: Mention the new module.
57454
57455 2008-09-28  Bruno Haible  <bruno@clisp.org>
57456
57457         * modules/sched-tests: New file.
57458         * tests/test-sched.c: New file.
57459
57460         New module 'sched'.
57461         * modules/sched: New file.
57462         * lib/sched.in.h: New file.
57463         * m4/sched_h.m4: New file.
57464         * doc/posix-headers/sched.texi: Mention the new module.
57465
57466 2008-09-27  Eric Blake  <ebb9@byu.net>
57467
57468         Fix previous patch, and tweak references to $0.
57469         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
57470         (func_version, func_gnulib_dir): Don't call this program
57471         gnulib-tool.
57472         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
57473         with using $0 in function.
57474         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
57475         (func_fatal_error): Reuse the name the user invoked us with.
57476
57477 2008-09-27  Bruno Haible  <bruno@clisp.org>
57478
57479         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
57480         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
57481         (gl_ICONV_H): Not here.
57482         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
57483         instead of assigning ICONV_H directly.
57484
57485         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
57486         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
57487         WCHAR_H directly.
57488
57489 2008-09-27  Bruno Haible  <bruno@clisp.org>
57490
57491         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
57492         * modules/arpa_inet (Depends-on): Add link-warning.
57493         (Makefile.am): Insert the definition of GL_LINK-WARNING.
57494         * modules/unistd (Makefile.am): Likewise.
57495
57496 2008-09-26  Bruno Haible  <bruno@clisp.org>
57497
57498         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
57499         variables.
57500         (func_version): Essentially copied from gnulib-tool.
57501         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
57502         func_readlink): Copied from gnulib-tool.
57503
57504 2008-09-26  Bruno Haible  <bruno@clisp.org>
57505
57506         * gnulib-tool (func_version): Change directory to $gnulib_dir before
57507         invoking git-version-gen.
57508
57509 2008-09-26  Bruno Haible  <bruno@clisp.org>
57510
57511         * posix-modules: Update to directory names changed on 2008-01-19.
57512         Remove commas in output before splitting into words. No more need to
57513         avoid 'ftruncate' since 2007-02-19.
57514
57515 2008-09-26  Bruno Haible  <bruno@clisp.org>
57516
57517         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
57518
57519 2008-09-26  Bruno Haible  <bruno@clisp.org>
57520
57521         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
57522         * modules/fwriteerror (Depends-on): Add errno.
57523
57524 2008-09-26  Bruno Haible  <bruno@clisp.org>
57525
57526         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
57527         * tests/test-vc-list-files-cvs.sh: Likewise.
57528
57529 2008-09-26  Bruno Haible  <bruno@clisp.org>
57530
57531         * doc/posix-headers/sys_resource.texi: Reorder items.
57532
57533 2008-09-26  Jim Meyering  <meyering@redhat.com>
57534
57535         fts: tweak inode comparison function
57536         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
57537         inode numbers, as documented.
57538
57539         fts: sort dirent entries on inode number before traversing
57540         This avoids a quadratic, seek-related performance penalty when
57541         operating on a directory containing many entries (measurable at 10k;
57542         3.5 hours at 2 million entries with a cold cache) on certain types
57543         of file systems, including ext3 and ext4, but not tmpfs.
57544         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
57545         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
57546         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
57547         (fs_handles_readdir_ordered_dirents_efficiently): New function.
57548         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
57549         (fts_build): Set the stat.st_ino member from D_INO.
57550         If it is likely to be useful, sort dirent entries on inode number.
57551
57552         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
57553         and the struct statfs.f_type member.
57554         * modules/fts (Depends-on): Add d-ino.
57555
57556 2008-09-26  Bruno Haible  <bruno@clisp.org>
57557
57558         * modules/sigpipe-die (Depends-on): Add sigpipe.
57559
57560         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
57561         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
57562         and GNULIB_STDIO_H_SIGPIPE are set.
57563         * lib/stdio-write.c: New file.
57564         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
57565         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
57566         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
57567         REPLACE_STDIO_WRITE_FUNCS.
57568         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
57569         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
57570         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
57571         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
57572         * modules/stdio (Files): Add lib/stdio-write.c.
57573         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
57574         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
57575         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
57576         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
57577         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
57578         REPLACE_FPRINTF_POSIX.
57579         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
57580         REPLACE_PRINTF_POSIX.
57581         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
57582         REPLACE_VFPRINTF_POSIX.
57583         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
57584         REPLACE_VPRINTF_POSIX.
57585         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
57586         SIGPIPE issue.
57587         * doc/posix-functions/fputc.texi: Likewise.
57588         * doc/posix-functions/fputs.texi: Likewise.
57589         * doc/posix-functions/fwrite.texi: Likewise.
57590         * doc/posix-functions/printf.texi: Likewise.
57591         * doc/posix-functions/putc.texi: Likewise.
57592         * doc/posix-functions/putchar.texi: Likewise.
57593         * doc/posix-functions/puts.texi: Likewise.
57594         * doc/posix-functions/vfprintf.texi: Likewise.
57595         * doc/posix-functions/vprintf.texi: Likewise.
57596
57597         * modules/safe-write (Depends-on): Add write.
57598
57599         * modules/sigpipe-tests: New file.
57600         * tests/test-sigpipe.c: New file.
57601         * tests/test-sigpipe.sh: New file.
57602
57603         * modules/write: New file.
57604         * lib/unistd.in.h: Include <sys/types.h>.
57605         (write): New declaration.
57606         * lib/write.c: New file.
57607         * m4/write.m4: New file.
57608         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57609         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
57610         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
57611         GNULIB_WRITE, REPLACE_WRITE.
57612         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
57613         and the SIGPIPE issue.
57614
57615         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
57616         (raise): New declaration.
57617         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
57618         (ext_signal): New function.
57619         (rpl_raise): New function.
57620         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
57621         GNULIB_SIGNAL_H_SIGPIPE.
57622         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
57623         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
57624
57625         * modules/sigpipe: New file.
57626         * m4/sigpipe.m4: New file.
57627
57628 2008-09-25  Derek Price  <derek@ximbiot.com>
57629             Bruno Haible  <bruno@clisp.org>
57630
57631         * gnulib-tool (func_import): Report all license incompatibilities, not
57632         just the first one.
57633
57634 2008-09-25  Bruno Haible  <bruno@clisp.org>
57635
57636         * gnulib-tool (func_import): When computing the edits, consider not
57637         only the Makefile.ams that exist but also those that will be generated.
57638
57639 2008-09-25  Simon Josefsson  <simon@josefsson.org>
57640
57641         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
57642         fixes gnulib-tool --test warning about duplicate dependency.
57643
57644 2008-09-25  Bruno Haible  <bruno@clisp.org>
57645
57646         * gnulib-tool: Don't ask the user to perform edits in the generated
57647         Makefile.ams.
57648         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
57649         apply to the Makefile.am being generated.
57650         (func_emit_tests_Makefile_am): Execute edits that apply to the
57651         Makefile.am being generated.
57652         (func_import): Setup list of Makefile.am edits before emitting the
57653         Makefile.ams, not at the end.
57654         (func_create_testdir): Update.
57655         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57656
57657 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57658
57659         * gnulib-tool (func_import): Store the --tests-base option in the
57660         comment in gnulib-cache.m4.
57661
57662 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
57663
57664         * NEWS: Document increased portability that sys_select now provides.
57665
57666         * lib/sys_select.in.h: Install select wrapper.
57667         * lib/sys_socket.in.h: Use more descriptive name when there is no
57668         select wrapper.
57669         * lib/winsock-select.c: New.
57670         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
57671         Require gl_HEADER_SYS_SOCKET.
57672         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
57673         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
57674         * tests/test-sys_select.c: Add functional tests.
57675
57676 2008-09-24  Eric Blake  <ebb9@byu.net>
57677
57678         open, fopen: close fd leak in last patch
57679         * lib/open.c (rpl_open): Close fd before returning error.
57680         * lib/fopen.c (rpl_fopen): Close fd before returning error.
57681         * doc/posix-functions/open.texi (open): Document that Irix also
57682         has the bug.
57683         * doc/posix-functions/fopen.texi (fopen): Likewise.
57684         Reported by Paolo Bonzini.
57685
57686 2008-09-24  Bruno Haible  <bruno@clisp.org>
57687
57688         Ensure that a filename ending in a slash cannot be used to access a
57689         non-directory.
57690         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
57691         to check whether it's really a directory.
57692         * lib/fopen.c: Include fcntl.h, unistd.h.
57693         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
57694         and fdopen().
57695         * modules/fopen (Depends-on): Add unistd.
57696         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
57697         * tests/test-fopen.c (main): Likewise.
57698         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
57699         * doc/posix-functions/fopen.texi: Likewise.
57700         Reported by Eric Blake.
57701
57702 2008-09-23  Eric Blake  <ebb9@byu.net>
57703
57704         c-stack: avoid compiler optimizations when provoking overflow
57705         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
57706         recursion harder to optimize, to ensure a stack overflow occurs.
57707         * tests/test-c-stack.c (recurse): Likewise.
57708         Borrowed from libsigsegv.
57709
57710         c-stack: work around Irix sigaltstack bug
57711         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
57712         whether sigaltstack uses wrong end of stack_t (copied in part from
57713         libsigsegv).
57714         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
57715         Irix bug, without requiring an over-allocation.
57716         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
57717         bug.
57718
57719         fopen: document mingw bug on directories
57720         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
57721         not allowing a stream visiting a directory, even though reading
57722         from such a stream is not portable.
57723
57724 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57725
57726         * lib/poll.c: Rewrite.
57727         * modules/poll: Depend on alloca.
57728
57729 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57730
57731         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
57732         instead define prototypes for a full set of wrappers.  Ensure
57733         that Cygwin does not use the compatibility code, which is only
57734         for MinGW.
57735         * lib/winsock.c: New.
57736         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
57737         * modules/sys_socket: Add lib/winsock.c.
57738
57739         * modules/poll-tests: Add errno and perror.
57740         * tests/test-poll.c: Use ioctl, not ioctlsocket.
57741
57742 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57743
57744         * tests/test-poll.c: Downgrade minimum needed Winsock version.
57745
57746 2008-09-23  Bruno Haible  <bruno@clisp.org>
57747
57748         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
57749         * doc/glibc-functions/*: Likewise.
57750
57751 2008-09-23  Simon Josefsson  <simon@josefsson.org>
57752
57753         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
57754         success.
57755
57756 2008-09-22  Eric Blake  <ebb9@byu.net>
57757             Bruno Haible  <bruno@clisp.org>
57758
57759         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
57760         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
57761         supply %A but mishandle pseudo-NaN.
57762         Reported by Simon Josefsson.
57763
57764 2008-09-21  Bruno Haible  <bruno@clisp.org>
57765
57766         * tests/test-lock.c (main): Tweak skip message.
57767         * tests/test-tls.c (main): Likewise.
57768
57769 2008-09-21  Bruno Haible  <bruno@clisp.org>
57770
57771         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
57772         whether 'struct sigaction' has sa_sigaction here...
57773         (gl_PREREQ_SIG_HANDLER_H): ... not here.
57774         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
57775
57776 2008-09-21  Bruno Haible  <bruno@clisp.org>
57777
57778         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
57779         section.
57780         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
57781         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
57782         the new section.
57783         (Support for obsolete systems lacking POSIX:2001): New section.
57784         (String handling <string.h>): Move strdup to the new section.
57785         Suggested by Simon Josefsson and Paolo Bonzini.
57786
57787 2008-09-21  Bruno Haible  <bruno@clisp.org>
57788
57789         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
57790         exponents in %e and %g results on 'long double'. Needed for mingw's
57791         improved *printf functions.
57792         * tests/test-vasprintf-posix.c (test_function): Likewise.
57793         * tests/test-snprintf-posix.h (test_function): Likewise.
57794         * tests/test-sprintf-posix.h (test_function): Likewise.
57795         Reported by Eric Blake.
57796
57797 2008-09-21  Bruno Haible  <bruno@clisp.org>
57798
57799         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
57800         * tests/test-sprintf-posix.h (test_function): Likewise.
57801
57802 2008-09-21  Bruno Haible  <bruno@clisp.org>
57803
57804         * modules/getpass (Depends-on): Add strdup-posix.
57805
57806         New module 'strdup-posix'.
57807         * modules/strdup-posix: New file.
57808         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
57809         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
57810         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57811         REPLACE_STRDUP.
57812         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
57813         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
57814         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57815         strdup-posix.
57816
57817         * modules/strdup (Depends-on): Remove malloc-posix.
57818
57819 2008-09-20  Bruno Haible  <bruno@clisp.org>
57820
57821         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
57822         Wildenhues.
57823
57824 2008-09-20  Bruno Haible  <bruno@clisp.org>
57825
57826         Ensure that wint_t gets defined on IRIX 5.3.
57827         * lib/wchar.in.h (wint_t): Define if not defined by the system.
57828         * lib/wctype.in.h (wint_t): Likewise.
57829         (__wctype_wint_t): Remove type.
57830         (isw*): Use wint_t instead of __wctype_wint_t.
57831         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
57832         * modules/wchar (Files): Add m4/wint_t.m4.
57833         (Makefile.am): Substitute HAVE_WINT_T.
57834         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
57835         * tests/test-wctype.c: Check that wint_t is defined.
57836         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
57837         * doc/posix-headers/wctype.texi: Likewise.
57838         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
57839
57840 2008-09-18  Bruno Haible  <bruno@clisp.org>
57841
57842         * gnulib-tool (func_exit): Update comment.
57843
57844 2008-09-18  Simon Josefsson  <simon@josefsson.org>
57845
57846         * modules/getaddrinfo (Depends-on): Remove strdup, this module
57847         assumes strdup exists and does not depend on strdup to return
57848         ENOMEM on out of memory conditions.
57849
57850 2008-09-18  Bruno Haible  <bruno@clisp.org>
57851
57852         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
57853         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
57854         digits for the exponent.
57855
57856 2008-09-18  Jim Meyering  <meyering@redhat.com>
57857             Bruno Haible  <bruno@clisp.org>
57858
57859         * lib/vasnprintf.c (decimal_point_char): Define also if
57860         NEED_PRINTF_INFINITE_LONG_DOUBLE.
57861
57862 2008-09-16  Bruno Haible  <bruno@clisp.org>
57863         and Eric Blake  <ebb9@byu.net>
57864
57865         vasnprintf: support Irix 5.3
57866         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
57867         that mishandle long double infinity.
57868         Reported by Tom G. Christensen.
57869
57870 2008-09-16  Bruno Haible  <bruno@clisp.org>
57871
57872         * doc/glibc-functions/scandir.texi: Mention the function is missing on
57873         Solaris 9.
57874         * doc/glibc-functions/alphasort.texi: Likewise.
57875         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
57876
57877 2008-09-16  Jim Meyering  <meyering@redhat.com>
57878
57879         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
57880         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
57881         a umask modification leak out of a subshell.  Otherwise, the
57882         opensolaris /bin/sh would be accepted and thus cause unwarranted
57883         failures in the coreutils test suite.
57884
57885 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
57886
57887         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
57888         to succeed.
57889
57890 2008-09-16  Jim Meyering  <meyering@redhat.com>
57891
57892         avoid spurious test failure when library is built without ACL support
57893         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
57894         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
57895         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
57896         * tests/test-copy-acl.sh: Likewise.
57897
57898 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57899
57900         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
57901         based on character occurrence counts.
57902
57903 2008-09-15  Eric Blake  <ebb9@byu.net>
57904
57905         tests: avoid some compiler warnings
57906         * tests/test-memchr.c (main): Pass NULL indirectly.
57907         * tests/test-closein.c (main): Avoid unused variable.
57908
57909 2008-09-15  Bruno Haible  <bruno@clisp.org>
57910
57911         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
57912         are missing on OpenBSD 4.0 individually.
57913         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57914
57915 2008-09-15  Bruno Haible  <bruno@clisp.org>
57916
57917         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
57918         * doc/posix-functions/strerror.texi: Mention also Cygwin.
57919         * doc/posix-functions/perror.texi: Likewise.
57920         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
57921         is missing.
57922         Reported by Eric Blake.
57923
57924         * lib/errno.in.h: Use replacement values >= 2000.
57925         Reported by Eric Blake.
57926
57927 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57928
57929         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
57930         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
57931         limit.
57932         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
57933         compareseq was aborted.
57934
57935 2008-09-14  Bruno Haible  <bruno@clisp.org>
57936
57937         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
57938         yvec_edit_count.
57939         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
57940         (fstrcmp_bounded): Simplify result computation accordingly.
57941
57942 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57943
57944         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
57945         (fstrcmp): Define in terms of fstrcmp_bounded.
57946         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
57947         lower_bound argument.
57948         Return quickly if the result is certainly < lower_bound.
57949         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
57950
57951 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57952
57953         * lib/diffseq.h (EARLY_ABORT): New macro.
57954         (compareseq): Change return type to bool. Return true when EARLY_ABORT
57955         evaluates to true.
57956
57957 2008-09-14  Bruno Haible  <bruno@clisp.org>
57958
57959         * modules/perror-tests: New file.
57960         * tests/test-perror.sh: New file.
57961         * tests/test-perror.c: New file.
57962
57963         New module 'perror'.
57964         * lib/stdio.in.h (perror): New declaration.
57965         * lib/perror.c: New file.
57966         * m4/perror.m4: New file.
57967         * modules/perror: New file.
57968         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
57969         * doc/posix-functions/perror.texi: Mention the perror module.
57970         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
57971         REPLACE_PERROR.
57972         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
57973         REPLACE_PERROR.
57974
57975 2008-09-14  Bruno Haible  <bruno@clisp.org>
57976
57977         * modules/stdio (Makefile.am): Reorder to match the order in
57978         lib/stdio.in.h.
57979         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57980
57981 2008-09-13  Bruno Haible  <bruno@clisp.org>
57982
57983         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
57984
57985 2008-09-13  Bruno Haible  <bruno@clisp.org>
57986
57987         Extend strerror to cover the added errno values.
57988         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
57989         (rpl_strerror): Provide error messages for the added errno values and
57990         for the WSA* values.
57991         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
57992         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
57993         strerror.
57994         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
57995         * modules/strerror (Depends-on): Add errno.
57996         * doc/posix-functions/strerror.texi: Document the change.
57997         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
57998         and EOVERFLOW.
57999
58000 2008-09-13  Bruno Haible  <bruno@clisp.org>
58001
58002         * modules/EOVERFLOW: Remove file.
58003         * m4/eoverflow.m4: Remove file.
58004         * modules/EOVERFLOW-tests: Remove file.
58005         * tests/test-EOVERFLOW.c: Remove file.
58006         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
58007         * modules/ftell (Depends-on): Likewise.
58008         * modules/getdelim (Depends-on): Likewise.
58009         * modules/getugroups (Depends-on): Likewise.
58010         * modules/poll (Depends-on): Likewise.
58011         * modules/snprintf (Depends-on): Likewise.
58012         * modules/sprintf-posix (Depends-on): Likewise.
58013         * modules/vasnprintf (Depends-on): Likewise.
58014         * modules/vasprintf (Depends-on): Likewise.
58015         * modules/vfprintf-posix (Depends-on): Likewise.
58016         * modules/vsnprintf (Depends-on): Likewise.
58017         * modules/vsprintf-posix (Depends-on): Likewise.
58018         * modules/xvasprintf (Depends-on): Likewise.
58019         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58020         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
58021         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
58022         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
58023         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58024         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
58025         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
58026         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
58027         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58028         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
58029         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
58030         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
58031         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58032         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
58033         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
58034         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
58035         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58036         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
58037         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
58038         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
58039         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58040         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
58041         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
58042         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
58043         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
58044         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58045         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
58046         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
58047         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
58048         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
58049         * MODULES.html.sh: Remove EOVERFLOW.
58050         * NEWS: Mention the change.
58051
58052 2008-09-13  Bruno Haible  <bruno@clisp.org>
58053
58054         * modules/errno-tests: New file.
58055         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
58056
58057         * lib/errno.in.h: New file.
58058         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
58059         * modules/errno: New file.
58060         * doc/posix-headers/errno.texi: Update documentation.
58061         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
58062
58063 2008-09-13  Bruno Haible  <bruno@clisp.org>
58064
58065         * tests/test-poll.c: Use #if for native Windows, rather than testing
58066         __MSVCRT__.
58067
58068 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58069             Bruno Haible  <bruno@clisp.org>
58070
58071         * lib/glob.c: Don't include <pwd.h> on native Windows.
58072         (WINDOWS32): New macro.
58073         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
58074
58075 2008-09-13  Bruno Haible  <bruno@clisp.org>
58076
58077         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
58078         (ETIMEDOUT): Remove macro.
58079         (glthread_cond_timedwait_multithreaded): New declaration.
58080         (glthread_cond_timedwait): Use it.
58081         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
58082         (glthread_cond_timedwait_multithreaded): New function.
58083
58084 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
58085
58086         * modules/poll-tests: Do not check for io.h.
58087         * tests/test-poll.c: Check for __MSVCRT__ instead.
58088
58089 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
58090
58091         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
58092         * modules/poll-tests: Add inet_pton, stdbool, sockets.
58093         * tests/test-poll.c: Use them.  Use _pipe on Windows.
58094
58095 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
58096
58097         * modules/poll-tests: New.
58098         * tests/test-poll.c: New.
58099
58100 2008-09-12  Eric Blake  <ebb9@byu.net>
58101
58102         frexp: test for NetBSD failure on -0.0
58103         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
58104         not all, bugs from NetBSD 3.0 have been fixed.
58105         * doc/posix-functions/frexp.texi (frexp): Document bug.
58106         Reported by Thomas Klausner.
58107
58108         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
58109         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
58110         literal -0.0.
58111         Reported by Jonathan C. Patschke <jp@centtech.com>.
58112
58113 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58114
58115         * lib/glthread/cond.h: Use dummy implementation also if
58116         USE_WIN32_THREADS.
58117
58118 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58119
58120         * modules/fnmatch-posix (License): Change to LGPLv2+.
58121         * modules/fnmatch-gnu (License): Likewise.
58122
58123 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58124
58125         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
58126
58127 2008-09-11  Jim Meyering  <meyering@redhat.com>
58128
58129         * users.txt: Add gtk-vnc.
58130
58131 2008-09-08  Simon Josefsson  <simon@josefsson.org>
58132
58133         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
58134         rotate amounts.
58135
58136         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
58137         required for 16-bit and 8-bit rotates.
58138         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
58139         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
58140         UINT8_MAX instead of hard-coded constants.
58141         Suggested by Paul Eggert.
58142
58143 2008-09-07  Bruno Haible  <bruno@clisp.org>
58144
58145         * tests/test-striconveh.c (main): Check behaviour when converting from
58146         UTF-7.
58147
58148         Make striconveh work better with stateful encodings.
58149         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
58150         that iconv does not increment the inptr when returning -1/EINVAL.
58151
58152 2008-09-07  Bruno Haible  <bruno@clisp.org>
58153
58154         * build-aux/config.rpath: Update according to libtool-2.2.6.
58155         * build-aux/config.libpath: Likewise.
58156
58157 2008-09-06  Bruno Haible  <bruno@clisp.org>
58158
58159         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
58160         * lib/freadptr.c (freadptr): Likewise.
58161         * lib/freadseek.c (freadptrinc): Likewise.
58162         Reported by Simon Josefsson.
58163
58164 2008-09-06  Bruno Haible  <bruno@clisp.org>
58165
58166         * modules/freadptr (License): Change to LGPLv2+.
58167         * modules/freadseek (License): Likewise.
58168         Suggested by Eric Blake.
58169
58170         * modules/memchr2 (License): Change to LGPLv2+.
58171         Approved by Eric Blake.
58172
58173 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58174             Bruno Haible  <bruno@clisp.org>
58175
58176         Make gnulib-tool work with native 'sed' on AIX.
58177         * gnulib-tool (sed_noop): New variable.
58178         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
58179         func_add_or_update, func_create_testdir): Use it to initialize sed
58180         script variables.
58181         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58182
58183 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
58184             Bruno Haible  <bruno@clisp.org>
58185
58186         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
58187         also works after #include directives.
58188
58189 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
58190
58191         getdate.y: reject an out-of-range timezone value
58192         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
58193         the range [-24...+24].  When specified with only one or two digits,
58194         * tests/test-getdate.c: Tests for the fix.
58195         * doc/getdate.texi: Document this change.
58196
58197 2008-09-03  Bruno Haible  <bruno@clisp.org>
58198
58199         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
58200
58201 2008-09-02  Simon Josefsson  <simon@josefsson.org>
58202
58203         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
58204         <bruce.korb@gmail.com> with ideas from Ben Pfaff
58205         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
58206         Blake <ebb9@byu.net>.
58207
58208         * tests/test-bitrotate.c: Add more test vectors.
58209
58210 2008-09-02  Eric Blake  <ebb9@byu.net>
58211
58212         vasnprintf-posix: handle large precision via %.*d
58213         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
58214         when handling it ourselves.
58215         * tests/test-vasnprintf-posix.c (test_function): Add test.
58216         * tests/test-snprintf-posix.h (test_function): Likewise.
58217         * tests/test-sprintf-posix.h (test_function): Likewise.
58218         * tests/test-vasprintf-posix.c (test_function): Likewise.
58219         Reported by Alain Guibert.
58220
58221 2008-09-01  Eric Blake  <ebb9@byu.net>
58222
58223         c-stack: make configure-time check more robust
58224         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
58225         successful sigaction call.
58226         Reported by Tom G. Christensen.
58227
58228 2008-09-01  Bruno Haible  <bruno@clisp.org>
58229
58230         New module 'findprog-lgpl'.
58231         * modules/findprog-lgpl: New file.
58232         * lib/findprog-lgpl.c: New file.
58233         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
58234         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
58235         to decide whether to use strdup or xstrdup, concatenated_filename or
58236         xconcatenated_filename.
58237
58238 2008-09-01  Bruno Haible  <bruno@clisp.org>
58239
58240         Split module 'concat-filename' into 'concat-filename' (LGPL) and
58241         'xconcat-filename' (GPL).
58242         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
58243         (License): Change to LGPLv2+.
58244         * modules/xconcat-filename: New file.
58245         * lib/concat-filename.h (concatenated_filename): Change specification.
58246         (xconcatenated_filename): New declaration.
58247         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
58248         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
58249         memory situations.
58250         * lib/xconcat-filename.c: New file.
58251         * NEWS: Mention the change.
58252         * lib/findprog.c: Include concat-filename.h, not filename.h.
58253         (find_in_path): Use xconcatenated_filename instead of
58254         concatenated_filename.
58255         * lib/javacomp.c: Include concat-filename.h, not filename.h.
58256         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
58257         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
58258         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
58259         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
58260         instead of concatenated_filename.
58261         * lib/javaexec.c: Include concat-filename.h, not filename.h.
58262         (execute_java_class): Use xconcatenated_filename instead of
58263         concatenated_filename.
58264         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
58265         * modules/javacomp (Depends-on): Likewise.
58266         * modules/javaexec (Depends-on): Likewise.
58267
58268 2008-09-01  Bruno Haible  <bruno@clisp.org>
58269
58270         Split module 'filename' into 'filename' and 'concat-filename'.
58271         * modules/filename: Keep only lib/filename.h.
58272         (License): Change to LGPLv2+.
58273         * modules/concat-filename: New file, extracted from modules/filename.
58274         * lib/filename.h (concatenated_filename): Remove declaration.
58275         * lib/concat-filename.h: New file, extracted from lib/filename.h.
58276         * lib/concat-filename.c: Include concat-filename.h.
58277         * NEWS: Mention the change.
58278
58279 2008-09-01  Simon Josefsson  <simon@josefsson.org>
58280
58281         * lib/bitrotate.h (rotl8, rotr8): Add.
58282
58283         * modules/bitrotate (configure.ac): Need
58284         AC_REQUIRE([AC_C_INLINE]).
58285         (Description): Mention stdint.h.  Reported by Bruno Haible
58286         <bruno@clisp.org>.
58287
58288         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
58289         Paolo Bonzini <bonzini@gnu.org>.
58290
58291 2008-08-31  Bruno Haible  <bruno@clisp.org>
58292
58293         Assume Solaris specific bi-arch conventions on Solaris systems.
58294         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
58295         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
58296         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
58297         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
58298         like acl_libdirstem.
58299         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
58300         acl_libdirstem.
58301         * NEWS: Mention the change.
58302         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
58303
58304 2008-08-31  Jim Meyering  <meyering@redhat.com>
58305
58306         * lib/strftime.h: Add comments describing the two added arguments.
58307
58308         remove duplicate #include directives
58309         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
58310         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
58311
58312 2008-08-31  Bruno Haible  <bruno@clisp.org>
58313
58314         New module 'sigpipe-die'.
58315         * modules/sigpipe-die: New file.
58316         * lib/sigpipe-die.h: New file.
58317         * lib/sigpipe-die.c: New file.
58318         * MODULES.html.sh (Signal handling): Add sigpipe-die.
58319
58320 2008-08-31  Bruno Haible  <bruno@clisp.org>
58321
58322         Don't override previously installed signal handlers.
58323         * lib/fatal-signal.c (saved_sigactions): New variable.
58324         (uninstall_handlers): Reset the signal to the saved handler, not
58325         to SIG_DFL (except when ignored).
58326         (install_handlers): Save the previous handlers.
58327
58328 2008-08-30  Bruno Haible  <bruno@clisp.org>
58329
58330         * gnulib-tool (func_reset_sigpipe): New function.
58331         (func_get_automake_snippet, func_modules_transitive_closure,
58332         func_import): Invoke it before a join command that reads from stdin,
58333         to avoid "echo: write error: Broken pipe" error messages on stderr.
58334         Reported by Sam Steingold <sds@gnu.org>.
58335
58336 2008-08-30  Bruno Haible  <bruno@clisp.org>
58337
58338         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
58339         Code copied from m4/open.m4.
58340         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
58341         access and the filename ends in a slash. Code copied from lib/open.c.
58342         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
58343         * tests/test-fopen.c (main): Check against bug with trailing slash.
58344
58345 2008-08-29  Bruno Haible  <bruno@clisp.org>
58346
58347         Avoid some "gcc -pedantic" warnings.
58348         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
58349         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
58350         * lib/dirent.in.h: Likewise.
58351         * lib/fcntl.in.h: Likewise.
58352         * lib/float.in.h: Likewise.
58353         * lib/iconv.in.h: Likewise.
58354         * lib/inttypes.in.h: Likewise.
58355         * lib/locale.in.h: Likewise.
58356         * lib/math.in.h: Likewise.
58357         * lib/netinet_in.in.h: Likewise.
58358         * lib/search.in.h: Likewise.
58359         * lib/signal.in.h: Likewise.
58360         * lib/stdarg.in.h: Likewise.
58361         * lib/stdint.in.h: Likewise.
58362         * lib/stdio.in.h: Likewise.
58363         * lib/stdlib.in.h: Likewise.
58364         * lib/string.in.h: Likewise.
58365         * lib/strings.in.h: Likewise.
58366         * lib/sys_select.in.h: Likewise.
58367         * lib/sys_socket.in.h: Likewise.
58368         * lib/sys_stat.in.h: Likewise.
58369         * lib/sys_time.in.h: Likewise.
58370         * lib/sysexits.in.h: Likewise.
58371         * lib/time.in.h: Likewise.
58372         * lib/unistd.in.h: Likewise.
58373         * lib/wchar.in.h: Likewise.
58374         * lib/wctype.in.h: Likewise.
58375         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
58376         * modules/fchdir (Makefile.am): Likewise.
58377         * modules/fcntl (Makefile.am): Likewise.
58378         * modules/float (Makefile.am): Likewise.
58379         * modules/iconv_open (Makefile.am): Likewise.
58380         * modules/inttypes (Makefile.am): Likewise.
58381         * modules/locale (Makefile.am): Likewise.
58382         * modules/math (Makefile.am): Likewise.
58383         * modules/netinet_in (Makefile.am): Likewise.
58384         * modules/search (Makefile.am): Likewise.
58385         * modules/signal (Makefile.am): Likewise.
58386         * modules/stdarg (Makefile.am): Likewise.
58387         * modules/stdint (Makefile.am): Likewise.
58388         * modules/stdio (Makefile.am): Likewise.
58389         * modules/stdlib (Makefile.am): Likewise.
58390         * modules/string (Makefile.am): Likewise.
58391         * modules/strings (Makefile.am): Likewise.
58392         * modules/sys_select (Makefile.am): Likewise.
58393         * modules/sys_socket (Makefile.am): Likewise.
58394         * modules/sys_stat (Makefile.am): Likewise.
58395         * modules/sys_time (Makefile.am): Likewise.
58396         * modules/sysexits (Makefile.am): Likewise.
58397         * modules/time (Makefile.am): Likewise.
58398         * modules/unistd (Makefile.am): Likewise.
58399         * modules/wchar (Makefile.am): Likewise.
58400         * modules/wctype (Makefile.am): Likewise.
58401         Reported by Reuben Thomas <rrt@sc3d.org>.
58402
58403 2008-08-29  Bruno Haible  <bruno@clisp.org>
58404
58405         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
58406         any more.
58407
58408 2008-08-29  Simon Josefsson  <simon@josefsson.org>
58409
58410         * MODULES.html.sh (Misc): Add bitrotate.
58411
58412         * modules/bitrotate: New file.
58413
58414         * lib/bitrotate.h: New file.
58415
58416         * modules/bitrotate-tests: New file.
58417
58418         * tests/test-bitrotate.c: New file.
58419
58420         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
58421         on the bitrotate module.
58422
58423         * lib/arctwo.c: Use new bitrotate module.
58424
58425 2008-08-29  Jim Meyering  <meyering@redhat.com>
58426
58427         bootstrap: merge changes from coreutils
58428         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
58429         of copied files.  Remove a kludge, now that this is fixed.
58430         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
58431         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
58432         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
58433
58434 2008-08-29  Bruno Haible  <bruno@clisp.org>
58435
58436         * MODULES.html.sh: Remove --cvs-urls option.
58437
58438 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
58439
58440         maint.mk: adjust to file name change
58441         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
58442
58443 2008-08-28  Jim Meyering  <meyering@redhat.com>
58444
58445         * modules/getndelim2 (License): Relicense to LGPLv2+.
58446         Approved by Richard Stallman for the version of 1995, and by
58447         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
58448
58449 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
58450
58451         * lib/getdelim.c (flockfile, funlockfile): Make all of them
58452         dummy if one is not available.  Do not touch them if
58453         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
58454         (getc_maybe_unlocked): New.
58455         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
58456
58457 2008-08-26  Eric Blake  <ebb9@byu.net>
58458
58459         doc/INSTALL: resync from autoconf
58460         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
58461         (INSTALL_PRELUDE): Delete; this is done more efficiently by
58462         moving...
58463         * install.texi [!autoconf]: ...here.  Resync from autoconf.
58464         * INSTALL: Regenerate.
58465         * INSTALL.ISO: New file.
58466         * INSTALL.UTF-8: Likewise.
58467
58468 2008-08-26  Jim Meyering  <meyering@redhat.com>
58469
58470         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
58471         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
58472         these definitions conditional, so that they may be overridden, too.
58473
58474 2008-08-26  Bruno Haible  <bruno@clisp.org>
58475
58476         Generate INSTALL file variants with prettier quotes.
58477         * doc/Makefile (INSTALL_PRELUDE): New macro.
58478         (INSTALL): Use it.
58479         (INSTALL.ISO, INSTALL.UTF-8): New rules.
58480
58481 2008-08-26  Bruno Haible  <bruno@clisp.org>
58482
58483         Run makeinfo in an English locale.
58484         * doc/Makefile (MAKEINFO): New variable.
58485
58486 2008-08-26  Bruno Haible  <bruno@clisp.org>
58487
58488         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
58489         Suggested by Eric Blake.
58490
58491 2008-08-25  Bruno Haible  <bruno@clisp.org>
58492
58493         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
58494
58495 2008-08-25  Eric Blake  <ebb9@byu.net>
58496
58497         c-stack: test that stack overflow can be caught
58498         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
58499         that platform allows handling stack overflow; at least OS/2 EMX
58500         has sigaltstack, but crashes before transferring control to
58501         handler on stack overflow.
58502         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
58503         check for HAVE_STACK_OVERFLOW_HANDLING.
58504         Reported by Elbert Pol.
58505
58506 2008-08-25  Bruno Haible  <bruno@clisp.org>
58507
58508         * doc/posix-functions/strftime.texi: Fix description of strftime
58509         module.
58510
58511 2008-08-24  Bruno Haible  <bruno@clisp.org>
58512
58513         * tests/uniwidth/test-uc_width2.c: New file.
58514         * tests/uniwidth/test-uc_width2.sh: New file.
58515         * modules/uniwidth/width-tests (Files): Add the new files.
58516         (TESTS): Add uniwidth/test-uc_width2.sh.
58517         (TESTS_ENVIRONMENT): New variable.
58518         (check_PROGRAMS): Add test-uc_width2.
58519         (test_uc_width2_SOURCES): New variable.
58520
58521         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
58522         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
58523         not 0x00AB.
58524         Reported by Alexander V. Lukyanov <lav@netis.ru>.
58525
58526 2008-08-22  Eric Blake  <ebb9@byu.net>
58527
58528         test-lock, test-tls: mention why a test is skipped
58529         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
58530         skipped.
58531         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
58532
58533         count-one-bits: relax license
58534         * modules/count-one-bits (License): Relicense to LGPLv2+.
58535         Suggested by Ludovic Courtès, approved by Ben Pfaff.
58536
58537 2008-08-22  Andreas Schwab  <schwab@suse.de>
58538
58539         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
58540         Remove spurious space in assignment.
58541
58542 2008-08-21  Simon Josefsson  <simon@josefsson.org>
58543
58544         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
58545         Paul Eggert <eggert@CS.UCLA.EDU>.
58546
58547 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
58548
58549         * modules/gettext: Add m4/threadlib.m4.
58550
58551 2008-08-19  Eric Blake  <ebb9@byu.net>
58552
58553         test-c-stack: fix compilation failure on FreeBSD 5.0
58554         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
58555         headers before <sys/resource.h>.
58556         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
58557         the bug.
58558         Reported by Nelson H. F. Beebe.
58559
58560         strverscmp: migrate from "strverscmp.h" to <string.h>
58561         * modules/string (Makefile.am): Add new hooks.
58562         * modules/strverscmp (Files): Remove strverscmp.h.
58563         (Depends-on): Add string.
58564         (configure.ac): Add indicator.
58565         (Include): Mention new header.
58566         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
58567         defaults.
58568         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
58569         results.
58570         * lib/strverscmp.h: Delete.
58571         * lib/string.in.h (strverscmp): Provide declaration, when needed.
58572         * tests/test-strverscmp.c (includes): Adjust client.
58573         * lib/check-version.c (includes): Likewise.
58574         * NEWS: Document the change.
58575
58576         strverscmp: add unit test
58577         * modules/strverscmp-tests: New file.
58578         * tests/test-strverscmp.c: Likewise.
58579
58580 2008-08-19  Simon Josefsson  <simon@josefsson.org>
58581
58582         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
58583         regarding Windows crypto stuff, from Mono.
58584
58585 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
58586
58587         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
58588         if present, for intel RND.  Return error on failures.
58589
58590 2008-08-18  Ben Pfaff  <blp@gnu.org>
58591
58592         gitlog-to-changelog: give better diagnostic for failed pipe-open
58593         * build-aux/gitlog-to-changelog: Improve error message: suggest
58594         that the version of Git may be too old.
58595
58596 2008-08-18  Simon Josefsson  <simon@josefsson.org>
58597
58598         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
58599         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
58600
58601 2008-08-18  Bruno Haible  <bruno@clisp.org>
58602
58603         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
58604         pthread_in_use().
58605
58606 2008-08-18  Bruno Haible  <bruno@clisp.org>
58607
58608         * lib/glthread/threadlib.c: Include <pthread.h>.
58609
58610 2008-08-18  Bruno Haible  <bruno@clisp.org>
58611
58612         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
58613         glthread_recursive_lock_* macros.
58614         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
58615         Fix syntax error.
58616
58617 2008-08-18  Bruno Haible  <bruno@clisp.org>
58618
58619         * lib/glthread/thread.c: Avoid forcing a context switch right after
58620         thread creation.
58621
58622 2008-08-17  Bruno Haible  <bruno@clisp.org>
58623
58624         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
58625         * lib/glthread/thread.h: Provide Win32 specific implementation.
58626         * modules/thread (Files): Add lib/glthread/thread.c.
58627         (Depends-on): Add lock.
58628         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
58629
58630 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58631
58632         New module 'yield'.
58633         * modules/yield: New file.
58634         * lib/glthread/yield.h: New file.
58635         * m4/yield.m4: New file.
58636         * MODULES.html.sh (Multithreading): Add yield.
58637
58638 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58639
58640         New module 'thread'.
58641         * modules/thread: New file.
58642         * lib/glthread/thread.h: New file.
58643         * m4/thread.m4: New file.
58644         * MODULES.html.sh (Multithreading): Add thread.
58645
58646 2008-08-17  Bruno Haible  <bruno@clisp.org>
58647
58648         * lib/glthread/lock.h: Include <stdlib.h> always.
58649         * lib/glthread/tls.h: Likewise.
58650         * lib/glthread/cond.h: Likewise.
58651
58652 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58653
58654         New module 'cond'.
58655         * modules/cond: New file.
58656         * lib/glthread/cond.h: New file.
58657         * lib/glthread/cond.c: New file.
58658         * m4/cond.m4: New file.
58659         * MODULES.html.sh (Multithreading): Add cond.
58660
58661 2008-08-16  Eric Blake  <ebb9@byu.net>
58662
58663         c-stack: fix regression on Irix 5.3 from 2008-06-21
58664         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
58665         sa_sigaction...
58666         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
58667         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
58668         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
58669         * modules/signal (Makefile.am): Use the value.
58670         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
58671         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
58672         * doc/posix-headers/signal.texi (signal.h): Document this
58673         portability issue.
58674         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
58675         Reported by Tom G. Christensen.
58676
58677 2008-08-17  Bruno Haible  <bruno@clisp.org>
58678
58679         New module 'threadlib'.
58680         * modules/threadlib: New file.
58681         * lib/glthread/threadlib.c: New file, extracted from
58682         lib/glthread/lock.c.
58683         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
58684         functions.
58685         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
58686         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
58687         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
58688         macros.
58689         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
58690         (gl_DISABLE_THREADS): Remove macro.
58691         * modules/lock (Files): Remove build-aux/config.rpath.
58692         (Depends-on): Remove havelib. Add threadlib.
58693         (configure.ac-early): Remove section.
58694         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
58695         * modules/tls (Depends-on): Remove lock. Add threadlib.
58696         (Link): New section, copied from threadlib.
58697         * MODULES.html.sh (Multithreading): Add threadlib.
58698
58699 2008-08-14  Bruno Haible  <bruno@clisp.org>
58700
58701         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
58702         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
58703         glthread_rwlock_unlock, glthread_rwlock_destroy,
58704         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
58705         glthread_recursive_lock_destroy): Define as macros always.
58706         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
58707         glthread_lock_lock.
58708         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
58709         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
58710         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
58711         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
58712         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
58713         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
58714         (glthread_recursive_lock_lock_func): Renamed from
58715         glthread_recursive_lock_lock.
58716         (glthread_recursive_lock_unlock_func): Renamed from
58717         glthread_recursive_lock_unlock.
58718         (glthread_recursive_lock_destroy_func): Renamed from
58719         glthread_recursive_lock_destroy.
58720
58721 2008-08-14  Bruno Haible  <bruno@clisp.org>
58722
58723         * lib/glthread/lock.h: Renamed from lib/lock.h.
58724         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
58725         * lib/glthread/tls.h: Renamed from lib/tls.h.
58726         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
58727         * lib/fstrcmp.c: Update includes.
58728         * lib/strsignal.c: Update includes.
58729         * modules/lock (Files, Makefile.am): Update.
58730         (Include): Change to "glthread/lock.h".
58731         * modules/tls (Files, Makefile.am): Update.
58732         (Include): Change to "glthread/tls.h".
58733         * tests/test-lock.c: Update includes.
58734         * tests/test-tls.c: Update includes.
58735         * NEWS: Mention the renamed header files.
58736
58737 2008-08-11  Jim Meyering  <meyering@redhat.com>
58738
58739         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
58740
58741 2008-08-11  Eric Blake  <ebb9@byu.net>
58742
58743         test-c-stack: avoid C99-ism
58744         * tests/test-c-stack.c (main): Fix whitespace, move declaration
58745         before statement.
58746         Reported by Alain Guibert.
58747
58748 2008-08-10  Jim Meyering  <meyering@redhat.com>
58749
58750         ensure that return value of uinttostr et al are not ignored
58751         * lib/inttostr.h (__GNUC_PREREQ): Define.
58752         (__attribute_warn_unused_result__): Define.
58753         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
58754
58755 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
58756
58757         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
58758         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
58759
58760 2008-08-07  Jim Meyering  <meyering@redhat.com>
58761
58762         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
58763
58764         * modules/mkstemp (License): Relicense under LGPLv2+.
58765         * modules/tempname (License): Likewise.
58766
58767 2008-08-06  Bruno Haible  <bruno@clisp.org>
58768
58769         * lib/poll.c (poll): Further micro-optimization.
58770
58771 2008-08-06  Jim Meyering  <meyering@redhat.com>
58772
58773         inet_pton.c: use locale-independent tolower
58774         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
58775         (inet_pton6): Use c_tolower rather than tolower.
58776         * modules/inet_pton (Depends-on): Add c-ctype.
58777
58778 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
58779
58780         * lib/poll.c (poll): Avoid division when timeout is 0, cache
58781         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
58782
58783 2008-08-06  Jim Meyering  <meyering@redhat.com>
58784
58785         * modules/inet_pton (License): Relicense under LGPLv2+.
58786
58787 2008-08-03  Bruno Haible  <bruno@clisp.org>
58788
58789         Additional non-aborting API for lock and tls.
58790         * lib/lock.h: Include <errno.h>.
58791         (glthread_lock_init): New macro/function.
58792         (gl_lock_init): Define as wrapper around glthread_lock_init.
58793         (glthread_lock_lock): New macro/function.
58794         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
58795         (glthread_lock_unlock): New macro/function.
58796         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
58797         (glthread_lock_destroy): New macro/function.
58798         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
58799         (glthread_rwlock_init): New macro/function.
58800         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
58801         (glthread_rwlock_rdlock): New macro/function.
58802         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
58803         (glthread_rwlock_wrlock): New macro/function.
58804         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
58805         (glthread_rwlock_unlock): New macro/function.
58806         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
58807         (glthread_rwlock_destroy): New macro/function.
58808         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
58809         (glthread_recursive_lock_init): New macro/function.
58810         (gl_recursive_lock_init): Define as wrapper around
58811         glthread_recursive_lock_init.
58812         (glthread_recursive_lock_lock): New macro/function.
58813         (gl_recursive_lock_lock): Define as wrapper around
58814         glthread_recursive_lock_lock.
58815         (glthread_recursive_lock_unlock): New macro/function.
58816         (gl_recursive_lock_unlock): Define as wrapper around
58817         glthread_recursive_lock_unlock.
58818         (glthread_recursive_lock_destroy): New macro/function.
58819         (gl_recursive_lock_destroy): Define as wrapper around
58820         glthread_recursive_lock_destroy.
58821         (glthread_once): New macro/function.
58822         (gl_once): Define as wrapper around glthread_once.
58823         Update function declarations.
58824         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
58825         glthread_rwlock_init. Return error code.
58826         (glthread_rwlock_rdlock_multithreaded): Renamed from
58827         glthread_rwlock_rdlock. Return error code.
58828         (glthread_rwlock_wrlock_multithreaded): Renamed from
58829         glthread_rwlock_wrlock. Return error code.
58830         (glthread_rwlock_unlock_multithreaded): Renamed from
58831         glthread_rwlock_unlock. Return error code.
58832         (glthread_rwlock_destroy_multithreaded): Renamed from
58833         glthread_rwlock_destroy. Return error code.
58834         (glthread_recursive_lock_init_multithreaded): Renamed from
58835         glthread_recursive_lock_init. Return error code.
58836         (glthread_recursive_lock_lock_multithreaded): Renamed from
58837         glthread_recursive_lock_lock. Return error code.
58838         (glthread_recursive_lock_unlock_multithreaded): Renamed from
58839         glthread_recursive_lock_unlock. Return error code.
58840         (glthread_recursive_lock_destroy_multithreaded): Renamed from
58841         glthread_recursive_lock_destroy. Return error code.
58842         (glthread_once_call): Make static.
58843         (glthread_once_multithreaded): Renamed from glthread_once.
58844         * lib/tls.h: Include <errno.h>.
58845         (glthread_tls_key_init): New macro/function.
58846         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
58847         (glthread_tls_set): New macro/function.
58848         (gl_tls_set): Define as wrapper around glthread_tls_set.
58849         (glthread_tls_key_destroy): New macro/function.
58850         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
58851         Update function declarations.
58852         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
58853         glthread_tls_get.
58854         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
58855
58856 2008-08-04  Eric Blake  <ebb9@byu.net>
58857
58858         gnumakefile: use space, not TAB, outside of targets
58859         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
58860
58861 2008-08-02  Jim Meyering  <meyering@redhat.com>
58862
58863         getdate.y: avoid locale-dependent date parsing failure
58864         In Turkish locales, getdate would fail to recognize keywords
58865         containing a lowercase "i".  The solution is not to rely on
58866         locale-sensitive case-conversion.
58867         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
58868         (lookup_word): Use c_toupper in place of toupper.
58869         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
58870         Reported by Vefa Bicakci <bicave@superonline.com> in
58871         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
58872         * modules/getdate (Depends-on): Add c-ctype.
58873
58874 2008-08-02  Bruno Haible  <bruno@clisp.org>
58875
58876         * gnulib-tool (func_import): When updating or creating a .gitignore
58877         file, prepend each added line with a slash, and ignore leading slashes
58878         from the existing lines.
58879         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58880
58881 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58882
58883         Portability fix for GNU make 3.79.1.
58884         * top/GNUmakefile: Avoid 'else COND', which older GNU make
58885         versions do not understand.
58886
58887 2008-08-01  Bruno Haible  <bruno@clisp.org>
58888
58889         Work around bug of HP-UX 10.20 cc with -0.0 literal.
58890         * tests/test-isnanf.h (zero): New variable.
58891         (main): Avoid literal -0.0f.
58892         * tests/test-isnand.h (zero): New variable.
58893         (main): Avoid literal -0.0.
58894         * tests/test-isnanl.h (zero): New variable.
58895         (main): Avoid literal -0.0L.
58896         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
58897         (test_float, test_double, test_long_double): Avoid literals -0.0f,
58898         -0.0, -0.0L.
58899         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
58900         (test_signbitd): Avoid literal -0.0.
58901         (test_signbitl): Avoid literal -0.0L.
58902         * tests/test-ceilf1.c (zero): New variable.
58903         (main): Avoid literal -0.0f.
58904         * tests/test-ceill.c (zero): New variable.
58905         (main): Avoid literal -0.0L.
58906         * tests/test-floorf1.c (zero): New variable.
58907         (main): Avoid literal -0.0f.
58908         * tests/test-floorl.c (zero): New variable.
58909         (main): Avoid literal -0.0L.
58910         * tests/test-roundf1.c (zero): New variable.
58911         (main): Avoid literal -0.0f.
58912         * tests/test-round1.c (zero): New variable.
58913         (main): Avoid literal -0.0.
58914         * tests/test-roundl.c (zero): New variable.
58915         (main): Avoid literal -0.0L.
58916         * tests/test-truncf1.c (zero): New variable.
58917         (main): Avoid literal -0.0f.
58918         * tests/test-trunc1.c (zero): New variable.
58919         (main): Avoid literal -0.0.
58920         * tests/test-truncl.c (zero): New variable.
58921         (main): Avoid literal -0.0L.
58922         * tests/test-frexp.c (zero): New variable.
58923         (main): Avoid literal -0.0.
58924         * tests/test-frexpl.c (zero): New variable.
58925         (main): Avoid literal -0.0L.
58926         * tests/test-ldexpl.c (zero): New variable.
58927         (main): Avoid literal -0.0L.
58928         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58929         (zerod, zerol): New variables.
58930         (test_function): Avoid literals -0.0, -0.0L.
58931         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58932         (zerod, zerol): New variables.
58933         (test_function): Avoid literals -0.0, -0.0L.
58934         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58935         (zerod, zerol): New variables.
58936         (test_function): Avoid literals -0.0, -0.0L.
58937         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58938         (zerod, zerol): New variables.
58939         (test_function): Avoid literals -0.0, -0.0L.
58940         * tests/test-strtod.c (zero): New variable.
58941         (main): Avoid literal -0.0.
58942         Reported by Jonathan C. Patschke <jp@centtech.com>.
58943
58944 2008-07-31  Jim Meyering  <meyering@redhat.com>
58945
58946         sha256.h: correct definition of SHA224_DIGEST_SIZE
58947         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
58948         Reported by Paulie Pena IV <paulie4@gmail.com>.
58949         Define as 224 / 8, rather than as a literal.
58950         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
58951         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
58952         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
58953
58954 2008-07-31  Bruno Haible  <bruno@clisp.org>
58955
58956         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
58957         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
58958         Reported by Jonathan Patschke <jp@centtech.com>.
58959
58960 2008-07-31  Bruno Haible  <bruno@clisp.org>
58961
58962         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
58963         Reported by Paolo Bonzini <bonzini@gnu.org>.
58964
58965 2008-07-30  Eric Blake  <ebb9@byu.net>
58966
58967         test-strtod: allow compilation without -lm
58968         * tests/test-strtod.c (main): Avoid link dependence on fabs.
58969         Reported by Dennis Clarke <blastwave@gmail.com>.
58970
58971 2008-07-28  Jim Meyering  <meyering@redhat.com>
58972
58973         bootstrap: work also when there are no .po files in po/
58974         * build-aux/bootstrap (update_po_files): Complete the change
58975         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
58976
58977 2008-07-27  Jim Meyering  <meyering@redhat.com>
58978
58979         * users.txt: Add zile.
58980
58981 2008-07-26  Ben Pfaff  <blp@gnu.org>
58982
58983         Add missing dependencies on new m4/exponent[fdl].m4 files.
58984         * modules/isnanf-nolibm: Add m4/exponentf.m4.
58985         * modules/isnand-nolibm: Add m4/exponentd.m4.
58986         * modules/isnanl-nolibm: Add m4/exponentl.m4.
58987         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
58988         m4/isnan[fdl].m4, because the macros actually used moved.
58989         Reported by Jim Meyering.
58990
58991 2008-07-14  Ben Pfaff  <blp@gnu.org>
58992
58993         Add isinf module.
58994         * lib/isinf.c: New file.
58995         * lib/math.in.h: Define isinf macro if we have decided to replace
58996         it.
58997         * m4/isinf.m4: New file.
58998         * m4/math_h.m4: Initialize and substitute variables for isinf
58999         module.
59000         * modules/isinf: New file.
59001         * modules/isinf-tests: New file.
59002         * modules/math: Add substitutions for new module.
59003         * tests/test-isinf.c: New file.
59004         * doc/posix-functions/isinf.texi: Mention new module.
59005         * MODULES.html.sh: Mention new module.
59006
59007 2008-07-14  Ben Pfaff  <blp@gnu.org>
59008
59009         Factor out some macros for use by additional modules.
59010         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
59011         exponentf.m4.
59012         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
59013         exponentd.m4.
59014         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
59015         file exponentl.m4.
59016         * m4/exponentf.m4: New file.
59017         * m4/exponentd.m4: New file.
59018         * m4/exponentl.m4: New file.
59019         * modules/isnanf: Use new file m4/exponentf.m4.
59020         * modules/isnand: Use new file m4/exponentd.m4.
59021         * modules/isnanl: Use new file m4/exponentl.m4.
59022
59023 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
59024
59025         mktime.c: normalize tp->tm_isdst value to -1/0/1.
59026         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
59027         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
59028         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
59029
59030         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
59031         readlink on platforms without PATH_MAX.
59032
59033 2008-07-21  Eric Blake  <ebb9@byu.net>
59034
59035         Warn, not fail, on stale version.
59036         * top/GNUmakefile (_curr-ver): Tone down previous patch.
59037
59038         Don't allow installation with stale devel version number.
59039         * top/GNUmakefile (_is-install-target): New macro.
59040         (_curr-ver): Forbid installation with stale version number.
59041
59042 2008-07-20  Bruno Haible  <bruno@clisp.org>
59043
59044         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
59045         TESTS_ENVIRONMENT.
59046         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
59047
59048 2008-07-20  Bruno Haible  <bruno@clisp.org>
59049
59050         * lib/c-stack.h (c_stack_action): Add documentation.
59051         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
59052
59053 2008-07-20  Bruno Haible  <bruno@clisp.org>
59054
59055         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
59056         * modules/readlink (License): Likewise.
59057
59058 2008-07-17  Eric Blake  <ebb9@byu.net>
59059
59060         * modules/c-stack (Link): Fix typo.
59061
59062         Make c-stack use libsigsegv, when available.
59063         * modules/c-stack (Depends-on): Add libsigsegv.
59064         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
59065         needed.
59066         * lib/c-stack.c (SIGSTKSZ): Define fallback.
59067         (segv_handler, overflow_handler, c_stack_action)
59068         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
59069         implementation when libsigsegv is available, but only when using
59070         the library is necessary.
59071         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
59072         comment, explaining why XSI check fails on Linux.
59073         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
59074         * tests/test-c-stack2.sh: Tweak skip message.
59075         * NEWS: Document new link-time requirements.
59076
59077 2008-07-16  Eric Blake  <ebb9@byu.net>
59078
59079         c-stack: Expose false positives when not using libsigsegv.
59080         * modules/c-stack-tests (Files): Expand test.
59081         * tests/test-c-stack.c (main): Add means to conditionally trigger
59082         non-overflow SIGSEGV.
59083         * tests/test-c-stack2.sh: New file.
59084
59085 2008-07-14  Bruno Haible  <bruno@clisp.org>
59086
59087         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
59088         Reported by Eric Blake.
59089
59090 2008-07-14  Sam Steingold  <sds@gnu.org>
59091             Bruno Haible  <bruno@clisp.org>
59092
59093         New module libsigsegv.
59094         * modules/libsigsegv: New file.
59095         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
59096         modifications.
59097         * MODULES.html.sh (Signal handling): New section.
59098
59099 2008-07-14  Bruno Haible  <bruno@clisp.org>
59100
59101         * modules/unictype/ctype-* (Description): Add the word "function".
59102         Improves the resulting doc in MODULES.html.
59103
59104 2008-07-12  Ben Pfaff  <blp@gnu.org>
59105
59106         Add longlong module.
59107         * modules/longlong: New file.
59108
59109 2008-07-12  Bruno Haible  <bruno@clisp.org>
59110
59111         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
59112         to empty.
59113
59114 2008-07-10  Ben Pfaff  <blp@gnu.org>
59115
59116         Add isnan module.
59117         * doc/posix-functions/isnan.texi: Mention new module.
59118         * lib/math.in.h: Define isnan macro if we have decided to replace
59119         it.
59120         * m4/isnan.m4: New file.
59121         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
59122         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
59123         also.
59124         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
59125         redundancy.
59126         * m4/math_h.m4: Initialize and substitute variables for isnan
59127         module.
59128         * modules/isnan: New file.
59129         * modules/isnan-tests: New file.
59130         * modules/math: Add substitutions for new module.
59131         * tests/test-isnan.c: New file.
59132         * MODULES.html.sh: Mention new module.
59133
59134 2008-07-10  Ben Pfaff  <blp@gnu.org>
59135
59136         Add isnanf module.
59137         * lib/isnanf.m4: New file.
59138         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
59139         (gl_HAVE_ISNANF_IN_LIBM): New macro.
59140         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
59141         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
59142         * modules/isnanf: New file.
59143         * modules/isnanf-tests: New file.
59144         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
59145         files.
59146         * tests/test-isnanf-nolibm.c: factored most of its contents into
59147         new file tests/test-isnanf.h.
59148         * tests/test-isnanf.h: New file.
59149         * tests/test-isnanf.c: New file.
59150         * MODULES.html.sh: Mention new module.
59151         * doc/glibc-functions/isnanf.texi: Mention new module.
59152
59153 2008-07-10  Ben Pfaff  <blp@gnu.org>
59154
59155         Add isnand module.
59156         * lib/isnand.h: New file.
59157         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
59158         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
59159         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
59160         functionality also.
59161         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
59162         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
59163         (gl_HAVE_ISNAND_IN_LIBM): New macro.
59164         * modules/isnand: New file.
59165         * modules/isnand-tests: New file.
59166         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
59167         files.
59168         * tests/test-isnand-nolibm.c: factored most of its contents into
59169         new file tests/test-isnand.h.
59170         * tests/test-isnand.h: New file.
59171         * tests/test-isnand.c: New file.
59172         * MODULES.html.sh: Mention new module.
59173
59174 2008-07-10  Ben Pfaff  <blp@gnu.org>
59175
59176         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
59177         * lib/isnand.h: Rename lib/isnand-nolibm.h.
59178         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
59179         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
59180         * modules/isnanf-nolibm: Update references to renamed files.
59181         * modules/isnand-nolibm: Likewise.
59182         * modules/isnanf-nolibm-tests: Likewise.
59183         * modules/isnand-nolibm-tests: Likewise.
59184         * lib/frexp.c: Likewise.
59185         * lib/isfinite.c: Likewise.
59186         * lib/signbitd.c: Likewise.
59187         * lib/signbitf.c: Likewise.
59188         * lib/vasnprintf.c: Likewise.
59189         * tests/test-ceilf1.c: Likewise.
59190         * tests/test-ceilf2.c: Likewise.
59191         * tests/test-floorf1.c: Likewise.
59192         * tests/test-floorf2.c: Likewise.
59193         * tests/test-frexp.c: Likewise.
59194         * tests/test-round1.c: Likewise.
59195         * tests/test-round2.c: Likewise.
59196         * tests/test-roundf1.c: Likewise.
59197         * tests/test-strtod.c: Likewise.
59198         * tests/test-trunc1.c: Likewise.
59199         * tests/test-trunc2.c: Likewise.
59200         * tests/test-truncf1.c: Likewise.
59201         * tests/test-truncf2.c: Likewise.
59202         * NEWS: Mention the renamed header files.
59203
59204 2008-07-11  Jim Meyering  <meyering@redhat.com>
59205
59206         vc-list-files: make the last-resort awk code more portable
59207         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
59208         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
59209         does not support it.
59210
59211 2008-07-10  Eric Blake  <ebb9@byu.net>
59212
59213         Work with tar's bootstrap.
59214         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
59215         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
59216         an m4 comment.
59217
59218 2008-07-09  Jim Meyering  <meyering@redhat.com>
59219
59220         posix-shell.m4: fix typo that made this test malfunction
59221         * m4/posix-shell.m4: Remove capitalization in variable name.
59222
59223 2008-07-08  Bruno Haible  <bruno@clisp.org>
59224
59225         * m4/onceonly.m4: Update comments.
59226         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59227
59228 2008-07-04  Jim Meyering  <meyering@redhat.com>
59229
59230         * users.txt: Add vc-dwim.
59231         (bison, coreutils): Use the gitweb URL.
59232
59233 2008-07-03  Jim Meyering  <meyering@redhat.com>
59234
59235         * users.txt: Add libffcall.  From Sam Steingold.
59236
59237 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
59238
59239         getdate.y: do not ignore TZ with relative day, month or year offset
59240         * lib/getdate.y (get_date): Move the tz-handling block to follow the
59241         relative-date-handling, since otherwise, the latter would clobber the
59242         sole output (an updated Start value) of the tz-handling block.
59243         * tests/test-getdate.c: Tests for the fix
59244
59245 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59246
59247         Recognize 'foo_LIBRARIES += libgnu.a'.
59248         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
59249         makefile snippet has already specified an installation location,
59250         also using '+='.
59251
59252 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
59253
59254         getdate.y: factor out common actions
59255         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
59256         Use them in place of open-coded actions.
59257
59258 2008-07-01  Simon Josefsson  <simon@josefsson.org>
59259
59260         Add self-test for getdate module.
59261         * modules/getdate-tests: New file.
59262         * tests/test-getdate.c: New file.
59263
59264 2008-06-29  Bruno Haible  <bruno@clisp.org>
59265
59266         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
59267         .gitignore.
59268         Reported by Sylvain Beucler <beuc@beuc.net>.
59269
59270 2008-06-29  Bruno Haible  <bruno@clisp.org>
59271
59272         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
59273         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
59274
59275 2008-06-29  Bruno Haible  <bruno@clisp.org>
59276
59277         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
59278         EXTRA_DIST.
59279         Reported by Sylvain Beucler <beuc@beuc.net>.
59280
59281 2008-06-26  Jim Meyering  <meyering@redhat.com>
59282
59283         make several modules depend on the "open" module
59284         This provides slightly increased consistency when opening-for-write
59285         the name of a non-directory spelled with a trailing slash.
59286         * modules/chdir-safer: Likewise.
59287         * modules/chown: Likewise.
59288         * modules/clean-temp: Likewise.
59289         * modules/copy-file: Likewise.
59290         * modules/fchdir: Likewise.
59291         * modules/fcntl-safer: Likewise.
59292         * modules/pipe: Likewise.
59293         * modules/utime: Likewise.
59294         Prompted by Eric Blake and Bruno Haible.
59295
59296 2008-06-24  Andreas Schwab  <schwab@suse.de>
59297
59298         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
59299         literals can be used as initializers for global variables.
59300
59301 2008-06-23  Eric Blake  <ebb9@byu.net>
59302
59303         Make gnulib-cache.m4 easier to diff.
59304         * gnulib-tool (func_import): Allow newlines when reading cached
59305         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
59306
59307 2008-06-23  Bruno Haible  <bruno@clisp.org>
59308
59309         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
59310         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
59311         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
59312         m4/signalblocking.m4.
59313         (gl_PREREQ_SIGACTION): Don't invoke it.
59314         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
59315         gl_PREREQ_SIG_HANDLER_H.
59316         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
59317         Don't check for sigaction here.
59318
59319 2008-06-23  Bruno Haible  <bruno@clisp.org>
59320
59321         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
59322         (install_handlers): Don't set the SA_RESETHAND flag.
59323
59324 2008-06-23  Bruno Haible  <bruno@clisp.org>
59325
59326         * m4/sigaction.m4: Comment fixes.
59327         * lib/signal.in.h: Likewise.
59328
59329 2008-06-23  Eric Blake  <ebb9@byu.net>
59330
59331         Fix typo.
59332         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
59333
59334         Avoid SA_ namespace.
59335         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
59336         Reported by Ralf Wildenhues.
59337
59338         Avoid test failure due to SA_RESTORER.
59339         * tests/test-sigaction.c (SA_MASK): New macro.
59340         (main): Avoid failing due to extension flags being set.
59341         Reported by Jim Meyering.
59342
59343         Revert use of sig-handler.h in sigprocmask.c.
59344         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
59345         it requires the existence of struct sigaction.
59346         * lib/sigprocmask.c (handler_t): Restore typedef.
59347         (rpl_signal, old_handlers): Use local type.
59348
59349 2008-06-22  Bruno Haible  <bruno@clisp.org>
59350
59351         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
59352         conditionally.
59353         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
59354
59355 2008-06-22  Bruno Haible  <bruno@clisp.org>
59356
59357         * doc/posix-functions/siginterrupt.texi: Move note.
59358
59359         * lib/signal.in.h (SA_RESTART): New macro.
59360         * lib/sigaction.c: Update comment.
59361
59362         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
59363
59364         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
59365         (gl_PREREQ_SIGPROCMASK): Invoke it.
59366         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
59367
59368         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
59369
59370         * lib/sigprocmask.c: Update a comment.
59371
59372 2008-06-21  Eric Blake  <ebb9@byu.net>
59373
59374         Use sigaction module rather than signal().
59375         * modules/c-stack (Depends-on): Add sigaction.
59376         * modules/fatal-signal (Depends-on): Likewise.
59377         * modules/nanosleep (Depends-on): Likewise.
59378         * modules/sigprocmask (Files): Add sig-handler.h.
59379         * modules/sigaction (Files): Likewise.
59380         * lib/sig-handler.h (get_handler): New file, suggested by Paul
59381         Eggert.
59382         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
59383         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
59384         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
59385         (init_fatal_signals): Likewise.
59386         * lib/nanosleep.c (rpl_nanosleep): Likewise.
59387         (siginterrupt): Delete fallback.
59388         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
59389         instead.
59390         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
59391         siginterrupt.
59392
59393         New module sigaction, for mingw.
59394         * modules/sigaction: New module...
59395         * modules/sigaction-tests: ...and its test.
59396         * m4/sigaction.m4: New file.
59397         * lib/sigaction.c: Likewise.
59398         * tests/test-sigaction.c: Likewise.
59399         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
59400         * modules/signal (Makefile.am): Likewise.
59401         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
59402         needed.
59403         * doc/posix-headers/signal.texi (signal.h): Mention provided
59404         types.
59405         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
59406         that sigaction is preferable.
59407         * doc/posix-functions/sigaction.texi (sigaction): Mention new
59408         module.
59409         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59410         sigaction.
59411
59412         Improve robustness of sigprocmask by overriding signal.
59413         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
59414         is in use.
59415         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
59416         (SIGKILL, SIGSTOP): Provide fallbacks.
59417         (rpl_signal): Implement.
59418         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
59419         signal can be called inside handlers.
59420
59421         Fix nanosleep module on mingw.
59422         * modules/nanosleep (Depends-on): Add sys_select.
59423         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
59424
59425         Fix licensing of sigprocmask.
59426         * modules/raise (License): Relicense as LGPL.
59427
59428 2008-06-21  Bruno Haible  <bruno@clisp.org>
59429
59430         * lib/propername.c (proper_name_utf8): Don't use the transliterated
59431         result if it contains question marks.
59432         Reported by Michael Geng <linux@michaelgeng.de>.
59433
59434 2008-06-19  Bruno Haible  <bruno@clisp.org>
59435
59436         Fix CVS-ism.
59437         * doc/gnulib.texi: Include updated-stamp.texi.
59438         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
59439         (updated-stamp.texi): New rule.
59440         (gnulib.info): Depend on it.
59441         * doc/.gitignore: Add updated-stamp.texi.
59442         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
59443
59444 2008-06-19  Bruno Haible  <bruno@clisp.org>
59445
59446         * doc/Makefile (gnulib.info): Update and simplify dependencies.
59447         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
59448
59449 2008-06-19  Eric Blake  <ebb9@byu.net>
59450
59451         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
59452         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
59453         Reported by Stepan Kasal.
59454
59455 2008-06-18  Bruno Haible  <bruno@clisp.org>
59456
59457         * lib/fatal-signal.c (init_fatal_signals): Add comment.
59458         Reported by Eric Blake.
59459
59460 2008-06-18  Eric Blake  <ebb9@byu.net>
59461
59462         Work around cygwin 1.5.25 strsignal bug.
59463         * tests/test-strsignal.c: Allow for const char *.
59464         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
59465
59466 2008-06-18  Simon Josefsson  <simon@josefsson.org>
59467
59468         * users.txt: Update URL to article and add author/date
59469         information.
59470
59471 2008-06-17  Bruno Haible  <bruno@clisp.org>
59472
59473         New macro gl_DISABLE_THREADS.
59474         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
59475         if the user did not pass --enable-threads or --disable-threads option.
59476         (gl_DISABLE_THREADS): New macro.
59477         Reported by Eric Blake <ebb9@byu.net>.
59478
59479 2008-06-17  Bruno Haible  <bruno@clisp.org>
59480
59481         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
59482         when the macro ignores it.
59483         Based on a patch by Eric Blake <ebb9@byu.net>.
59484
59485 2008-06-17  Bruno Haible  <bruno@clisp.org>
59486
59487         * modules/tls (License): Change to LGPLv2+.
59488         Reported by Eric Blake.
59489
59490 2008-06-17  Eric Blake  <ebb9@byu.net>
59491
59492         Simplify c-stack prerequisites.
59493         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
59494         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
59495         no longer requires <ucontext.h> to exist.  Optimize setrlimit
59496         check.
59497         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
59498         <sys/resource.h>.
59499
59500         Move c-stack test into testsuite.
59501         * modules/c-stack-tests: New file.
59502         * lib/c-stack.c [DEBUG]: Move test program...
59503         * tests/test-c-stack.c: ...into this new file.  Skip rather than
59504         fail test if sigaltstack is lacking.
59505         * tests/test-c-stack.sh: New driver file.
59506
59507 2008-06-16  Eric Blake  <ebb9@byu.net>
59508
59509         Use raise module consistently.
59510         * modules/fatal-signal (Depends-on): Add raise.
59511         * modules/sigprocmask (Depends-on): Likewise.
59512         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
59513         * lib/sigprocmask.c (sigprocmask): Likewise.
59514         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
59515         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
59516
59517         Fix compliance bug in sigpending.
59518         * lib/sigprocmask.c (sigpending): Return pending array via
59519         parameter, not return value.
59520
59521 2008-06-14  Eric Blake  <ebb9@byu.net>
59522
59523         Improve obstack-printf test code.
59524         * tests/test-obstack-printf.c (test_function): Fix comment, and
59525         simplify usage of obstack_* in macros.  Add a test for coverage.
59526         Reported by Bruno Haible.
59527
59528 2008-06-14  Bruno Haible  <bruno@clisp.org>
59529
59530         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
59531         array size as a constant, not as a const variable.
59532         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
59533         AC_USE_SYSTEM_EXTENSIONS.
59534         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
59535         Test whether the obstack_printf function actually exists.
59536         * modules/obstack-printf (Depends-on): Add extensions.
59537         (Include): Remove obstack.h.
59538         * modules/obstack-printf-posix (Depends-on): Add extensions.
59539         (Include): Remove obstack.h.
59540
59541 2008-06-13  Eric Blake  <ebb9@byu.net>
59542
59543         Add obstack-printf and obstack-printf-posix modules.
59544         * modules/obstack-printf: New file.
59545         * modules/obstack-printf-posix: Likewise.
59546         * MODULES.html.sh (Misc): Mention them.
59547         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
59548         Likewise.
59549         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
59550         Likewise.
59551         * modules/stdio (Makefile.am): Accomodate new modules.
59552         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
59553         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
59554         Declare.
59555         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
59556         functions.
59557         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
59558         (gl_REPLACE_OBSTACK_PRINTF): New macros
59559         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
59560         * tests/test-obstack-printf.c: New file.
59561         * modules/obstack-printf-tests: Likewise.
59562         * modules/obstack-printf-posix-tests: Likewise.
59563
59564 2008-06-11  Bruno Haible  <bruno@clisp.org>
59565
59566         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
59567         * lib/open.c: Include errno.h.
59568         (open): Fail when attempting to write to a file that has a trailing
59569         slash.
59570         * tests/test-open.c (main): Test against trailing slash bug.
59571         * doc/posix-functions/open.texi: Mention the trailing slash bug.
59572
59573 2008-06-10  Bruno Haible  <bruno@clisp.org>
59574
59575         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
59576         for $? to work inside the trap command, with various /bin/sh-s.
59577         * tests/test-vc-list-files-cvs.sh: Likewise.
59578
59579 2008-06-10  Bruno Haible  <bruno@clisp.org>
59580
59581         * lib/acl-internal.h: Don't include gettext.h here.
59582         * lib/set-mode-acl.c: Include gettext.h here.
59583         * lib/copy-acl.c: Likewise.
59584
59585 2008-06-10  Bruno Haible  <bruno@clisp.org>
59586
59587         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
59588         * lib/wait-process.c (wait_subprocess): Likewise.
59589         * lib/execute.h (execute): Add termsigp argument.
59590         * lib/execute.c (execute): Likewise.
59591         * lib/csharpcomp.c (compile_csharp_using_pnet,
59592         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
59593         * lib/csharpexec.c (execute_csharp_using_pnet,
59594         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
59595         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
59596         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
59597         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
59598         is_jikes_present): Update.
59599         * lib/javaexec.c (execute_java_class): Update.
59600         * lib/javaversion.c (execute_and_read_line): Update.
59601         * NEWS: Document the changes.
59602         Reported by Eric Blake.
59603
59604 2008-06-10  Eric Blake  <ebb9@byu.net>
59605
59606         Add missing include.
59607         * tests/test-strstr.c (includes): Add <signal.h>.
59608         * tests/test-strcasestr.c (includes): Likewise.
59609         * tests/test-memmem.c (includes): Likewise.
59610
59611 2008-06-10  Bruno Haible  <bruno@clisp.org>
59612
59613         * lib/wait-process.c (wait_subprocess): Add an assertion.
59614
59615 2008-06-10  Bruno Haible  <bruno@clisp.org>
59616
59617         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
59618
59619 2008-06-10  Bruno Haible  <bruno@clisp.org>
59620
59621         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
59622         using alarm().
59623         * tests/test-strcasestr.c (main): Likewise.
59624         * tests/test-strstr.c (main): Likewise.
59625
59626 2008-06-09  Bruno Haible  <bruno@clisp.org>
59627
59628         Work around the Solaris 10 ACE ACLs ABI change.
59629         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
59630         declare if ACL_NO_TRIVIAL is present.
59631         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
59632         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
59633         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
59634         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
59635         define if ACL_NO_TRIVIAL is present.
59636         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
59637         and use the current ABI.
59638         (file_has_acl): Use same #if condition as elsewhere.
59639         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
59640         in use, and use the current ABI.
59641         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
59642         Reported by Jim Meyering.
59643
59644 2008-06-09  Eric Blake  <ebb9@byu.net>
59645
59646         Work around environments that (stupidly) ignore SIGALRM.
59647         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
59648         before using alarm().
59649         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59650         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59651         Reported by Ian Beckwith <ianb@erislabs.net>.
59652
59653         Produce autobuild blurb earlier in log.
59654         * modules/autobuild (configure.ac-early): Move AB_INIT here.
59655
59656 2008-06-09  Jim Meyering  <meyering@redhat.com>
59657         and Ondřej Vašík  <ovasik@redhat.com>
59658
59659         utimens.c: correct kernel bug work-around
59660         Ondřej Vašík found that the invalid return value of 280 indicates
59661         failure, not success, and the kernel bug we're trying to work
59662         around affects not just the utimensat call, but also the fallback
59663         futimens call.
59664         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
59665         not success.
59666         [HAVE_FUTIMENS]: Use the same work-around, here.
59667
59668 2008-06-09  Jim Meyering  <meyering@redhat.com>
59669
59670         add more guards around definition of ACE_-related code
59671         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
59672         ALLOW and ACE_OWNER are also defined.
59673
59674 2008-06-08  Bruno Haible  <bruno@clisp.org>
59675
59676         * lib/acl-internal.h: Add me as co-author.
59677         * lib/file-has-acl.c: Likewise.
59678         * lib/set-mode-acl.c: Likewise.
59679         * lib/copy-acl.c: Likewise.
59680
59681 2008-06-08  Bruno Haible  <bruno@clisp.org>
59682
59683         Add support for AIX ACLs.
59684         * lib/acl-internal.h (acl_nontrivial): New declaration.
59685         * lib/file-has-acl.c (acl_nontrivial): New function.
59686         (file_has_acl): Add implementation using AIX 4 ACL API.
59687         * lib/set-mode-acl.c (qset_acl): Likewise.
59688         * lib/copy-acl.c (qcopy_acl): Likewise.
59689
59690 2008-06-08  Bruno Haible  <bruno@clisp.org>
59691
59692         Add support for HP-UX ACLs.
59693         * lib/acl-internal.h (acl_nontrivial): New declaration.
59694         * lib/file-has-acl.c (acl_nontrivial): New function.
59695         (file_has_acl): Add implementation using HP-UX 11 ACL API.
59696         * lib/set-mode-acl.c (qset_acl): Likewise.
59697         * lib/copy-acl.c (qcopy_acl): Likewise.
59698
59699 2008-06-08  Bruno Haible  <bruno@clisp.org>
59700
59701         Add support for Cygwin ACLs.
59702         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
59703         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
59704         the chmod_or_fchmod call.
59705         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
59706
59707 2008-06-08  Bruno Haible  <bruno@clisp.org>
59708
59709         Fix bug with setuid modes in Solaris 10+ code.
59710         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
59711         succeeded, when the mode contains some special bits.
59712
59713 2008-06-08  Bruno Haible  <bruno@clisp.org>
59714
59715         Add support for Solaris 7..10 ACLs.
59716         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
59717         declarations.
59718         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
59719         functions.
59720         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
59721         * lib/set-mode-acl.c (qset_acl): Likewise.
59722         * lib/copy-acl.c (qcopy_acl): Likewise.
59723
59724 2008-06-08  Bruno Haible  <bruno@clisp.org>
59725
59726         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
59727         declaration.
59728         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
59729         (acl_access_nontrivial): Remove MacOS X case.
59730         (file_has_acl): Use acl_extended_nontrivial.
59731         * lib/copy-acl.c (qcopy_acl): Likewise.
59732
59733 2008-06-08  Bruno Haible  <bruno@clisp.org>
59734
59735         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
59736
59737 2008-06-08  Jim Meyering  <meyering@redhat.com>
59738
59739         * modules/acl (Maintainer): Add Bruno Haible.
59740
59741 2008-06-07  Bruno Haible  <bruno@clisp.org>
59742
59743         Improve support for Tru64 ACLs.
59744         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
59745         ACL on OSF/1.
59746
59747 2008-06-07  Bruno Haible  <bruno@clisp.org>
59748
59749         Add support for MacOS X ACLs.
59750         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
59751         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
59752         * lib/set-mode-acl.c (qset_acl): Likewise.
59753         * lib/copy-acl.c (qcopy_acl): Likewise.
59754
59755 2008-06-07  Bruno Haible  <bruno@clisp.org>
59756
59757         Fix memory leak introduced on 2008-05-22.
59758         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
59759         use.
59760
59761 2008-06-07  Bruno Haible  <bruno@clisp.org>
59762
59763         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
59764         to construct an empty ACL.
59765
59766 2008-06-07  Bruno Haible  <bruno@clisp.org>
59767
59768         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
59769         precisely.
59770         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
59771
59772 2008-06-07  Bruno Haible  <bruno@clisp.org>
59773
59774         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
59775         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
59776
59777 2008-06-07  Bruno Haible  <bruno@clisp.org>
59778
59779         * doc/posix-functions/_setjmp.texi: Explain the use of this function
59780         regardless of POSIX.
59781         * doc/posix-functions/_longjmp.texi: Likewise.
59782         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
59783         SystemV platform in this case.
59784
59785 2008-06-06  Eric Blake  <ebb9@byu.net>
59786
59787         Document abort() bugs.
59788         * doc/posix-functions/abort.texi (abort): Mention anomalies.
59789
59790         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
59791         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
59792         sigsetjmp.
59793         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
59794         siglongjmp, but only as a macro.
59795         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
59796         is obsolete.
59797         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
59798
59799         Tweak documentation to cover cygwin argz bugs.
59800         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
59801         argz bug fix; no code change needed since no cygwin releases
59802         occurred between the last fix and the bug being tested.
59803         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
59804         module and recently fixed cygwin bugs.
59805         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
59806         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
59807         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
59808         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
59809         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
59810         Likewise.
59811         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
59812         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
59813         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
59814         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
59815         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
59816         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
59817         Likewise.
59818
59819         Avoid gcc warning on cygwin.
59820         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
59821         !ACL_NO_TRIVIAL]: Avoid unused variable.
59822
59823 2008-06-05  Eric Blake  <ebb9@byu.net>
59824
59825         Be tolerant of UNKNOWN version in gnulib-tool test dir.
59826         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
59827         git-version-gen fails to come up with a version.
59828         Reported by Simon Josefsson.
59829
59830 2008-06-05  Jim Meyering  <meyering@redhat.com>
59831             Paul Eggert  <eggert@cs.ucla.edu>
59832
59833         utimens.c: work around a probable Linux kernel bug
59834         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
59835         appears to be a kernel bug that causes utimensat to return 280
59836         instead of 0, indicating success.
59837
59838 2008-06-04  Bruno Haible  <bruno@clisp.org>
59839
59840         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
59841         2008-06-01 commit.
59842
59843 2008-06-04  Bruno Haible  <bruno@clisp.org>
59844
59845         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
59846         * lib/file-has-acl.c (acl_access_nontrivial): New function.
59847         (file_has_acl): Use it. Save errno afterwards.
59848         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
59849
59850 2008-06-03  Bruno Haible  <bruno@clisp.org>
59851
59852         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
59853         draft code. Simplify #ifs.
59854         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
59855         Put Solaris code after POSIX-draft code. Fix comments regarding
59856         Solaris 10, HP-UX. Mention Cygwin.
59857         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
59858
59859 2008-06-03  Eric Blake  <ebb9@byu.net>
59860
59861         Provide fallback for older kernels.
59862         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
59863         Provide runtime fallback if kernel lacks support.
59864         Reported by Mike Frysinger.
59865
59866 2008-06-02  Bruno Haible  <bruno@clisp.org>
59867
59868         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
59869         it exists.
59870
59871 2008-06-02  Bruno Haible  <bruno@clisp.org>
59872
59873         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
59874         * lib/copy-acl.c (qcopy_acl): Update comment.
59875
59876 2008-06-02  Bruno Haible  <bruno@clisp.org>
59877
59878         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
59879         like ACL APIs.
59880
59881 2008-06-02  Bruno Haible  <bruno@clisp.org>
59882
59883         * tests/test-file-has-acl.sh: Use different code for Cygwin.
59884         * tests/test-set-mode-acl.sh: Likewise.
59885         * tests/test-copy-acl.sh: Likewise.
59886         * tests/test-copy-file.sh: Likewise.
59887
59888 2008-06-02  Bruno Haible  <bruno@clisp.org>
59889
59890         * tests/test-file-has-acl.sh: Remove unused code.
59891
59892 2008-06-01  Bruno Haible  <bruno@clisp.org>
59893
59894         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
59895         (copy_acl): Just a wrapper around qcopy_acl that emits the error
59896         messages.
59897         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
59898
59899 2008-06-01  Bruno Haible  <bruno@clisp.org>
59900
59901         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
59902         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
59903         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
59904         APIs.
59905         * modules/acl-tests (configure.ac): Remove tests now contained in
59906         m4/acl.m4.
59907
59908 2008-06-02  Jim Meyering  <meyering@redhat.com>
59909
59910         announce-gen: use a better key-server host name
59911         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
59912         it may be more consistently reliable.  Suggested by Werner Koch
59913         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
59914
59915 2008-06-01  Bruno Haible  <bruno@clisp.org>
59916
59917         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
59918         Reported by Voroskoi Andras <voroskoi@gmail.com>.
59919
59920 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
59921
59922         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
59923
59924 2008-06-01  Bruno Haible  <bruno@clisp.org>
59925
59926         New ACL tests.
59927         * tests/test-file-has-acl.sh: New file.
59928         * tests/test-file-has-acl.c: New file.
59929         * tests/test-set-mode-acl.sh: New file.
59930         * tests/test-set-mode-acl.c: New file.
59931         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
59932         * tests/test-copy-acl.c: New file.
59933         * modules/acl-tests: New file, based on modules/copy-file-tests.
59934         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
59935         (Depends-on): Add acl-tests.
59936         (configure.ac): Remove checks.
59937         (Makefile.am): Don't create test-sameacls program here any more.
59938
59939 2008-06-01  Bruno Haible  <bruno@clisp.org>
59940
59941         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
59942         * tests/test-sameacls.c: Include progname.h.
59943         (main): Invoke set_program_name. Portability fixes for MacOS X,
59944         Solaris, HP-UX.
59945
59946 2008-06-01  Bruno Haible  <bruno@clisp.org>
59947
59948         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
59949         function.
59950         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
59951
59952 2008-06-01  Bruno Haible  <bruno@clisp.org>
59953
59954         * modules/rpmatch (Depends-on): Add strdup.
59955
59956 2008-06-01  Bruno Haible  <bruno@clisp.org>
59957
59958         * lib/pipe.c: Include unistd-safer.h.
59959         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
59960         * modules/pipe (Depends-on): Add unistd-safer.
59961
59962 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59963
59964         * modules/autobuild (configure.ac): Call AB_INIT.
59965
59966 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59967
59968         * tests/test-getaddrinfo.c: Don't print debug messages by default.
59969         Suggested by Bruno Haible <bruno@clisp.org>.
59970
59971 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59972
59973         * tests/test-base64.c: Cast size_t to unsigned long when invoking
59974         printf.  Use %lu instead of %d.  Reported by Bruno Haible
59975         <bruno@clisp.org>.
59976
59977 2008-05-29  Eric Blake  <ebb9@byu.net>
59978
59979         Prefer new POSIX 200x interfaces over futimesat.
59980         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
59981         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
59982         when available.
59983         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
59984
59985 2008-05-28  Bruno Haible  <bruno@clisp.org>
59986
59987         * modules/stpcpy (License): Change to LGPLv2+.
59988         Requested by David Lutterkort <dlutter@redhat.com>.
59989
59990 2008-05-27  Bruno Haible  <bruno@clisp.org>
59991
59992         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
59993         current mingw.
59994         Reported by Jose E. Marchesi <jemarch@gnu.org>.
59995
59996 2008-05-27  Bruno Haible  <bruno@clisp.org>
59997
59998         * modules/iconv_open (Link): New section, from module 'iconv'.
59999         * modules/striconv (Link): Likewise.
60000         * modules/striconveh (Link): Likewise.
60001         * modules/xstriconv (Link): Likewise.
60002         * modules/unicodeio (Link): Likewise.
60003         * modules/propername (Link): Likewise.
60004         Reported by Jim Meyering.
60005
60006 2008-05-26  Jim Meyering  <meyering@redhat.com>
60007
60008         sha256: do not artificially restrict buffer length to be < 2^32
60009         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
60010         uint32_t to size_t.
60011         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
60012         to match.
60013
60014         avoid unaligned access errors, e.g., on sparc
60015         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
60016         direct access through a possibly-unaligned uint64* pointer.
60017         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
60018         direct access through a possibly-unaligned uint32* pointer.
60019         Prompted by this patch from Tom "spot" Callaway:
60020         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
60021
60022         sha512.c: fix typo in comment
60023         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
60024
60025 2008-05-25  Bruno Haible  <bruno@clisp.org>
60026
60027         * lib/set-mode-acl.c: Renamed from lib/acl.c.
60028         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
60029         (Makefile.am): Update lib_SOURCES.
60030
60031 2008-05-25  Bruno Haible  <bruno@clisp.org>
60032
60033         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
60034
60035 2008-05-25  Jim Meyering  <meyering@redhat.com>
60036
60037         useless-if-before-free: freed expr may have white-space differences
60038         * build-aux/useless-if-before-free: Recognize cases in which the
60039         freed expression differs from the tested one in embedded white
60040         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
60041         $1 was used, so we can't make any regexp shy.  Improved tests now
60042         detect this.
60043
60044         useless-if-before-free: accept white space in the expression.
60045         * build-aux/useless-if-before-free: For now, any white space
60046         in the expression must be identical in the free argument.
60047
60048         useless-if-before-free: efficiency tweak
60049         * build-aux/useless-if-before-free: Make the expression-matching
60050         regexp "shy".
60051         Make the *outer* regexp shy, not the expr-matching one.
60052
60053         update code-in-comment to accept cast of free arg
60054         * build-aux/useless-if-before-free: Update regexp.
60055
60056 2008-05-25  Bruno Haible  <bruno@clisp.org>
60057
60058         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
60059         * modules/copy-file-tests (Files, Makefile.am): Update.
60060         * tests/test-copy-file.c (func_test_copy): Update.
60061
60062 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
60063
60064         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
60065
60066 2008-05-23  Bruno Haible  <bruno@clisp.org>
60067
60068         Improve support for ACLs on OSF/1.
60069         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
60070         Remove fallback for unknown flavors of ACLs.
60071
60072 2008-05-22  Bruno Haible  <bruno@clisp.org>
60073
60074         Add support for ACLs on OSF/1.
60075         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
60076         replacements.
60077         (acl_free_text): New macro fallback.
60078         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
60079         acl_free.
60080         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
60081         acl_free_text function. Require AC_C_INLINE.
60082
60083 2008-05-22  Bruno Haible  <bruno@clisp.org>
60084
60085         Make copy_acl work on MacOS X 10.5.
60086         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
60087         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
60088         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
60089         If MODE_INSIDE_ACL, don't assume that every system has the same text
60090         representation for ACLs as FreeBSD.
60091         * lib/copy-acl.c (copy_acl): Add support for platforms with
60092         !MODE_INSIDE_ACL.
60093         * lib/file-has-acl.c (file_has_acl): Likewise.
60094         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
60095         FreeBSD, MacOS X, or IRIX, respectively.
60096
60097 2008-05-22  Bruno Haible  <bruno@clisp.org>
60098
60099         * lib/acl.h: Don't include <sys/acl.h>.
60100         (GETACLCNT): Move fallback to lib/acl-internal.h.
60101         * lib/acl-internal.h: Include <sys/acl.h> here.
60102         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
60103
60104 2008-05-22  Bruno Haible  <bruno@clisp.org>
60105
60106         Split off copy_acl function to separate file.
60107         * lib/copy-acl.c: New file, extracted from lib/acl.c.
60108         * lib/acl.c (copy_acl): Moved function to separate file.
60109         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
60110         * modules/acl (Files): Add lib/copy-acl.c.
60111         (Makefiles.am): Augment lib_SOURCES.
60112
60113 2008-05-22  Bruno Haible  <bruno@clisp.org>
60114
60115         * modules/copy-file-tests: New file.
60116         * tests/test-copy-file.sh: New file.
60117         * tests/test-copy-file.c: New file.
60118         * tests/test-copy-file-sameacls.c: New file.
60119
60120 2008-05-22  Eric Blake  <ebb9@byu.net>
60121
60122         Avoid gcc warning.
60123         * tests/test-memcmp.c (main): Pass NULL indirectly.
60124
60125 2008-05-21  Bruno Haible  <bruno@clisp.org>
60126
60127         Add reference doc about ACLs.
60128         * doc/acl-resources.txt: New file.
60129         * doc/acl-cygwin.txt: New file.
60130
60131 2008-05-21  Bruno Haible  <bruno@clisp.org>
60132
60133         Avoid one more warning from gcc.
60134         * lib/vasnprintf.c (IF_LINT): Update comments.
60135         (VASNPRINTF): Use it also for the 'prefix' array initializer.
60136
60137 2008-05-21  Jim Meyering  <meyering@redhat.com>
60138
60139         avoid a warning from gcc
60140         * lib/vasnprintf.c (IF_LINT): Define.
60141         (scale10_round_decimal_long_double):
60142         Use it to avoid a "may be used uninitialized" warning.
60143         (scale10_round_decimal_double): Likewise.
60144
60145 2008-05-21  Simon Josefsson  <simon@josefsson.org>
60146
60147         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
60148         declared.
60149
60150 2008-05-20  Bruno Haible  <bruno@clisp.org>
60151
60152         * tests/test-memcmp.c (main): Test also the sign of the result. Test
60153         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
60154
60155 2008-05-20  Simon Josefsson  <simon@josefsson.org>
60156
60157         * modules/memcmp-tests: New file.
60158         * tests/test-memcmp.c: New file.
60159
60160 2008-05-19  Bruno Haible  <bruno@clisp.org>
60161
60162         * modules/propername (Notice, configure.ac): Put quoted "..." into
60163         --keyword option.
60164         * lib/propername.h: Update comments accordingly.
60165         Reported by Eric Blake.
60166
60167 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
60168
60169         * modules/getpass-gnu (Depends-on): Add fseeko.
60170
60171 2008-05-19  Simon Josefsson  <simon@josefsson.org>
60172
60173         * modules/base64-tests: New file.
60174
60175 2008-05-19  Bo Borgerson <gigabo@gmail.com>
60176
60177         * lib/base64.c (base64_decode_ctx): If a decode context structure
60178         was passed in use it to ignore newlines.  If a context structure
60179         was _not_ passed in, continue to treat newlines as garbage (this
60180         is the historical behavior).  Formerly base64_decode.
60181         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
60182         takes a decode context structure.
60183         * lib/base64.h (base64_decode): Macro for four-argument calls.
60184         (base64_decode_alloc): Likewise.
60185         * lib/base64.c (base64_decode_ctx): If a decode context structure
60186         was passed in use it to ignore newlines.  If a context structure
60187         was _not_ passed in, continue to treat newlines as garbage (this
60188         is the historical behavior).  Formerly base64_decode.
60189         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
60190         takes a decode context structure.
60191         * lib/base64.h (base64_decode): Macro for four-argument calls.
60192         (base64_decode_alloc): Likewise.
60193
60194 2008-05-19  Jim Meyering  <meyering@redhat.com>
60195
60196         avoid a warning from gcc
60197         * lib/trim.c (IF_LINT): Define.
60198         (trim2): Use it to avoid a "may be used uninitialized" warning.
60199
60200         Fix doc typo.
60201         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
60202
60203 2008-05-19  Bruno Haible  <bruno@clisp.org>
60204
60205         * doc/glibc-functions/getpass.texi: Document limits of other
60206         implementations.
60207
60208 2008-05-19  Simon Josefsson  <simon@josefsson.org>
60209             Bruno Haible <bruno@clisp.org>
60210
60211         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
60212
60213 2008-05-18  Bruno Haible  <bruno@clisp.org>
60214
60215         * modules/propername: New file, from GNU gettext.
60216         * lib/propername.h: New file, from GNU gettext.
60217         * lib/propername.c: New file, from GNU gettext.
60218         * MODULES.html.sh (Internationalization functions): Add propername.
60219
60220 2008-05-16  Jim Meyering  <meyering@redhat.com>
60221             Bruno Haible  <bruno@clisp.org>
60222
60223         Avoid some warnings from "gcc -Wshadow".
60224         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
60225
60226 2008-05-15  Eric Blake  <ebb9@byu.net>
60227
60228         Extend previous patch to cygwin 1.7.0.
60229         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
60230         fast implementation in cygwin >= 1.7.0.
60231         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60232         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60233
60234 2008-05-15  Bruno Haible  <bruno@clisp.org>
60235
60236         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
60237         implementation in glibc >= 2.9.
60238         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60239         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60240
60241 2008-05-15  Bruno Haible  <bruno@clisp.org>
60242
60243         * MODULES.html.sh (Internationalization functions): Remove linebreak.
60244         (Unicode string functions): Add unilbrk/*.
60245         Reported by Karl Berry.
60246
60247 2008-05-15  Eric Blake  <ebb9@byu.net>
60248
60249         Fix violation of <stdbool.h> replacement in regex.
60250         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
60251         * lib/regexec.c (re_search_internal): Likewise.
60252         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
60253
60254 2008-05-15  Jim Meyering  <meyering@redhat.com>
60255
60256         avoid distracting test output when git or cvs is not found
60257         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
60258         * tests/test-vc-list-files-git.sh: Likewise.
60259
60260 2008-05-15  Eric Blake  <ebb9@byu.net>
60261
60262         Glibc finally accepted the memmem speedup code, bugzilla #5514.
60263         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
60264         glibc version.
60265         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
60266         * doc/posix-functions/strstr.texi (strstr): Likewise.
60267         * lib/str-two-way.h (MAX): Sychronize with glibc.
60268
60269 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
60270
60271         * lib/regcomp.c (optimize_utf8): Add a note on why we test
60272         opr.ctx_type.
60273         (calc_first): Initialize constraint field.
60274         (duplicate_node_closure): Use it instead of special casing ANCHORS.
60275         Fix grammar.
60276         (duplicate_node): Merge constraint field for all node types.
60277         (calc_eclosure_iter): Look at constraint field for all node types.
60278         * lib/regex_internal.c (create_cd_newstate): Don't look at
60279         opr.ctx_type.
60280
60281 2008-05-14  Bruno Haible  <bruno@clisp.org>
60282
60283         Help GCC to do better code generation.
60284         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
60285         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
60286         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
60287         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
60288         Declare with attribute 'malloc' if supported.
60289
60290 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
60291
60292         use "echo STR|wc -c" rather than unportable "expr length STR"
60293         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
60294         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
60295
60296 2008-05-14  Jim Meyering  <meyering@redhat.com>
60297
60298         use dd ibs=$n count=1 ... rather than less-portable head -c$n
60299         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
60300         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
60301         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
60302         via Collin Lasse.
60303
60304 2008-05-14  Eric Blake  <ebb9@byu.net>
60305
60306         Avoid quadratic growth in gl_LIBSOURCES.
60307         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
60308         Suggested by Bruno Haible.
60309
60310         Test xmemdup0.
60311         * modules/xmemdup0-tests: New file.
60312         * tests/test-xmemdup0.c: Likewise.
60313
60314 2008-05-13  Eric Blake  <ebb9@byu.net>
60315
60316         Split xmemdup0 into its own module.
60317         * modules/xmemdup0: New file.
60318         * lib/xmemdup0.h: Likewise.
60319         * lib/xmemdup0.c: Likewise.
60320         * MODULES.html.sh (Memory management functions): Add xmemdup0.
60321         * lib/xalloc.h (xmemdup0): Remove.
60322         * lib/xmalloc.c (xmemdup0): Likewise.
60323
60324 2008-05-13  Eric Blake  <ebb9@byu.net>
60325             Bruno Haible  <bruno@clisp.org>
60326
60327         Reduce number of forks required during autoconf.
60328         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
60329         and gl_LIBSOURCES_DIR.
60330         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
60331         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
60332         m4_syscmd per file.
60333         <m4_foreach_w>: Move...
60334         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
60335
60336 2008-05-13  Eric Blake  <ebb9@byu.net>
60337
60338         * gnulib-tool: Fix various comment typos.
60339
60340 2008-05-12  Bruno Haible  <bruno@clisp.org>
60341
60342         Tailor the linebreaking algorithm.
60343         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
60344
60345 2008-05-12  Bruno Haible  <bruno@clisp.org>
60346
60347         Update to Unicode 5.0.0.
60348         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
60349         LBP_JV, LBP_JT. Redistribute values.
60350         (unilbrk_table): Change size.
60351         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
60352         Unicode TR#14 rev. 22.
60353         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
60354         LBP_JV, LBP_JT. Redistribute values.
60355         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
60356         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
60357         Update.
60358         * lib/unilbrk/lbrkprop1.h: Regenerated.
60359         * lib/unilbrk/lbrkprop2.h: Regenerated.
60360         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
60361         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
60362         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
60363         Likewise.
60364         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
60365         Likewise.
60366         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
60367         result.
60368         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
60369         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
60370         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
60371         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
60372         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
60373         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
60374
60375 2008-05-11  Bruno Haible  <bruno@clisp.org>
60376
60377         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
60378
60379 2008-05-11  Bruno Haible  <bruno@clisp.org>
60380
60381         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
60382         * modules/unilbrk/gen-lbrk: New file.
60383
60384 2008-05-11  Bruno Haible  <bruno@clisp.org>
60385
60386         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
60387         * m4/sha512.m4 (gl_SHA512): Likewise.
60388
60389 2008-05-11  Jim Meyering  <meyering@redhat.com>
60390
60391         New modules: crypto/sha256, crypto/sha512 (from coreutils)
60392         * modules/crypto/sha256: New file.
60393         * modules/crypto/sha512: Likewise.
60394         * lib/sha256.c: Likewise.
60395         * lib/sha256.h: Likewise.
60396         * lib/sha512.c: Likewise.
60397         * lib/sha512.h: Likewise.
60398         * lib/u64.h: Likewise.
60399         * m4/sha256.m4: Likewise.
60400         * m4/sha512.m4: Likewise.
60401         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
60402
60403 2008-05-10  Bruno Haible  <bruno@clisp.org>
60404
60405         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
60406         (Input/Output <stdio.h>): Add xprintf.
60407         (Signal handling <signal.h>): Add strsignal.
60408         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
60409         (Core language properties): Add func.
60410         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
60411         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
60412         strings.
60413         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
60414         (Input/output): New section.
60415         (File system functions): Add openat-die, stat-macros.
60416         (Networking functions): Add sockets.
60417         (Unicode string functions): Add unictype/*.
60418         (Support for building libraries and executables): Add gperf.
60419         (Support for building documentation): Add agpl-3.0.
60420         (Misc): Add nocrash.
60421
60422 2008-05-10  Bruno Haible  <bruno@clisp.org>
60423
60424         * modules/unictype/gen-ctype: New file.
60425
60426 2008-05-10  Jim Meyering  <meyering@redhat.com>
60427
60428         Make chdir-safer.c more efficient on a system with no symlinks.
60429         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
60430         also if ELOOP is zero.  Suggested by Bruno Haible.
60431
60432         Make chdir-safer.c slightly safer.
60433         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
60434         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
60435
60436         Avoid compile failure on systems without ELOOP (like mingw).
60437         * lib/chdir-safer.c (ELOOP): Define if not already defined.
60438         Reported by Bruno Haible.
60439
60440 2008-05-10  Bruno Haible  <bruno@clisp.org>
60441
60442         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
60443         (is_utf8_encoding): Use a case-insensitive comparison.
60444         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
60445         streq.
60446
60447 2008-05-10  Bruno Haible  <bruno@clisp.org>
60448
60449         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
60450         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
60451         * lib/unilbrk/ulc-common.h (iconv_string_length,
60452         iconv_string_keeping_offsets): Remove declarations.
60453         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
60454         Don't include <iconv.h>, streq.h, xsize.h.
60455         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
60456         conversion.
60457         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
60458         <iconv.h>, streq.h, xsize.h.
60459         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
60460         conversion.
60461         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
60462         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
60463         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
60464         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
60465
60466 2008-05-10  Bruno Haible  <bruno@clisp.org>
60467
60468         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
60469         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
60470
60471         * modules/unilbrk/u32-width-linebreaks-tests: New file.
60472         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
60473
60474         * modules/unilbrk/u16-width-linebreaks-tests: New file.
60475         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
60476
60477         * modules/unilbrk/u8-width-linebreaks-tests: New file.
60478         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
60479
60480         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
60481         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
60482
60483         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
60484         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
60485
60486         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
60487         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
60488
60489         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
60490         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
60491
60492 2008-05-10  Bruno Haible  <bruno@clisp.org>
60493
60494         Split up 'linebreak' module.
60495         * lib/unilbrk.h: New file, based on lib/linebreak.h.
60496         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
60497         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
60498         modifications.
60499         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
60500         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
60501         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
60502         lib/linebreak.c.
60503         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
60504         lib/linebreak.c.
60505         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
60506         lib/linebreak.c.
60507         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
60508         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
60509         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
60510         lib/linebreak.c.
60511         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
60512         lib/linebreak.c.
60513         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
60514         lib/linebreak.c.
60515         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
60516         lib/linebreak.c.
60517         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
60518         lib/linebreak.c.
60519         * modules/unilbrk/base: New file.
60520         * modules/unilbrk/tables: New file.
60521         * modules/unilbrk/u8-possible-linebreaks: New file.
60522         * modules/unilbrk/u16-possible-linebreaks: New file.
60523         * modules/unilbrk/u32-possible-linebreaks: New file.
60524         * modules/unilbrk/ulc-common: New file.
60525         * modules/unilbrk/ulc-possible-linebreaks: New file.
60526         * modules/unilbrk/u8-width-linebreaks: New file.
60527         * modules/unilbrk/u16-width-linebreaks: New file.
60528         * modules/unilbrk/u32-width-linebreaks: New file.
60529         * modules/unilbrk/ulc-width-linebreaks: New file.
60530         * lib/linebreak.h: Remove file.
60531         * lib/linebreak.c: Remove file.
60532         * m4/linebreak.m4: Remove file.
60533         * modules/linebreak: Remove file.
60534         * NEWS: Mention the changes.
60535
60536 2008-05-09  Eric Blake  <ebb9@byu.net>
60537
60538         Add xmemdup0.
60539         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
60540         implementation.
60541         * lib/xmalloc.c (xmemdup0): New C implementation.
60542
60543 2008-05-08  Bruno Haible  <bruno@clisp.org>
60544
60545         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
60546
60547 2008-05-07  Eric Blake  <ebb9@byu.net>
60548
60549         Support cross-compilation of <wctype.h>.
60550         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
60551         AC_CACHE_CHECK.
60552
60553 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
60554
60555         * build-aux/vc-list-files: Add support for bzr.
60556
60557 2008-05-03  Jim Meyering  <meyering@redhat.com>
60558
60559         avoid failed assertion with tight malloc
60560         * tests/test-getndelim2.c: Correct an off-by-one assertion.
60561
60562 2008-05-03  Simon Josefsson  <simon@josefsson.org>
60563
60564         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
60565         are needed from arpa/inet.h.
60566         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
60567         Reported by Bruno Haible.
60568
60569 2008-05-02  Jim Meyering  <meyering@redhat.com>
60570
60571         avoid compilation error on FreeBSD 6
60572         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
60573
60574 2008-05-01  Jim Meyering  <meyering@redhat.com>
60575
60576         useless-if-before-free: correct --help's exit status description
60577         * build-aux/useless-if-before-free (usage): Like grep, exit 0
60578         for one or more matches, etc.  Reported by Bruno Haible.
60579
60580         vc-list-files: make the stand-alone gnulib test work
60581         * modules/vc-list-files-tests (configure.ac):
60582         Define and AC_SUBST abs_aux_dir.
60583         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
60584         $(abs_top_srcdir) to each script and having each of them
60585         duplicate the work of setting PATH, set PATH here, using
60586         the new variable, abs_aux_dir instead.
60587         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
60588         * tests/test-vc-list-files-git.sh: Likewise.
60589         Reported by Bruno Haible.
60590
60591 2008-05-01  Bruno Haible  <bruno@clisp.org>
60592
60593         * lib/getndelim2.c (getndelim2): Fix newsize computation during
60594         reallocation. Rename 'done' to 'found_delimiter'.
60595
60596 2008-05-01  Jim Meyering  <meyering@redhat.com>
60597
60598         vc-list-files: accommodate /bin/sh like the one from Solaris 10
60599         * build-aux/vc-list-files: Use `...`, not $(...).
60600
60601 2008-04-30  Jim Meyering  <meyering@redhat.com>
60602
60603         add tests for vc-list-files
60604         * modules/vc-list-files-tests: New module.
60605         * tests/test-vc-list-files-cvs.sh: New file.
60606         * tests/test-vc-list-files-git.sh: New file.
60607
60608         avoid a warning from gcc
60609         * lib/getndelim2.c (IF_LINT): Define.
60610         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
60611
60612         vc-list-files: work properly with build-aux/cvsu, too
60613         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
60614         to all cvs-based clauses.
60615
60616         vc-list-files: work properly in the CVS+awk case, too
60617         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
60618
60619         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
60620         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
60621         take more than one file argument, so .  Add quotes, just in case $dir
60622         ever contains a shell meta-character.  Prompted by Soren Hansen in
60623         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
60624
60625 2008-04-29  Eric Blake  <ebb9@byu.net>
60626
60627         Optimize getndelim2 to use block operations when possible.
60628         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
60629         freadseek, and memchr2.
60630         * lib/getndelim2.c (getndelim2): Use them for block reads.
60631
60632 2008-04-29  Bruno Haible  <bruno@clisp.org>
60633
60634         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
60635         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
60636         * modules/inet_ntop (Depends-on): Add extensions.
60637         * modules/inet_pton (Depends-on): Likewise.
60638         Reported by Simon Josefsson.
60639
60640 2008-04-29  Jim Meyering  <meyering@redhat.com>
60641
60642         When the is more than one match in a block, match all of them.
60643         * build-aux/useless-if-before-free: Iterate through each block
60644         until there are no more matches.
60645
60646         Fix broken useless-if-before-free script.
60647         * build-aux/useless-if-before-free: Fix typo: missing "?" after
60648         the expression to match cast of argument to free-like function.
60649
60650 2008-04-29  Eric Blake  <ebb9@byu.net>
60651
60652         Use new header.
60653         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
60654
60655 2008-04-29  Jim Meyering  <meyering@redhat.com>
60656
60657         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
60658         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
60659         by gnulib to exist and to declare e.g., inet_ntop.
60660         Don't include "inet_ntop.h", now removed.
60661
60662         * m4/arpa_inet_h.m4: Remove trailing blanks.
60663
60664 2008-04-29  Eric Blake  <ebb9@byu.net>
60665
60666         Silence valgrind on safe reads beyond potential array bounds.
60667         * lib/rawmemchr.valgrind: New file.
60668         * lib/strchrnul.valgrind: Likewise.
60669         * modules/rawmemchr (Files): Distribute new file.
60670         * modules/strchrnul (Files): Likewise.
60671         Suggested by Bruno Haible.
60672
60673 2008-04-29  Bruno Haible  <bruno@clisp.org>
60674
60675         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
60676         (inet_ntop, inet_pton): Change portability warning's wording.
60677         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
60678         Invoke gl_CHECK_NEXT_HEADERS.
60679         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
60680         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
60681         set ARPA_INET_H.
60682         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
60683         * modules/arpa_inet (Description): No longer only for systems that
60684         lack it.
60685         (Depends-on): Add include_next.
60686         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
60687         HAVE_ARPA_INET_H.
60688
60689 2008-04-29  Jim Meyering  <meyering@redhat.com>
60690
60691         * modules/mkdir (License): Re-license as LGPLv2+.
60692
60693 2008-04-29  Bruno Haible  <bruno@clisp.org>
60694
60695         * modules/rawmemchr (Maintainer): Set to Eric.
60696         * modules/strchrnul (Maintainer): Likewise.
60697
60698 2008-04-29  Simon Josefsson  <simon@josefsson.org>
60699
60700         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
60701         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
60702
60703         * modules/arpa_inet (arpa/inet.h): Use them.
60704
60705 2008-04-28  Eric Blake  <ebb9@byu.net>
60706
60707         Test getndelim2.
60708         * modules/getndelim2-tests: New file.
60709         * tests/test-getndelim2.c: Likewise.
60710         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
60711         stream.
60712         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
60713
60714         * MODULES.html.sh: Document new module.
60715
60716 2008-04-20  Bruno Haible  <bruno@clisp.org>
60717
60718         * lib/c-stack.c (die): Use raise.
60719         * modules/c-stack (Depends-on): Add raise.
60720
60721 2008-04-28  Bruno Haible  <bruno@clisp.org>
60722
60723         Expect rpmatch to be declared.
60724         * lib/yesno.c (rpmatch): Remove declaration.
60725
60726         Declare rpmatch.
60727         * lib/stdlib.in.h (rpmatch): New declaration.
60728         * lib/rpmatch.c: Include <stdlib.h> first.
60729         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
60730         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
60731         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
60732         HAVE_RPMATCH.
60733         * modules/rpmatch (Depends-on): Add stdlib, extensions.
60734         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60735         (Include): Set to <stdlib.h>.
60736         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
60737         HAVE_RPMATCH.
60738         * NEWS: Document the change.
60739
60740 2008-04-28  Bruno Haible  <bruno@clisp.org>
60741
60742         Change rpmatch to use nl_langinfo when appropriate.
60743         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
60744         (N_): New macro.
60745         (localized_pattern): New function/macro.
60746         (try): Remove match, nomatch arguments. Copy the pattern into safe
60747         memory before caching it.
60748         (rpmatch): Use localized_pattern. Add translator comments.
60749         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
60750         Suggested by Eric Blake.
60751         * modules/rpmatch (Depends-on): Add stdbool.
60752
60753 2008-04-28  Eric Blake  <ebb9@byu.net>
60754
60755         Add rawmemchr module, matching glibc.
60756         * modules/string (Makefile.am): New indicator.
60757         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
60758         * lib/string.in.h (rawmemchr): Declare when appropriate.
60759         * modules/rawmemchr: New file.
60760         * m4/rawmemchr.m4: Likewise.
60761         * lib/rawmemchr.c: Likewise.
60762         * modules/rawmemchr-tests: Likewise.
60763         * tests/test-rawmemchr.c: Likewise.
60764         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
60765         module.
60766         * modules/strchrnul (Depends-on): Add rawmemchr.
60767         * lib/strchrnul.c (strchrnul): Optimize a corner case.
60768
60769         Whitespace cleanup.
60770         * tests/test-strchrnul.c: Reindent.
60771         * lib/strchrnul.c: Likewise.
60772
60773         Optimize and test strchrnul.
60774         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
60775         * modules/strchrnul-tests: New file.
60776         * tests/test-strchrnul.c: Likewise.
60777
60778         Remove intprops dependency.
60779         * modules/memchr (Depends-on): Remove intprops.
60780         * modules/memrchr (Depends-on): Likewise.
60781         * modules/memchr2 (Depends-on): Likewise.
60782         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
60783         * lib/memrchr.c (__memrchr): Likewise.
60784         * lib/memrchr2.c (memchr2): Likewise.
60785         Reported by Simon Josefsson.
60786
60787 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60788
60789         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
60790         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60791
60792 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60793
60794         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
60795
60796         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
60797
60798         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
60799
60800         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
60801         declarations.
60802         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
60803
60804         * m4/inet_pton.m4: Don't check for header files.
60805
60806         * m4/inet_ntop.m4: Don't check for header files.
60807
60808 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60809
60810         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
60811         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
60812         trigger for cygwin).
60813         Reported by Bruno Haible  <bruno@clisp.org>.
60814
60815 2008-04-28  Bruno Haible  <bruno@clisp.org>
60816
60817         * doc/posix-functions/strdup.texi: Mention mingw problem.
60818
60819 2008-04-27  Bruno Haible  <bruno@clisp.org>
60820
60821         * modules/stat-time-tests (Depends-on): Add sleep.
60822         * tests/test-stat-time.c (force_unlink): New function.
60823         (cleanup): Use it.
60824         (test_mtime): Remove the ctime related tests.
60825         (test_ctime): New function, containing the ctime related tests.
60826         (main): Call test_ctime, except on native Windows platforms.
60827
60828 2008-04-27  Bruno Haible  <bruno@clisp.org>
60829
60830         * lib/rpmatch.c (rpmatch): Add some comments.
60831         Reported by James Youngman <jay@gnu.org>.
60832
60833 2008-04-27  Bruno Haible  <bruno@clisp.org>
60834
60835         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
60836         quiet NaNs.
60837
60838 2008-04-27  Bruno Haible  <bruno@clisp.org>
60839
60840         Make test-yesno.sh work on mingw.
60841         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
60842         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
60843         (main): Set stdin to binary mode.
60844         * modules/yesno-tests (Depends-on): Add binary-io.
60845
60846 2008-04-27  Bruno Haible  <bruno@clisp.org>
60847
60848         Fix 'isfinite' on x86, x86_64, ia64 platforms.
60849         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
60850         argument that lie outside the IEEE 854 domain.
60851         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
60852         (gl_ISFINITE): Use it.
60853         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
60854
60855 2008-04-27  Bruno Haible  <bruno@clisp.org>
60856
60857         Allow local renaming in config.h.
60858         * lib/memrchr.c (memrchr): Don't undefine outside libc.
60859
60860 2008-04-27  Bruno Haible  <bruno@clisp.org>
60861
60862         * lib/memchr.c (__memchr): Change type of 'i'.
60863         * lib/memchr2.c (memchr2): Likewise.
60864
60865 2008-04-26  Eric Blake  <ebb9@byu.net>
60866         and Bruno Haible  <bruno@clisp.org>
60867
60868         Optimize and test memrchr.
60869         * modules/memrchr (Depends-on): Add intprops.
60870         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
60871         * modules/memrchr-tests: New file.
60872         * tests/test-memrchr.c: New file.
60873
60874 2008-04-26  Bruno Haible  <bruno@clisp.org>
60875
60876         Add tentative support for DragonFly BSD.
60877         * lib/stdio-impl.h: Add macros for DragonFly BSD.
60878         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
60879         fp.
60880         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60881         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
60882         * lib/fpurge.c (fpurge): Likewise.
60883         * lib/freadable.c (freaadable): Likewise.
60884         * lib/freadahead.c (freadahead): Likewise.
60885         * lib/freading.c (freading): Likewise.
60886         * lib/freadptr.c (freadptr): Likewise.
60887         * lib/freadseek.c (freadptrinc): Likewise.
60888         * lib/fseeko.c (fseeko): Likewise.
60889         * lib/fseterr.c (fseterr): Likewise.
60890         * lib/fwritable.c (fwritable): Likewise.
60891         * lib/fwriting.c (fwriting): Likewise.
60892
60893 2008-04-26  Bruno Haible  <bruno@clisp.org>
60894
60895         * lib/stdio-impl.h: New file.
60896         * lib/fbufmode.c: Include stdio-impl.h.
60897         (fbufmode): Use fp_, remove redundant #defines.
60898         * lib/fflush.c: Include stdio-impl.h.
60899         (clear_ungetc_buffer): Remove redundant #defines.
60900         * lib/fpurge.c: Include stdio-impl.h.
60901         (fpurge): Remove redundant #defines.
60902         * lib/freadable.c: Include stdio-impl.h.
60903         (freadable): Remove redundant #defines.
60904         * lib/freadahead.c: Include stdio-impl.h.
60905         (freadahead): Remove redundant #defines.
60906         * lib/freading.c: Include stdio-impl.h.
60907         (freading): Remove redundant #defines.
60908         * lib/freadptr.c: Include stdio-impl.h.
60909         (freadptr): Remove redundant #defines.
60910         * lib/freadseek.c: Include stdio-impl.h.
60911         (freadptrinc): Remove redundant #defines.
60912         * lib/fseeko.c: Include stdio-impl.h.
60913         (rpl_fseeko): Remove redundant #defines.
60914         * lib/fseterr.c: Include stdio-impl.h.
60915         (fseterr): Remove redundant #defines.
60916         * lib/fwritable.c: Include stdio-impl.h.
60917         (fwritable: Remove redundant #defines.
60918         * lib/fwriting.c: Include stdio-impl.h.
60919         (fwriting): Remove redundant #defines.
60920         * modules/fbufmode (Files): Add lib/stdio-impl.h.
60921         * modules/fflush (Files): Likewise.
60922         * modules/fpurge (Files): Likewise.
60923         * modules/freadable (Files): Likewise.
60924         * modules/freadahead (Files): Likewise.
60925         * modules/freading (Files): Likewise.
60926         * modules/freadptr (Files): Likewise.
60927         * modules/freadseek (Files): Likewise.
60928         * modules/fseeko (Files): Likewise.
60929         * modules/fseterr (Files): Likewise.
60930         * modules/fwritable (Files): Likewise.
60931         * modules/fwriting (Files): Likewise.
60932
60933 2008-04-26  Bruno Haible  <bruno@clisp.org>
60934
60935         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60936         restore_seek_optimization, update_fpos_cache): New functions, extracted
60937         from rpl_fflush.
60938         (rpl_fflush): Use them.
60939         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
60940         (gl_REPLACE_FFLUSH): Use it.
60941
60942 2008-04-26  Bruno Haible  <bruno@clisp.org>
60943
60944         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
60945         on Solaris.
60946         * tests/test-xstrtoimax.sh: Likewise.
60947         * tests/test-xstrtoumax.sh: Likewise.
60948         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60949
60950 2008-04-26  Bruno Haible  <bruno@clisp.org>
60951
60952         * modules/memchr-tests: New file.
60953         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
60954
60955 2008-04-26  Eric Blake  <ebb9@byu.net>
60956             Bruno Haible  <bruno@clisp.org>
60957
60958         * lib/memchr.c: Include intprops.h.
60959         (__memchr): Optimize parallel detection of matching bytes. Rename local
60960         variables. Add explanatory comments.
60961
60962 2008-04-26  Bruno Haible  <bruno@clisp.org>
60963
60964         Fix module 'memchr', broken since 2000-10-28.
60965         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
60966
60967 2008-04-26  Bruno Haible  <bruno@clisp.org>
60968
60969         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
60970         comments.
60971
60972 2008-04-25  Eric Blake  <ebb9@byu.net>
60973
60974         Use native fstatat on cygwin 1.7.0.
60975         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
60976         first.
60977
60978 2008-04-23  Eric Blake  <ebb9@byu.net>
60979
60980         Improve memchr2 performance.
60981         * lib/memchr2.c (memchr2): Further optimize parallel detection of
60982         NUL bytes.
60983         * modules/memchr2 (Depends-on): Use intprops.h.
60984
60985 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60986
60987         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
60988         an inline function instead of a CPP macro.  Patch by Ben Pfaff
60989         <blp@cs.stanford.edu>.
60990
60991 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60992
60993         * lib/arpa_inet.in.h: New file.
60994
60995         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
60996         (Makefile.am): Sed in substitute header file.
60997
60998         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
60999         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
61000
61001         * modules/inet_ntop (configure.ac): Use
61002         gl_ARPA_INET_MODULE_INDICATOR.
61003
61004         * modules/inet_pton (configure.ac): Use
61005         gl_ARPA_INET_MODULE_INDICATOR.
61006
61007 2008-04-22  Jim Meyering  <meyering@redhat.com>
61008
61009         * modules/verify (License): Re-license as LGPLv2+.
61010
61011 2008-04-22  Simon Josefsson  <simon@josefsson.org>
61012
61013         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
61014         parameter to void* as per POSIX standard (MinGW uses char*).
61015
61016 2008-04-21  Bruno Haible  <bruno@clisp.org>
61017
61018         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
61019         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
61020         Define to replacements if REPLACE_ISWCNTRL is 1.
61021         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
61022         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
61023         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
61024         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
61025         what it fixes.
61026         * doc/posix-functions/iswalpha.texi: Likewise.
61027         * doc/posix-functions/iswblank.texi: Likewise.
61028         * doc/posix-functions/iswcntrl.texi: Likewise.
61029         * doc/posix-functions/iswdigit.texi: Likewise.
61030         * doc/posix-functions/iswgraph.texi: Likewise.
61031         * doc/posix-functions/iswlower.texi: Likewise.
61032         * doc/posix-functions/iswprint.texi: Likewise.
61033         * doc/posix-functions/iswpunct.texi: Likewise.
61034         * doc/posix-functions/iswspace.texi: Likewise.
61035         * doc/posix-functions/iswupper.texi: Likewise.
61036         * doc/posix-functions/iswxdigit.texi: Likewise.
61037         Reported by Alain Guibert.
61038
61039 2008-04-21  Bruno Haible  <bruno@clisp.org>
61040
61041         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
61042         Patch by Alain Guibert.
61043
61044 2008-04-21  Bruno Haible  <bruno@clisp.org>
61045
61046         Fix test failures on mingw.
61047         * tests/test-xstrtol.c (print_no_progname): New function.
61048         (main): Install it in error_print_progname hook.
61049         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
61050         * tests/test-xstrtoimax.sh: Likewise.
61051         * tests/test-xstrtoumax.sh: Likewise.
61052
61053 2008-04-21  Bruno Haible  <bruno@clisp.org>
61054
61055         Fix test failure on mingw.
61056         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
61057
61058 2008-04-21  Bruno Haible  <bruno@clisp.org>
61059
61060         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
61061         Actually assign a value.
61062
61063 2008-04-20  Bruno Haible  <bruno@clisp.org>
61064
61065         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
61066         take 2.
61067         * lib/canonicalize.c (canonicalize_file_name): Elide if the
61068         'canonicalize-lgpl' module is also used.
61069         * lib/canonicalize-lgpl.c: Undo last change.
61070         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
61071
61072 2008-04-20  Bruno Haible  <bruno@clisp.org>
61073
61074         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
61075         config.h. Provide _mkdir based fallback for mingw.
61076         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
61077         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
61078         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
61079         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
61080         rather than defining mkdir in config.h.
61081         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
61082         (gl_SYS_STAT_H_DEFAULTS): New macro.
61083         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
61084         HAVE_IO_H any more.
61085         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
61086         HAVE_DECL_MKDIR and HAVE_IO_H.
61087
61088 2008-04-20  Bruno Haible  <bruno@clisp.org>
61089
61090         * lib/isapipe.c: Port to native Windows platforms.
61091
61092 2008-04-20  Bruno Haible  <bruno@clisp.org>
61093
61094         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
61095
61096 2008-04-21  Eric Blake  <ebb9@byu.net>
61097
61098         Work around preprocessors that don't handle UINTMAX_MAX.
61099         * lib/memchr2.c (memchr2): Avoid embedded #if.
61100         Reported by Alain Guibert, fix suggested by Bruno Haible.
61101
61102 2008-04-21  Simon Josefsson  <simon@josefsson.org>
61103
61104         * doc/posix-functions/strftime.texi (strftime): Explain better
61105         Windows incompatibility.  Suggested by Micah Cowan
61106         <micah@cowan.name>.
61107
61108 2008-04-20  Bruno Haible  <bruno@clisp.org>
61109
61110         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
61111         unistr/u8-mblen.
61112
61113 2008-04-20  Bruno Haible  <bruno@clisp.org>
61114
61115         Fix test failure on platforms with non-GNU iconv.
61116         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
61117         (U_TO_U8): Use it, rather than u16_to_u8.
61118         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
61119         units at the end of the input string.
61120         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
61121
61122 2008-04-20  Bruno Haible  <bruno@clisp.org>
61123
61124         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
61125         when the resulting length is 0.
61126         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
61127
61128 2008-04-20  Bruno Haible  <bruno@clisp.org>
61129
61130         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
61131         works.
61132         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
61133
61134 2008-04-20  Bruno Haible  <bruno@clisp.org>
61135
61136         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
61137         * modules/tsearch-tests (configure.ac): Test for initstate function.
61138
61139 2008-04-20  Bruno Haible  <bruno@clisp.org>
61140
61141         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
61142         for nlink_t if missing.
61143         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
61144
61145 2008-04-19  Bruno Haible  <bruno@clisp.org>
61146
61147         Work around snprintf bug on Linux libc5.
61148         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
61149         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
61150         gl_SNPRINTF_SIZE1.
61151         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61152         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
61153         that test failed.
61154         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
61155         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
61156         * modules/snprintf (Files): Add m4/printf.m4.
61157         * modules/vsnprintf (Files): Likewise.
61158         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
61159         * doc/posix-functions/vsnprintf.texi: Likewise.
61160
61161 2008-04-19  Bruno Haible  <bruno@clisp.org>
61162
61163         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
61164         from 0.0058 to less than 10^-7.
61165
61166 2008-04-19  Bruno Haible  <bruno@clisp.org>
61167
61168         Fix rounding when a precision is given.
61169         * lib/vasnprintf.c (is_borderline): New function.
61170         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
61171         9...9x.
61172         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
61173         %e, %g.
61174         * tests/test-vasprintf-posix.c (test_function): Likewise.
61175         * tests/test-snprintf-posix.h (test_function): Likewise.
61176         * tests/test-sprintf-posix.h (test_function): Likewise.
61177         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
61178         * tests/test-printf-posix.h (test_function): Likewise.
61179         * tests/test-printf-posix.output: Update.
61180         Reported by John Darrington <john@darrington.wattle.id.au> via
61181         Ben Pfaff <blp@cs.stanford.edu>.
61182
61183 2008-04-18  Simon Josefsson  <simon@josefsson.org>
61184
61185         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
61186         Suggested by Bruno Haible <bruno@clisp.org>.
61187
61188 2008-04-17  Bruno Haible  <bruno@clisp.org>
61189
61190         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
61191         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
61192         implementation.
61193         Patch by Bruce Merry <bmerry@gmail.com>.
61194
61195 2008-04-17  Simon Josefsson  <simon@josefsson.org>
61196
61197         * doc/posix-functions/strftime.texi (strftime): Mention that %e
61198         doesn't work under Windows.
61199
61200 2008-04-16  Bruno Haible  <bruno@clisp.org>
61201
61202         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
61203         New macros.
61204         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
61205         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
61206         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
61207         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
61208         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
61209         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
61210         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
61211         macros.
61212         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
61213         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
61214         Northern Sotho, Uighur.
61215
61216 2008-04-16  Bruno Haible  <bruno@clisp.org>
61217
61218         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
61219         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
61220         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
61221         Reported by Daniel Bergström <daniel@octocode.com>.
61222
61223 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
61224             Bruno Haible  <bruno@clisp.org>
61225
61226         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
61227         function.
61228         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
61229         New functions, mostly extracted from gl_locale_name_default.
61230         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
61231
61232 2008-04-16  Eric Blake  <ebb9@byu.net>
61233
61234         Adjust strtod detection to catch glibc 2.7 bug.
61235         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
61236         Reported by John Gatewood Ham.
61237
61238 2008-04-16  Bruno Haible  <bruno@clisp.org>
61239
61240         Add tentative support for Linux libc5.
61241         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
61242         * lib/fpurge.c (fpurge): Likewise.
61243         * lib/freadable.c (freadable): Likewise.
61244         * lib/freadahead.c (freadahead): Likewise.
61245         * lib/freading.c (freading): Likewise.
61246         * lib/freadptr.c (freadptr): Likewise.
61247         * lib/freadseek.c (freadptrinc): Likewise.
61248         * lib/fseeko.c (rpl_fseeko): Likewise.
61249         * lib/fseterr.c (fseterr): Likewise.
61250         * lib/fwritable.c (fwritable): Likewise.
61251         * lib/fwriting.c (fwriting): Likewise.
61252         Reported by Alain Guibert <alguibert+bts@free.fr>.
61253
61254 2008-04-15  Bruno Haible  <bruno@clisp.org>
61255
61256         * modules/mathl (configure.ac): Define module indicator.
61257
61258 2008-04-15  Bruno Haible  <bruno@clisp.org>
61259
61260         * lib/logl.c (logl): Remove unused variables.
61261
61262 2008-04-15  Bruno Haible  <bruno@clisp.org>
61263
61264         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
61265         fails.
61266
61267 2008-04-15  Bruno Haible  <bruno@clisp.org>
61268
61269         * lib/trim.c (trim2): Fix argument of isspace() macro.
61270
61271 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
61272
61273         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
61274         to 0.
61275         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
61276
61277 2008-04-14  Bruno Haible  <bruno@clisp.org>
61278
61279         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
61280         AC_LANG_PROGRAM argument.
61281         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
61282         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
61283         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
61284         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
61285         * m4/math_h.m4 (gl_MATH_H): Likewise.
61286         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
61287         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
61288         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
61289         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
61290         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
61291         * m4/regex.m4 (gl_REGEX): Likewise.
61292         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
61293         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
61294         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
61295         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
61296         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
61297         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
61298         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
61299         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
61300
61301 2008-04-14  Jim Meyering  <meyering@redhat.com>
61302
61303         test-strtod: fix typos: s/abs/fabs/
61304         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
61305
61306 2008-04-13  Bruno Haible  <bruno@clisp.org>
61307
61308         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
61309         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
61310         module is also used and while not building the reloc-wrapper.
61311
61312 2008-04-13  Bruno Haible  <bruno@clisp.org>
61313
61314         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
61315
61316 2008-04-13  Bruno Haible  <bruno@clisp.org>
61317
61318         Fix AIX compilation failure introduced on 2008-04-02.
61319         * tests/test-frexp.c (exp): Undefine before redefining.
61320         * tests/test-frexpl.c (exp): Likewise.
61321
61322 2008-04-13  Bruno Haible  <bruno@clisp.org>
61323
61324         Work around a HP-UX stdio bug.
61325         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
61326         * tests/test-ftello.c (main): Likewise.
61327         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
61328         * doc/posix-functions/ftello.texi: Likewise.
61329
61330 2008-04-13  Bruno Haible  <bruno@clisp.org>
61331
61332         Make test-signbit pass on HP-UX/hppa.
61333         * tests/test-signbit.c (minus_zerol): New variable.
61334         (test_signbitl): Use it.
61335
61336 2008-04-13  Bruno Haible  <bruno@clisp.org>
61337
61338         Make truncl work on OSF/1 4.0.
61339         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
61340         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
61341         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
61342         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
61343         HAVE_DECL_TRUNCL.
61344         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
61345         HAVE_DECL_TRUNCL.
61346         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
61347
61348 2008-04-13  Bruno Haible  <bruno@clisp.org>
61349
61350         * lib/unictype.h: Remove trailing comma from enumeration definitions.
61351
61352 2008-04-13  Bruno Haible  <bruno@clisp.org>
61353
61354         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
61355         expression, so as to avoid HP-UX 11 cc compiler bug.
61356
61357 2008-04-13  Bruno Haible  <bruno@clisp.org>
61358
61359         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
61360
61361 2008-04-13  Bruno Haible  <bruno@clisp.org>
61362
61363         * lib/git-merge-changelog.c: Remove empty declaration outside of
61364         functions.
61365
61366 2008-04-13  Bruno Haible  <bruno@clisp.org>
61367
61368         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
61369
61370 2008-04-13  Bruno Haible  <bruno@clisp.org>
61371
61372         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
61373         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
61374         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
61375         also if it exists but lacks definitions of the SHUT_* macros.
61376         * modules/sys_socket (Description): Update.
61377         Reported by Elbert Pol <e.pol@chello.nl>.
61378
61379 2008-04-13  Bruno Haible  <bruno@clisp.org>
61380
61381         * lib/localcharset.c (OS2): Don't redefine if already defined.
61382         Reported by Elbert Pol <e.pol@chello.nl>.
61383
61384 2008-04-13  Bruno Haible  <bruno@clisp.org>
61385
61386         * lib/binary-io.h [__EMX__]: Include <io.h>.
61387         Reported by Elbert Pol <e.pol@chello.nl>.
61388
61389 2008-04-12  Bruno Haible  <bruno@clisp.org>
61390
61391         * lib/fpucw.h: Enable the definitions also for x86_64.
61392         Needed for NetBSD/x86_64.
61393         Reported by Thomas Klausner <tk@giga.or.at>.
61394
61395 2008-04-12  Bruno Haible  <bruno@clisp.org>
61396
61397         * tests/test-strtod.c: Include isnand.h.
61398         (main): Use isnand instead of isnan.
61399         Reported by Jim Meyering.
61400
61401 2008-04-12  Bruno Haible  <bruno@clisp.org>
61402
61403         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
61404         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
61405
61406 2008-04-12  Jim Meyering  <meyering@redhat.com>
61407
61408         * m4/math_h.m4 (gl_MATH_H): Fix typos.
61409
61410 2008-04-12  Bruno Haible  <bruno@clisp.org>
61411
61412         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
61413         Reported by Elbert Pol <e.pol@chello.nl>.
61414
61415 2008-04-12  Eric Blake  <ebb9@byu.net>
61416
61417         Work around Solaris 10 math.h bug.
61418         * m4/math_h.m4 (gl_MATH_H): Check for bug.
61419         (gl_MATH_H_DEFAULTS): Set up default.
61420         * modules/math (Makefile.am): Replace new indicators.
61421         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
61422         * tests/test-math.c (main): Test this.
61423         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
61424         * doc/posix-headers/math.texi (math.h): Mention bug.
61425         Reported by Nelson H. F. Beebe and Jim Meyering.
61426
61427 2008-04-11  Bruno Haible  <bruno@clisp.org>
61428
61429         Adapt to future versions of Apple GCC.
61430         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
61431         Reported by Peter O'Gorman <peter@pogma.com>.
61432
61433 2008-04-11  Bruno Haible  <bruno@clisp.org>
61434
61435         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
61436
61437 2008-04-11  Bruno Haible  <bruno@clisp.org>
61438
61439         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
61440
61441         * modules/getaddrinfo-tests (Makefile.am): Define
61442         test_getaddrinfo_LDADD.
61443
61444 2008-04-11  Bruno Haible  <bruno@clisp.org>
61445
61446         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
61447         (init): Fix syntax error.
61448         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
61449         is declared.
61450
61451 2008-04-11  Bruno Haible  <bruno@clisp.org>
61452
61453         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
61454         * modules/glob (Depends-on): Add stdbool.
61455
61456 2008-04-11  Bruno Haible  <bruno@clisp.org>
61457
61458         * lib/trim.c: Include <string.h>.
61459
61460 2008-04-11  Eric Blake  <ebb9@byu.net>
61461
61462         Avoid compile failure on OS/2.
61463         * lib/regex_internal.h (internal_function): Disable optimization
61464         on OS/2 (__EMX__), where it caused compiler error.
61465         Reported by Elbert Pol.
61466
61467 2008-04-11  Bruno Haible  <bruno@clisp.org>
61468
61469         Flush the standard error stream before aborting. Needed on mingw.
61470         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
61471         * tests/test-array_list.c (ASSERT): Likewise.
61472         * tests/test-array_oset.c (ASSERT): Likewise.
61473         * tests/test-avltree_list.c (ASSERT): Likewise.
61474         * tests/test-avltree_oset.c (ASSERT): Likewise.
61475         * tests/test-avltreehash_list.c (ASSERT): Likewise.
61476         * tests/test-binary-io.c (ASSERT): Likewise.
61477         * tests/test-byteswap.c (ASSERT): Likewise.
61478         * tests/test-c-ctype.c (ASSERT): Likewise.
61479         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
61480         * tests/test-c-strcasestr.c (ASSERT): Likewise.
61481         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
61482         * tests/test-c-strstr.c (ASSERT): Likewise.
61483         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
61484         * tests/test-canonicalize.c (ASSERT): Likewise.
61485         * tests/test-carray_list.c (ASSERT): Likewise.
61486         * tests/test-ceilf1.c (ASSERT): Likewise.
61487         * tests/test-ceilf2.c (ASSERT): Likewise.
61488         * tests/test-ceill.c (ASSERT): Likewise.
61489         * tests/test-count-one-bits.c (ASSERT): Likewise.
61490         * tests/test-fbufmode.c (ASSERT): Likewise.
61491         * tests/test-fflush2.c (ASSERT): Likewise.
61492         * tests/test-floorf1.c (ASSERT): Likewise.
61493         * tests/test-floorf2.c (ASSERT): Likewise.
61494         * tests/test-floorl.c (ASSERT): Likewise.
61495         * tests/test-fopen.c (ASSERT): Likewise.
61496         * tests/test-fpending.c (ASSERT): Likewise.
61497         * tests/test-fprintf-posix.c (ASSERT): Likewise.
61498         * tests/test-fpurge.c (ASSERT): Likewise.
61499         * tests/test-freadable.c (ASSERT): Likewise.
61500         * tests/test-freadahead.c (ASSERT): Likewise.
61501         * tests/test-freading.c (ASSERT): Likewise.
61502         * tests/test-freadptr.c (ASSERT): Likewise.
61503         * tests/test-freadptr2.c (ASSERT): Likewise.
61504         * tests/test-freadseek.c (ASSERT): Likewise.
61505         * tests/test-freopen.c (ASSERT): Likewise.
61506         * tests/test-frexp.c (ASSERT): Likewise.
61507         * tests/test-frexpl.c (ASSERT): Likewise.
61508         * tests/test-fseek.c (ASSERT): Likewise.
61509         * tests/test-fseeko.c (ASSERT): Likewise.
61510         * tests/test-fstrcmp.c (ASSERT): Likewise.
61511         * tests/test-ftell.c (ASSERT): Likewise.
61512         * tests/test-ftello.c (ASSERT): Likewise.
61513         * tests/test-func.c (ASSERT): Likewise.
61514         * tests/test-fwritable.c (ASSERT): Likewise.
61515         * tests/test-fwriting.c (ASSERT): Likewise.
61516         * tests/test-getdelim.c (ASSERT): Likewise.
61517         * tests/test-getline.c (ASSERT): Likewise.
61518         * tests/test-i-ring.c (ASSERT): Likewise.
61519         * tests/test-iconv-utf.c (ASSERT): Likewise.
61520         * tests/test-iconv.c (ASSERT): Likewise.
61521         * tests/test-isfinite.c (ASSERT): Likewise.
61522         * tests/test-isnand.c (ASSERT): Likewise.
61523         * tests/test-isnanf.c (ASSERT): Likewise.
61524         * tests/test-isnanl.h (ASSERT): Likewise.
61525         * tests/test-ldexpl.c (ASSERT): Likewise.
61526         * tests/test-linked_list.c (ASSERT): Likewise.
61527         * tests/test-linkedhash_list.c (ASSERT): Likewise.
61528         * tests/test-localename.c (ASSERT): Likewise.
61529         * tests/test-lseek.c (ASSERT): Likewise.
61530         * tests/test-mbscasecmp.c (ASSERT): Likewise.
61531         * tests/test-mbscasestr1.c (ASSERT): Likewise.
61532         * tests/test-mbscasestr2.c (ASSERT): Likewise.
61533         * tests/test-mbscasestr3.c (ASSERT): Likewise.
61534         * tests/test-mbscasestr4.c (ASSERT): Likewise.
61535         * tests/test-mbschr.c (ASSERT): Likewise.
61536         * tests/test-mbscspn.c (ASSERT): Likewise.
61537         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
61538         * tests/test-mbspbrk.c (ASSERT): Likewise.
61539         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
61540         * tests/test-mbsrchr.c (ASSERT): Likewise.
61541         * tests/test-mbsspn.c (ASSERT): Likewise.
61542         * tests/test-mbsstr1.c (ASSERT): Likewise.
61543         * tests/test-mbsstr2.c (ASSERT): Likewise.
61544         * tests/test-mbsstr3.c (ASSERT): Likewise.
61545         * tests/test-memchr2.c (ASSERT): Likewise.
61546         * tests/test-memmem.c (ASSERT): Likewise.
61547         * tests/test-open.c (ASSERT): Likewise.
61548         * tests/test-printf-frexp.c (ASSERT): Likewise.
61549         * tests/test-printf-frexpl.c (ASSERT): Likewise.
61550         * tests/test-printf-posix.c (ASSERT): Likewise.
61551         * tests/test-quotearg.c (ASSERT): Likewise.
61552         * tests/test-rbtree_list.c (ASSERT): Likewise.
61553         * tests/test-rbtree_oset.c (ASSERT): Likewise.
61554         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
61555         * tests/test-round1.c (ASSERT): Likewise.
61556         * tests/test-roundf1.c (ASSERT): Likewise.
61557         * tests/test-roundl.c (ASSERT): Likewise.
61558         * tests/test-signbit.c (ASSERT): Likewise.
61559         * tests/test-sleep.c (ASSERT): Likewise.
61560         * tests/test-snprintf-posix.c (ASSERT): Likewise.
61561         * tests/test-snprintf.c (ASSERT): Likewise.
61562         * tests/test-sprintf-posix.c (ASSERT): Likewise.
61563         * tests/test-stat-time.c (ASSERT): Likewise.
61564         * tests/test-strcasestr.c (ASSERT): Likewise.
61565         * tests/test-strerror.c (ASSERT): Likewise.
61566         * tests/test-striconv.c (ASSERT): Likewise.
61567         * tests/test-striconveh.c (ASSERT): Likewise.
61568         * tests/test-striconveha.c (ASSERT): Likewise.
61569         * tests/test-strsignal.c (ASSERT): Likewise.
61570         * tests/test-strstr.c (ASSERT): Likewise.
61571         * tests/test-strtod.c (ASSERT): Likewise.
61572         * tests/test-trunc1.c (ASSERT): Likewise.
61573         * tests/test-trunc2.c (ASSERT): Likewise.
61574         * tests/test-truncf1.c (ASSERT): Likewise.
61575         * tests/test-truncf2.c (ASSERT): Likewise.
61576         * tests/test-truncl.c (ASSERT): Likewise.
61577         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
61578         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
61579         * tests/test-vasnprintf.c (ASSERT): Likewise.
61580         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
61581         * tests/test-vasprintf.c (ASSERT): Likewise.
61582         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
61583         * tests/test-vprintf-posix.c (ASSERT): Likewise.
61584         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
61585         * tests/test-vsnprintf.c (ASSERT): Likewise.
61586         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
61587         * tests/test-wcwidth.c (ASSERT): Likewise.
61588         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
61589         * tests/test-xprintf-posix.c (ASSERT): Likewise.
61590         * tests/test-xvasprintf.c (ASSERT): Likewise.
61591         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
61592         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
61593         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
61594         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
61595         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
61596         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
61597         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
61598         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
61599         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
61600         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
61601         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
61602         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
61603         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
61604         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
61605         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
61606         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
61607         * tests/unictype/test-block_list.c (ASSERT): Likewise.
61608         * tests/unictype/test-block_of.c (ASSERT): Likewise.
61609         * tests/unictype/test-block_test.c (ASSERT): Likewise.
61610         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
61611         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
61612         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
61613         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
61614         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
61615         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
61616         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
61617         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
61618         * tests/unictype/test-combining.c (ASSERT): Likewise.
61619         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
61620         * tests/unictype/test-digit.c (ASSERT): Likewise.
61621         * tests/unictype/test-mirror.c (ASSERT): Likewise.
61622         * tests/unictype/test-numeric.c (ASSERT): Likewise.
61623         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
61624         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
61625         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
61626         * tests/unictype/test-scripts.c (ASSERT): Likewise.
61627         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
61628         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
61629         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
61630         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
61631         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
61632         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
61633         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
61634         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
61635         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
61636         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
61637         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
61638         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
61639         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
61640         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
61641         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
61642         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
61643         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
61644         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
61645         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
61646         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
61647         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
61648         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
61649         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
61650         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
61651         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
61652         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
61653         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
61654         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
61655         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
61656         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
61657         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
61658         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
61659         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
61660         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
61661         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
61662         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
61663         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
61664         Reported by Eric Blake.
61665
61666 2008-04-11  Bruno Haible  <bruno@clisp.org>
61667
61668         * lib/wchar.in.h: Tweak comment.
61669
61670 2008-04-11  Bruno Haible  <bruno@clisp.org>
61671
61672         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
61673         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
61674         gl_COMMON.
61675         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
61676
61677 2008-04-11  Bruno Haible  <bruno@clisp.org>
61678
61679         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
61680
61681 2008-04-11  Simon Josefsson  <simon@josefsson.org>
61682
61683         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
61684         of attempting to use non-existing /dev/*random.  Based on patch
61685         from Adam Strzelecki <ono@java.pl> in
61686         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
61687
61688 2008-04-08  Bruno Haible  <bruno@clisp.org>
61689
61690         Add tentative support for emx+gcc.
61691         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
61692         * lib/fpurge.c (fpurge): Likewise.
61693         * lib/freadable.c (freadable): Likewise.
61694         * lib/freadahead.c (freadahead): Likewise.
61695         * lib/freading.c (freading): Likewise.
61696         * lib/freadptr.c (freadptr): Likewise.
61697         * lib/freadseek.c (freadptrinc): Likewise.
61698         * lib/fseeko.c (rpl_fseeko): Likewise.
61699         * lib/fseterr.c (fseterr): Likewise.
61700         * lib/fwritable.c (fwritable): Likewise.
61701         * lib/fwriting.c (fwriting): Likewise.
61702         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
61703
61704 2008-04-09  Eric Blake  <ebb9@byu.net>
61705
61706         Avoid some autoconf warnings.
61707         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
61708         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
61709         * m4/afs.m4 (gl_AFS): Likewise.
61710         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
61711         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
61712         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61713         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
61714         (gl_INTEGER_TYPE_SUFFIX): Likewise.
61715         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
61716         (AC_CHECK_DECLS_ONCE): Likewise.
61717         Rename file...
61718         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
61719         gnulib-tool requires autoconf 2.59 or better.
61720         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
61721
61722 2008-04-08  Eric Blake  <ebb9@byu.net>
61723
61724         Use 'git describe --match' if present (added in git 1.5.5).
61725         * build-aux/git-version-gen: Limit result to tags that match 'v*'
61726         if possible.
61727
61728 2008-04-08  Bruno Haible  <bruno@clisp.org>
61729
61730         Add tentative support for OpenServer.
61731         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
61732         _ptr, _cnt.
61733         * lib/fpurge.c (fpurge): Likewise.
61734         * lib/freadable.c (freadable): Likewise.
61735         * lib/freadahead.c (freadahead): Likewise.
61736         * lib/freading.c (freading): Likewise.
61737         * lib/freadptr.c (freadptr): Likewise.
61738         * lib/freadseek.c (freadptrinc): Likewise.
61739         * lib/fseeko.c (rpl_fseeko): Likewise.
61740         * lib/fseterr.c (fseterr): Likewise.
61741         * lib/fwritable.c (fwritable): Likewise.
61742         * lib/fwriting.c (fwriting): Likewise.
61743         Reported by Roger Cornelius <rac@tenzing.org> and
61744         Brian K. White <brian@aljex.com>.
61745
61746 2008-04-06  Jim Meyering  <meyering@redhat.com>
61747
61748         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
61749
61750 2008-04-06  Bruno Haible  <bruno@clisp.org>
61751
61752         Avoid possible error with non-ASCII bytes in UTF-8 locales.
61753         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
61754         * tests/test-printf-posix.sh: Likewise.
61755         * tests/test-vfprintf-posix.sh: Likewise.
61756         * tests/test-vprintf-posix.sh: Likewise.
61757         * tests/test-xprintf-posix.sh: Likewise.
61758
61759 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61760
61761         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
61762         hide error from 'ls', needed on OS/2.
61763         Report by Elbert Pol <elbert.pol@gmail.com>.
61764
61765 2008-04-04  Eric Blake  <ebb9@byu.net>
61766
61767         Make test-fseeko.c failures meaningful.
61768         * tests/test-fseeko.c: Print line number on failure.
61769         * tests/test-fseek.c: Likewise.
61770         Reported by Nelson H. F. Beebe.
61771
61772         Improve strtod bug detection check.
61773         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
61774         required for Solaris 10.
61775         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
61776
61777 2008-04-04  Bruno Haible  <bruno@clisp.org>
61778
61779         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
61780         by m4/setenv.m4.
61781
61782 2008-04-03  Eric Blake  <ebb9@byu.net>
61783
61784         Ensure sane .version contents.
61785         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
61786         version string.
61787         * build-aux/git-version-gen: Improve documentation.
61788
61789         Make GNU make output nicer.
61790         * top/GNUmakefile [!_have-Makefile]: Add dependency on
61791         MAKECMDGOALS to enforce message for all command line targets.  Set
61792         srcdir for use in maint.mk.
61793
61794         Another maintainer tweak.
61795         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
61796         a target that regenerates version.
61797
61798 2008-04-03  Jim Meyering  <meyering@redhat.com>
61799
61800         vc-list-files: don't cause coreutils "make po-check" failure
61801         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
61802
61803 2008-04-03  Eric Blake  <ebb9@byu.net>
61804
61805         Allow VPATH usage of vc-list-files.
61806         * build-aux/vc-list-files (scriptversion): Add timestamp.
61807         (options): Add --help, --version, -C.
61808         (CVS): Support installed cvsu.
61809
61810 2008-04-02  Bruno Haible  <bruno@clisp.org>
61811
61812         Avoid some "statement with no effect" warnings from gcc.
61813         * tests/test-wctype.c (main): Explicitly ignore unused values.
61814         Reported by Jim Meyering.
61815
61816 2008-04-02  Jim Meyering  <meyering@redhat.com>
61817
61818         Avoid some warnings from "gcc -Wshadow".
61819         * tests/test-frexp.c (exp): Define to a different identifier.
61820         * tests/test-frexpl.c (exp): Likewise.
61821
61822 2008-04-03  Jim Meyering  <meyering@redhat.com>
61823
61824         bootstrap: remove dangling *.[ch] symlinks from lib
61825         * build-aux/bootstrap [dangling symlink removal]: Move find's
61826         -depth option to precede all others, to avoid a warning.
61827         Remove *.[ch] files too, and from "$source_base" (usually lib/).
61828
61829 2008-04-02  Bruno Haible  <bruno@clisp.org>
61830
61831         Avoid some warnings from "gcc -Wshadow".
61832         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
61833         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
61834         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
61835         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
61836         Reported by Jim Meyering.
61837
61838 2008-04-01  Bruno Haible  <bruno@clisp.org>
61839
61840         Fix test to work on IRIX 6.5 with cc.
61841         * tests/test-math.c (numeric_equal): New function.
61842         (main): Use it.
61843
61844 2008-04-01  Bruno Haible  <bruno@clisp.org>
61845
61846         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
61847
61848 2008-04-01  Bruno Haible  <bruno@clisp.org>
61849
61850         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
61851         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61852         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
61853         (Depends-on): Remove math.
61854
61855         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
61856         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61857         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
61858         (Depends-on): Remove math.
61859
61860         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
61861         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61862         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
61863         (Depends-on): Remove math.
61864         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
61865         (Depends-on): Remove math.
61866
61867         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
61868         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61869         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
61870         (Depends-on): Remove math.
61871         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
61872         (Depends-on): Remove math.
61873
61874         * tests/test-round1.c: Include nan.h.
61875         (main): Use NaNd instead of NAN.
61876         * modules/round-tests (Files): Add tests/nan.h.
61877
61878         * tests/test-trunc1.c: Include nan.h.
61879         (main): Use NaNd instead of NAN.
61880         * modules/trunc-tests (Files): Add tests/nan.h.
61881
61882         * tests/test-roundf1.c: Include nan.h.
61883         (main): Use NaNf instead of NAN.
61884         * modules/roundf-tests (Files): Add tests/nan.h.
61885
61886         * tests/test-truncf1.c: Include nan.h.
61887         (main): Use NaNf instead of NAN.
61888         * modules/truncf-tests (Files): Add tests/nan.h.
61889
61890         * tests/test-ceilf1.c: Include nan.h.
61891         (main): Use NaNf instead of NAN.
61892         * modules/ceilf-tests (Files): Add tests/nan.h.
61893
61894         * tests/test-floorf1.c: Include nan.h.
61895         (main): Use NaNf instead of NAN.
61896         * modules/floorf-tests (Files): Add tests/nan.h.
61897
61898         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
61899         (main): Use NaNf instead of NAN.
61900         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
61901
61902         * tests/test-isnand.c: Include nan.h instead of <math.h>.
61903         (main): Use NaNd instead of NAN.
61904         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
61905
61906         * tests/test-frexp.c: Include nan.h.
61907         (main): Use NaNd instead of NAN.
61908         * modules/frexp-tests (Files): Add tests/nan.h.
61909
61910         * lib/isnan.c: Don't include <math.h>.
61911         (FUNC): Don't use NAN macro.
61912         * modules/isnand-nolibm (Depends-on): Remove math.
61913         * modules/isnanf-nolibm (Depends-on): Remove math.
61914         * modules/isnanl (Depends-on): Remove math.
61915         * modules/isnanl-nolibm (Depends-on): Remove math.
61916
61917         * tests/nan.h: New file.
61918
61919 2008-04-01  Eric Blake  <ebb9@byu.net>
61920
61921         Fix typos.
61922         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
61923         values to be the right type.
61924
61925         For now, cater to gnulib strtod inaccuracies.
61926         * tests/test-strtod.c (main): Allow 1-ulp error on expected
61927         fractional results.  While not as nice from a QoI perspective, it
61928         is a quicker patch than correctly implementing decimal to binary
61929         rounding.
61930
61931 2008-03-31  Eric Blake  <ebb9@byu.net>
61932
61933         Guarantee a definition of NAN.
61934         * lib/math.in.h (NAN): Define if missing.
61935         * tests/test-math.c (main): Test it.
61936         * doc/posix-headers/math.texi (math.h): Document this.
61937         * lib/isnan.c (rpl_isnand): Use it.
61938         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
61939         * tests/test-floorf1.c (NaN): Likewise.
61940         * tests/test-frexp.c (NaN): Likewise.
61941         * tests/test-isnand.c (NaN): Likewise.
61942         * tests/test-isnanf.c (NaN): Likewise.
61943         * tests/test-round1.c (NaN): Likewise.
61944         * tests/test-roundf1.c (NaN): Likewise.
61945         * tests/test-snprintf-posix.h (NaN): Likewise.
61946         * tests/test-sprintf-posix.h (NaN): Likewise.
61947         * tests/test-trunc1.c (NaN): Likewise.
61948         * tests/test-truncf1.c (NaN): Likewise.
61949         * tests/test-vasnprintf-posix.c (NaN): Likewise.
61950         * tests/test-vasprintf-posix.c (NaN): Likewise.
61951         * modules/isnand-nolibm (Depends-on): Add math.
61952         * modules/isnanf-nolibm (Depends-on): Likewise.
61953         * modules/isnanl (Depends-on): Likewise.
61954         * modules/isnanl-nolibm (Depends-on): Likewise.
61955         * modules/snprintf-posix-tests (Depends-on): Likewise.
61956         * modules/sprintf-posix-tests (Depends-on): Likewise.
61957         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
61958         * modules/vsprintf-posix-tests (Depends-on): Likewise.
61959         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
61960         * modules/vasprintf-posix-tests (Depends-on): Likewise.
61961
61962 2008-03-31  Bruno Haible  <bruno@clisp.org>
61963
61964         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
61965         * doc/posix-functions/strtod.texi: Likewise.
61966
61967 2008-03-31  Bruno Haible  <bruno@clisp.org>
61968
61969         * tests/test-strtod.c (main): Don't use C99 syntax.
61970
61971 2008-03-31  Bruno Haible  <bruno@clisp.org>
61972
61973         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
61974         Reported by Eric Blake.
61975
61976 2008-03-31  Jim Meyering  <meyering@redhat.com>
61977
61978         Don't compare actual signbit return values.
61979         * tests/test-strtod.c (main): Rather, compare only their
61980         zero/non-zero nature.
61981
61982 2008-03-31  Eric Blake  <ebb9@byu.net>
61983
61984         More strtod documentation.
61985         * doc/posix-functions/strtod.texi (strtod): Interpret more test
61986         failures as distinct bugs.
61987
61988 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
61989
61990         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
61991         Problem reported by Erik Benada in
61992         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
61993
61994 2008-03-30  Bruno Haible  <bruno@clisp.org>
61995
61996         * tests/test-strtod.c: Add comments about which assertion fails on which
61997         platform.
61998         * doc/posix-functions/strtod.texi: Add info about many more platforms.
61999
62000 2008-03-30  Eric Blake  <ebb9@byu.net>
62001
62002         Test signbit behavior on zeros.
62003         * tests/test-signbit.c (test_signbitf): Add tests for zero.
62004         (test_signbitd, test_signbitl): Likewise.
62005
62006         More strtod touchups.
62007         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
62008         sign of negative underflow, for now.  Use .5, not .1.
62009         * doc/posix-functions/strtod.texi (strtod): Mention these
62010         limitations.
62011         Reported by Jim Meyering.
62012
62013 2008-03-30  Bruno Haible  <bruno@clisp.org>
62014
62015         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
62016         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
62017
62018 2008-03-30  Bruno Haible  <bruno@clisp.org>
62019
62020         Avoid failure when attempting to return empty iconv results on some
62021         platforms.
62022         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
62023         allocation, don't report ENOMEM when the resulting string is empty.
62024
62025 2008-03-30  Bruno Haible  <bruno@clisp.org>
62026
62027         Fix buffer overrun.
62028         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
62029         Don't consider the width for tmp_length. Check count against tmp_length
62030         before doing the padding. Ensure enough allocation during padding.
62031
62032 2008-03-30  Eric Blake  <ebb9@byu.net>
62033
62034         strtod touchups.
62035         * lib/strtod.c (strtod): Avoid compiler warnings.
62036         Reported by Jim Meyering.
62037
62038 2008-03-30  Bruno Haible  <bruno@clisp.org>
62039
62040         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
62041         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
62042         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
62043         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
62044         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
62045         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
62046         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
62047         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
62048
62049         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
62050         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
62051         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
62052         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
62053         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
62054         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
62055         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
62056         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
62057
62058         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
62059         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
62060         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
62061         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
62062         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
62063         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
62064         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
62065         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
62066
62067         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
62068         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
62069
62070         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
62071         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
62072
62073         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
62074         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
62075
62076         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
62077         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
62078         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
62079
62080         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
62081         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
62082         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
62083
62084         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
62085         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
62086         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
62087
62088         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
62089         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
62090         * modules/vasprintf (Depends-on): Add EOVERFLOW.
62091
62092         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
62093         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
62094         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
62095         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
62096         (Depends-on): Add EOVERFLOW.
62097         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
62098         (Depends-on): Add EOVERFLOW.
62099         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
62100         (Depends-on): Add EOVERFLOW.
62101         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
62102         (Depends-on): Add EOVERFLOW.
62103         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
62104         (Depends-on): Add EOVERFLOW.
62105         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
62106         (Depends-on): Add EOVERFLOW.
62107         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
62108         (Depends-on): Add EOVERFLOW.
62109         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
62110         (Depends-on): Add EOVERFLOW.
62111
62112         * lib/sprintf.c (EOVERFLOW): Remove fallback.
62113         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
62114         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
62115
62116         * lib/snprintf.c (EOVERFLOW): Remove fallback.
62117         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
62118         * modules/snprintf (Depends-on): Add EOVERFLOW.
62119
62120         * lib/poll.c (EOVERFLOW): Remove fallback.
62121         * modules/poll (Depends-on): Add EOVERFLOW.
62122
62123         * lib/getugroups.c (EOVERFLOW): Remove fallback.
62124         * modules/getugroups (Depends-on): Add EOVERFLOW.
62125
62126         * lib/getdelim.c (EOVERFLOW): Remove fallback.
62127         * modules/getdelim (Depends-on): Add EOVERFLOW.
62128
62129         * lib/ftell.c (EOVERFLOW): Remove fallback.
62130         * modules/ftell (Depends-on): Add EOVERFLOW.
62131
62132         * lib/fprintf.c (EOVERFLOW): Remove fallback.
62133         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
62134         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
62135
62136         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
62137
62138         * modules/EOVERFLOW-tests: New file.
62139         * tests/test-EOVERFLOW.c: New file.
62140
62141         * modules/EOVERFLOW: New file.
62142         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
62143
62144 2008-03-30  Bruno Haible  <bruno@clisp.org>
62145
62146         Fix bug introduced on 2007-06-10.
62147         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
62148         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
62149
62150 2008-03-30  Bruno Haible  <bruno@clisp.org>
62151
62152         Improve freadseek's efficiency after ungetc.
62153         * lib/freadseek.c: Include freadahead.h.
62154         (freadptrinc): New function, extracted from freadseek.
62155         (freadseek): Use it in a loop. Use freadahead to determine the number
62156         of loop iterations.
62157         * modules/freadseek (Depends-on): Add freadahead.
62158         (configure.ac): Require AC_C_INLINE.
62159
62160 2008-03-30  Bruno Haible  <bruno@clisp.org>
62161
62162         * lib/freadseek.c (freadseek): Don't ignore the return value of
62163         freadptr.
62164
62165 2008-03-29  Eric Blake  <ebb9@byu.net>
62166
62167         Add hex float support.
62168         * modules/strtod (Depends-on): Add c-ctype.
62169         (Link): Mention POW_LIB.
62170         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
62171         whitespace between 'e' and exponent.
62172         * tests/test-strtod.c (main): Enable hex float tests.
62173         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
62174         now provides.
62175
62176         Document various strtod bugs, with some fixes.
62177         * doc/posix-functions/strtod.texi (strtod): Document bugs with
62178         "-0x", "inf", "nan", and hex constants.
62179         * doc/posix-functions/atof.texi (atof): Likewise.
62180         * modules/stdlib (Makefile.am): Support strtod.
62181         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
62182         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
62183         detect additional strtod bugs.
62184         * lib/stdlib.in.h (rpl_strtod): Add declarations.
62185         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
62186         bool where appropriate.  Parse 'inf' and 'nan'.
62187         * tests/test-strtod.c: New file.
62188         * modules/strtod (Depends-on): Add stdbool, stdlib.
62189         (configure.ac): Turn on module indicator.
62190         * modules/strtod-tests: New module.
62191
62192 2008-03-29  Eric Blake  <ebb9@byu.net>
62193
62194         Fix ftell on mingw.
62195         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
62196         * modules/ftell-tests (Depends-on): Add binary-io.
62197         * modules/ftello-tests (Depends-on): Likewise.
62198         * tests/test-ftell.c (main): Enhance test to cover behavior after
62199         ungetc.  Enforce binary mode.
62200         * tests/test-ftello.c (main): Likewise.
62201
62202         Pass test-freadseek on cygwin.
62203         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
62204         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
62205         ungetc buffer.
62206
62207         * tests/test-fflush2.c (main): Fix typo.
62208
62209 2008-03-29  Bruno Haible  <bruno@clisp.org>
62210
62211         * tests/test-fflush2.c (main): Temporarily disable the contents of
62212         this test.
62213         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
62214         Reported by Eric Blake.
62215
62216 2008-03-28  Simon Josefsson  <simon@josefsson.org>
62217
62218         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
62219         (GC_SHA224_DIGEST_SIZE): Add.
62220
62221         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
62222         (gc_hash_digest_length): Likewise.
62223         (gc_hash_buffer): Likewise.
62224
62225 2008-03-25  Bruno Haible  <bruno@clisp.org>
62226
62227         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
62228         detail which gettext release to use.
62229         Reported by Simon Josefsson.
62230
62231 2008-03-26  Jim Meyering  <meyering@redhat.com>
62232
62233         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
62234         * modules/gnumakefile (clean-GNUmakefile): Also, use
62235         test ... && ... || : syntax rather than if-then ... fi.
62236
62237         gnumakefile: Don't double-quote-expand $(VPATH) value.
62238         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
62239
62240 2008-03-24  Eric Blake  <ebb9@byu.net>
62241
62242         Alter GNUmakefile to install into top directory.
62243         * modules/maintainer-makefile: Split, and add dependency...
62244         * modules/gnumakefile: to this new module.
62245         * build-aux/GNUmakefile: Move...
62246         * top/GNUmakefile: ...here.
62247         * build-aux/maint.mk: Move...
62248         * top/maint.mk: ...here.
62249         * MODULES.html.sh (Support for maintaining...): Document new
62250         module.
62251
62252 2008-03-23  Bruno Haible  <bruno@clisp.org>
62253
62254         * gnulib-tool: New options --vc-files, --no-vc-files.
62255         (func_usage): Document them.
62256         (vc_files): New variable.
62257         (func_import): Consider vc_files.
62258         (func_create_testdir): Set vc_files to empty.
62259         Suggested by Jim Meyering and Karl Berry.
62260
62261 2008-03-23  Bruno Haible  <bruno@clisp.org>
62262
62263         Fix regex compilation error on HP-UX 11.
62264         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
62265         * modules/regex (Files): Add m4/mbstate_t.m4.
62266         Reported by Ton Voon <ton.voon@altinity.com>.
62267
62268 2008-03-23  Bruno Haible  <bruno@clisp.org>
62269
62270         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
62271
62272 2008-03-23  Eric Blake  <ebb9@byu.net>
62273             Bruno Haible  <bruno@clisp.org>
62274
62275         Install files from top/ in the destination directory.
62276         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
62277         augmentation also for the files from top/.
62278         (func_import, func_create_testdir): Rewrite file names:
62279         top/filename -> filename.
62280
62281 2008-03-23  Bruno Haible  <bruno@clisp.org>
62282
62283         Tweak "gnulib --version" output.
62284         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
62285
62286 2008-03-23  Bruno Haible  <bruno@clisp.org>
62287
62288         Tweak "gnulib --version" output.
62289         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
62290         rather than contents of ChangeLog, when possible.
62291
62292 2008-03-21  Eric Blake  <ebb9@byu.net>
62293
62294         More --version tweaks.
62295         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
62296         date of last ChangeLog entry.
62297
62298 2008-03-21  Jim Meyering  <meyering@redhat.com>
62299
62300         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
62301
62302 2008-03-20  Eric Blake  <ebb9@byu.net>
62303
62304         VPATH fix.
62305         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
62306
62307 2008-03-20  Simon Josefsson  <simon@josefsson.org>
62308
62309         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
62310         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
62311
62312 2008-03-20  Eric Blake  <ebb9@byu.net>
62313
62314         Sync GNUmakefile with coreutils.
62315         * build-aux/GNUmakefile (have-Makefile): Rename...
62316         (_have-Makefile): ...to this, for namespace consideration.
62317         (GNUmakefile.cfg): Include, if present.
62318         (_autoreconf): Define a default.
62319         (_is-dist-target): New rule for rebuilds to pick up intra-release
62320         version.
62321         (maint-cfg.mk): Rename...
62322         (cfg.mk): ...to this.
62323
62324 2008-03-18  Jim Meyering  <meyering@redhat.com>
62325
62326         New script and module: mktempd
62327         * MODULES.html.sh (maint+release support): Add mktempd.
62328         * build-aux/mktempd: New file.
62329         * modules/mktempd: New file.
62330
62331 2008-03-15  Jim Meyering  <meyering@redhat.com>
62332
62333         Undo last change.
62334         * lib/sha1.c, lib/md5.c: 63 != ~63.
62335         Reported by Andreas Schwab.
62336
62337         sha1.c, md5.c: Hoist a redundant expression.
62338         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
62339         "ctx->buflen" only once, before calling *_process_block.
62340         * lib/md5.c (md5_process_bytes): Likewise.
62341
62342 2008-03-14  Eric Blake  <ebb9@byu.net>
62343
62344         Bump copyright year in files generated by gnulib-tool.
62345         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
62346         gnulib-tool, rather than hard-coding it.
62347
62348         Fix 'gnulib-tool --version' output to work with git.
62349         * gnulib-tool (func_gnulib_dir): New function, extracted from...
62350         (startup): ...here.
62351         (func_version): Use it to invoke git-version-gen, rather than
62352         relying on CVS keyword expansion.  Modernize wording.
62353         (cvsdatestamp, last_checkin_date, version): Kill unused
62354         variables.
62355
62356 2008-03-12  Jim Meyering  <meyering@redhat.com>
62357
62358         Recognize optional cast of the argument to free.
62359         * build-aux/useless-if-before-free: Update regexps.
62360
62361         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
62362
62363 2008-03-11  Bruno Haible  <bruno@clisp.org>
62364
62365         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
62366         by a single package.
62367         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
62368         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
62369         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
62370         Reported by Sam Steingold <sds@gnu.org>.
62371
62372 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
62373
62374         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
62375         repositories.
62376
62377 2008-03-11  Bruno Haible  <bruno@clisp.org>
62378
62379         Avoid conflicts between local macro definitions.
62380         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
62381         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
62382
62383 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
62384             Bruno Haible  <bruno@clisp.org>
62385
62386         Make va_copy work with some version of xlc on AIX 5.1.
62387         * lib/stdarg.in.h: New file.
62388         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
62389         On AIX, use a <stdarg.h> file substitute.
62390         * modules/stdarg (Files): Add lib/stdarg.in.h.
62391         (Depends-on): Add include_next.
62392         (Makefile.am): Build a stdarg.h substitute if requested.
62393         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
62394
62395 2008-03-10  Bruno Haible  <bruno@clisp.org>
62396
62397         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
62398         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
62399         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
62400
62401 2008-03-10  Bruno Haible  <bruno@clisp.org>
62402
62403         * modules/stdlib (Depends-on): Add include_next, remove
62404         absolute-header.
62405
62406 2008-03-09  Bruno Haible  <bruno@clisp.org>
62407
62408         * lib/freadahead.h (freadahead): Document more precisely.
62409         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
62410         the sum of both buffer sizes.
62411         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
62412         * NEWS: Document the change.
62413
62414 2008-03-09  Bruno Haible  <bruno@clisp.org>
62415
62416         Extend freadptr to return also the buffer size.
62417         * lib/freadptr.h (freadptr): Add sizep argument.
62418         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
62419         (freadptr): Add sizep argument. Determine buffer size like freadahead
62420         does.
62421         * tests/test-freadptr.c: Don't include freadahead.h.
62422         (main): Adapt for new calling convention of freadptr.
62423         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
62424         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
62425         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
62426         tests/test-freadptr2.sh.
62427         (Depends): Remove freadahead.
62428         (TESTS): Add test-freadptr2.sh.
62429         (check_PROGRAMS): Add test-freadptr2.
62430
62431 2008-03-09  Bruno Haible  <bruno@clisp.org>
62432
62433         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
62434         Report and solution by Simon Josefsson.
62435
62436 2008-03-06  Bruno Haible  <bruno@clisp.org>
62437
62438         Make fflush after ungetc work on BSD platforms.
62439         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
62440         * tests/test-fflush2.c: New file.
62441         * tests/test-fflush2.sh: New file.
62442         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
62443         tests/test-fflush2.c.
62444         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
62445         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
62446
62447 2008-03-06  Eric Blake  <ebb9@byu.net>
62448
62449         Likewise for ftello.
62450         * modules/ftello (Dependencies): Add extensions.
62451         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
62452
62453 2008-03-06  Bruno Haible  <bruno@clisp.org>
62454
62455         * modules/fseeko (Dependencies): Add extensions.
62456         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
62457         Needed on glibc systems.
62458
62459 2008-03-06  Bruno Haible  <bruno@clisp.org>
62460
62461         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
62462         email address.
62463         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
62464
62465 2008-03-06  Bruno Haible  <bruno@clisp.org>
62466
62467         * users.txt: Add libgnupdf.
62468
62469 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
62470
62471         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
62472         (Header File Substitutes, Function Substitutes,
62473         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
62474         (Build robot for gnulib): Fix typo.
62475
62476 2008-03-06  Bruno Haible  <bruno@clisp.org>
62477
62478         * doc/gnulib-tool.texi (VCS Issues): Small updates.
62479         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
62480
62481 2008-03-06  Bruno Haible  <bruno@clisp.org>
62482
62483         * doc/func.texi: New file, extracted from doc/gnulib.texi.
62484         * doc/gnulib.texi: Include it.
62485
62486 2008-03-06  Simon Josefsson  <simon@josefsson.org>
62487
62488         * modules/func (License): Change license to unlimited; there was
62489         no LGPL parts in the module anyway.
62490
62491 2008-03-06  Simon Josefsson  <simon@josefsson.org>
62492
62493         * modules/__func__: Renamed to modules/func.
62494         * modules/__func__-tests: Renamed to modules/func-tests.
62495         * tests/test-__func__.c: Renamed to tests/test-func.c.
62496         * m4/__func__.m4: Renamed to m4/func.m4.
62497         * doc/gnulib.texi (__func__): Section renamed to func.
62498         Suggested by Eric Blake <ebb9@byu.net>.
62499
62500 2008-03-06  Simon Josefsson  <simon@josefsson.org>
62501
62502         * doc/gnulib.texi (__func__): Use C99 terminology when talking
62503         about __func__.  Make example self-contained.  Suggested by Eric
62504         Blake <ebb9@byu.net>.
62505
62506         * tests/test-__func__.c (main): Avoid extraneous () around __func.
62507         Suggested by Eric Blake <ebb9@byu.net>.
62508
62509 2008-03-06  Simon Josefsson  <simon@josefsson.org>
62510
62511         * modules/__func__: New file.
62512         * modules/__func__-tests: New file.
62513         * tests/test-__func__.c: New file.
62514         * m4/__func__.m4: New file.
62515         * doc/gnulib.texi (__func__): Document __func__ module.
62516
62517 2008-03-05  Simon Josefsson  <simon@josefsson.org>
62518
62519         * modules/byteswap (License): Re-license as LGPLv2+.
62520
62521 2008-03-05  Simon Josefsson  <simon@josefsson.org>
62522
62523         * doc/Makefile: Add pdf target.
62524
62525 2008-03-05  Simon Josefsson  <simon@josefsson.org>
62526
62527         * modules/inline (License): Use 'unlimited', since there are only
62528         *.m4 files in this module.
62529
62530 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
62531             Bruno Haible  <bruno@clisp.org>
62532
62533         Add support for HP C 7.1 on OpenVMS 8.3.
62534         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
62535
62536 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
62537
62538         Update VMS specifics.
62539         * lib/getopt.c [VMS]: Remove include of unixlib.h.
62540
62541 2008-03-02  Jim Meyering  <meyering@redhat.com>
62542
62543         Remove the last dependency on the "free" module.
62544         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
62545         Reported by Bob Proulx.
62546
62547         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
62548
62549         Remove useless "if" tests before free.  Deprecate "free" module.
62550         * doc/posix-functions/free.texi: Mention that this
62551         module is no longer useful.
62552         * modules/free (Notice): Say this module is obsolete.
62553         * modules/readutmp (Depends-on): Remove free.
62554         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
62555         * lib/putenv.c (putenv): Likewise.
62556         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
62557         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
62558         * tests/test-c-strcasestr.c (main): Likewise.
62559         * tests/test-c-strstr.c (main): Likewise.
62560         * tests/test-mbscasestr1.c (main): Likewise.
62561         * tests/test-mbscasestr2.c (main): Likewise.
62562         * tests/test-mbsstr1.c (main): Likewise.
62563         * tests/test-mbsstr2.c (main): Likewise.
62564         * tests/test-memmem.c (main): Likewise.
62565         * tests/test-strcasestr.c (main): Likewise.
62566         * tests/test-striconv.c (main): Likewise.
62567         * tests/test-striconveh.c (main): Likewise.
62568         * tests/test-striconveha.c (main): Likewise.
62569         * tests/test-strstr.c (main): Likewise.
62570
62571         * build-aux/git-version-gen: Adjust a comment and the Usage string.
62572
62573         bootstrap: sync from coreutils again
62574         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
62575
62576 2008-03-01  Jim Meyering  <meyering@redhat.com>
62577
62578         bootstrap: sync from coreutils
62579         * build-aux/bootstrap (update_po_files): Copy a .po file into place
62580         also when the target doesn't exist.
62581
62582 2008-03-01  Eric Blake  <ebb9@byu.net>
62583
62584         Fix bugs in last patch.
62585         * lib/memchr2.c (memchr2): Fix typo.
62586         * tests/test-memchr2.c: Test previous bug, and don't use GNU
62587         extension.
62588         Reported by Bruce Korb.
62589
62590         New module 'memchr2'.
62591         * modules/memchr2: New file.
62592         * modules/memchr2-tests: Likewise.
62593         * lib/memchr2.h: Likewise.
62594         * lib/memchr2.c: Likewise, based on memchr.c.
62595         * tests/test-memchr2.c: New test.
62596         * MODULES.html.sh (String handling): Add memchr2.
62597
62598 2008-02-29  Bruno Haible  <bruno@clisp.org>
62599
62600         * modules/freadseek-tests: New file.
62601         * tests/test-freadseek.sh: New file.
62602         * tests/test-freadseek.c: New file.
62603
62604         New module 'freadseek'.
62605         * modules/freadseek: New file.
62606         * lib/freadseek.h: New file.
62607         * lib/freadseek.c: New file.
62608         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
62609
62610 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
62611
62612         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
62613         wydawca.
62614
62615         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
62616         program_invocation_name and program_invocation_short_name are
62617         present.
62618
62619 2008-02-28  Bruno Haible  <bruno@clisp.org>
62620
62621         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
62622         * tests/test-freadptr.sh: Also test non-seekable stdin.
62623
62624 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
62625
62626         * build-aux/bootstrap (source_base, m4_base)
62627         (doc_base, tests_base): New variables.
62628         (gnulib_tool_options): Do not hardcode base directories, use
62629         the above variables instead.
62630
62631 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
62632
62633         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
62634
62635 2008-02-28  Bruno Haible  <bruno@clisp.org>
62636
62637         * modules/freadptr-tests: New file.
62638         * tests/test-freadptr.sh: New file.
62639         * tests/test-freadptr.c: New file.
62640
62641         New module 'freadptr'.
62642         * modules/freadptr: New file.
62643         * lib/freadptr.h: New file.
62644         * lib/freadptr.c: New file.
62645         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
62646
62647 2008-02-26  Karl Berry  <karl@freefriends.org>
62648
62649         Sync from Libtool:
62650         * libltdl/argz.c (argz_add, argz_count): New functions.
62651         * libltdl/argz.in.h: Declare them.
62652         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
62653
62654 2008-02-22  Bruno Haible  <bruno@clisp.org>
62655
62656         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
62657         is a pointer type.  Needed for HP-UX 10.
62658         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
62659         * doc/posix-functions/gmtime_r.texi: Likewise.
62660         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
62661
62662 2008-02-24  Bruno Haible  <bruno@clisp.org>
62663
62664         * modules/environ-tests: New file.
62665         * tests/test-environ.c: New file.
62666
62667         New module 'environ'.
62668         * modules/environ: New file.
62669         * lib/unistd.in.h (environ): New declaration.
62670         * m4/environ.m4: New file.
62671         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
62672         after use.
62673         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
62674         HAVE_DECL_ENVIRON.
62675         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
62676         HAVE_DECL_ENVIRON.
62677         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
62678         wrong claim that 'environ' is missing on some systems.
62679         * modules/execute (Depends-on): Add environ.
62680         * lib/execute.c (environ): Remove fallback declaration.
62681         * modules/pipe (Depends-on): Add environ.
62682         * lib/pipe.c (environ): Remove fallback declaration.
62683         * modules/setenv (Depends-on): Add environ.
62684         * lib/setenv.c (environ): Remove fallback declaration.
62685         * modules/unsetenv (Depends-on): Add environ.
62686         * lib/unsetenv.c (environ): Remove fallback declaration.
62687         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
62688         m4/environ.m4.
62689         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
62690         (gl_PREREQ_UNSETENV): Likewise.
62691
62692 2008-02-24  Bruno Haible  <bruno@clisp.org>
62693
62694         * doc/posix-functions/environ.texi: Document the MacOS X problem.
62695
62696 2008-02-20  Bob Proulx  <bob@proulx.com>
62697
62698         Enable use of older two part flavor 'git describe'.
62699         * build-aux/git-version-gen: If using the older two part flavor of
62700         git version then recreate the third part now present in the
62701         newer three part flavor of git describe.
62702
62703 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
62704
62705         * lib/fts.c (fts_build): Typo correction to comment.
62706
62707 2008-02-17  Bruno Haible  <bruno@clisp.org>
62708
62709         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
62710         generating no-op conflicts.
62711
62712 2008-02-17  Bruno Haible  <bruno@clisp.org>
62713
62714         Speed up by 10%.
62715         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
62716         result_entries, rather than an index-based loop.
62717
62718 2008-02-17  Bruno Haible  <bruno@clisp.org>
62719
62720         Speed up by 25%.
62721         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
62722         'hashcode_cached'.
62723         (entry_create): New function.
62724         (entry_hashcode): Use the cached hashcode if possible.
62725         (read_changelog_file, try_split_merged_entry): Use entry_create.
62726
62727 2008-02-17  Bruno Haible  <bruno@clisp.org>
62728
62729         Speed up from O(n^2) to O(n) for long ChangeLog files.
62730         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
62731         (read_changelog_file): Change implementation of entries_reversed list
62732         to rbtreehash.
62733         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
62734
62735 2008-02-17  Bruno Haible  <bruno@clisp.org>
62736
62737         New option --split-merged-entry.
62738         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
62739         (find_paragraph_end, try_split_merged_entry): New functions.
62740         (long_options): Add option --split-merged-entry.
62741         (usage): Document option --split-merged-entry.
62742         (main): Implement option --split-merged-entry.
62743         Reported by Eric Blake.
62744
62745 2008-02-17  Bruno Haible  <bruno@clisp.org>
62746
62747         * lib/git-merge-changelog.c: Include c-strstr.h.
62748         (main): Support the "git pull --rebase" situation.
62749         * modules/git-merge-changelog (Depends-on): Add c-strstr.
62750         Reported by Eric Blake.
62751
62752 2008-02-16  Eric Blake  <ebb9@byu.net>
62753
62754         Avoid doubling \ in common case of "c-maybe" quoting style.
62755         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
62756         eliding outer quotes.
62757         * lib/quotearg.h: Document this.
62758         * tests/test-quotearg.c (result_strings, inputs, results_g)
62759         (flag_results, locale_results): Test it by adding a new string to
62760         each test group.
62761         (compare_strings): Test new string.
62762
62763 2008-02-13  Eric Blake  <ebb9@byu.net>
62764
62765         Avoid trigraph quoting in default output.
62766         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
62767         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
62768         unless explicitly requested.
62769         * tests/test-quotearg.c (flag_results, main): Add additional tests.
62770
62771 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
62772
62773         Don't rely on signed integer overflowing to negative value.
62774         * lib/getugroups.c (getugroups): Include <limits.h>.
62775         Instead, compare against INT_MAX, and increment only if the test passes.
62776
62777 2008-02-13  Jim Meyering  <meyering@redhat.com>
62778         and Eric Blake  <ebb9@byu.net>
62779
62780         Avoid shadowing warning and compile errors on Linux.
62781         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
62782         forwarding macros on Linux.
62783         (dcgettext): Define a stub, for Linux.
62784         (results_g, main): Avoid warnings.
62785
62786 2008-02-12  Eric Blake  <ebb9@byu.net>
62787
62788         Silence warning in last patch.
62789         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
62790
62791         Quotearg part 4: add tests, fix c-maybe colon quoting.
62792         * lib/quotearg.h: Improve documentation.
62793         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
62794         escapes when adding outer quotes.  When quoting trigraphs, use
62795         valid C notation.  When quoting NUL, omit extra characters if next
62796         character is not digit.  Alter prototype.
62797         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
62798         callers.
62799         * modules/quotearg-tests: New module.
62800         * tests/test-quotearg.c: New test.
62801
62802 2008-02-07  Eric Blake  <ebb9@byu.net>
62803
62804         Quotearg part 3: add flag to control outer quote elision.
62805         * lib/quotearg.h (c_maybe_quoting_style): New style.
62806         (enum quoting_flags): Better documentation of flags.
62807         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
62808         c-maybe style.
62809         (quotearg_buffer_restyled): Handle new flag to elide outer
62810         quotes.
62811
62812         Quotearg part 2: add flag that can control NUL elision.
62813         * lib/quotearg.h (set_quoting_flags): New prototype.
62814         * lib/quotearg.c (struct quoting_options): Add flag field.
62815         (set_quoting_flags): New function.
62816         (quotearg_buffer_restyled): Add flags parameter.
62817         (quotearg_alloc_mem): Set the flag if length cannot be returned.
62818         (quotearg_n_options): Set the flag, since length cannot be
62819         returned.
62820         (quoting_options_from_style): Default flags correctly.
62821
62822         Quotearg part 1: more wrappers, restore quotearg_char state.
62823         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
62824         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
62825         (quotearg_colon_mem): New wrappers.
62826         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
62827         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
62828         functions.
62829         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
62830         (quotearg_colon_mem): New functions.
62831
62832 2008-02-11  Bruno Haible  <bruno@clisp.org>
62833
62834         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
62835         library in the current directory: it does not work with parallel make.
62836         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62837
62838 2008-02-11  Bruno Haible  <bruno@clisp.org>
62839
62840         * .gitattributes: New file.
62841
62842 2008-02-11  Jim Meyering  <meyering@redhat.com>
62843
62844         useless-if-before-free: Fix reversed exit values.
62845         * build-aux/useless-if-before-free: Use correct values
62846         for EXIT_MATCH and EXIT_NO_MATCH.
62847
62848         * build-aux/useless-if-before-free: Close stdout carefully.
62849
62850 2008-02-10  Bruno Haible  <bruno@clisp.org>
62851
62852         New module 'git-merge-changelog'.
62853         * modules/git-merge-changelog: New file.
62854         * lib/git-merge-changelog.c: New file.
62855
62856 2008-02-10  Jim Meyering  <meyering@redhat.com>
62857
62858         useless-if-before-free: New option: --list (-l).
62859
62860         useless-if-before-free: Don't exit immediately upon open failure.
62861         * build-aux/useless-if-before-free: Exit 2 for errors.
62862         Upon failure to open a file, don't exit immediately.
62863         Rather, just warn and continue with any remaining files.
62864
62865 2008-02-10  Bruno Haible  <bruno@clisp.org>
62866
62867         New abstract list operation 'node_set_value'.
62868         * lib/gl_list.h (gl_list_node_set_value): New function.
62869         (struct gl_list_implementation): New field node_set_value.
62870         * lib/gl_list.c (gl_list_node_set_value): New function.
62871         * lib/gl_array_list.c (gl_array_node_set_value): New function.
62872         (gl_array_list_implementation): Update.
62873         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
62874         (gl_carray_list_implementation): Update.
62875         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
62876         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62877         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62878         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
62879         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62880         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62881         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62882         Update.
62883         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
62884         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
62885         (gl_sublist_list_implementation): Update.
62886
62887 2008-02-10  Bruno Haible  <bruno@clisp.org>
62888
62889         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
62890         Needed when ELEMENT is #defined to 'some_type *'.
62891
62892 2008-02-10  Jim Meyering  <meyering@redhat.com>
62893
62894         New script and module: useless-if-before-free
62895         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
62896         * build-aux/useless-if-before-free: New file.
62897         * modules/useless-if-before-free: New file.
62898
62899         * build-aux/gitlog-to-changelog: Use committer date, not author date.
62900
62901         xstrtol_error: Fix typo.
62902         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
62903         s/exit_failure/exit_status/.
62904
62905 2008-02-09  Jim Meyering  <meyering@redhat.com>
62906
62907         New script and module: gitlog-to-changelog
62908         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
62909         * modules/gitlog-to-changelog: New file.
62910         * build-aux/gitlog-to-changelog: New file.
62911
62912 2008-02-08  Jim Meyering  <meyering@redhat.com>
62913
62914         Avoid two "parameter unused" warnings.
62915         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
62916         Mark "st" as used.
62917
62918         Use "git COMMAND", not "git-COMMAND".
62919         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
62920         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
62921         * build-aux/git-version-gen: Use "git status", not "git-status".
62922
62923 2008-02-07  Bruno Haible  <bruno@clisp.org>
62924
62925         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
62926         Avoids a crash on Windows Vista.
62927         Reported by Adam Strzelecki <ono@java.pl> via
62928         Simon Josefsson <simon@josefsson.org>.
62929
62930 2008-02-06  Bruno Haible  <bruno@clisp.org>
62931
62932         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
62933         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
62934         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
62935         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
62936         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
62937         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62938         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
62939         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
62940         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62941         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62942         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62943         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62944         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62945         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62946         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62947         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
62948         left-adjust flag.
62949         * tests/test-snprintf-posix.h (test_function): Likewise.
62950         * tests/test-sprintf-posix.h (test_function): Likewise.
62951         * tests/test-vasprintf-posix.c (test_function): Likewise.
62952         * doc/posix-functions/fprintf.texi: Update.
62953         * doc/posix-functions/printf.texi: Update.
62954         * doc/posix-functions/snprintf.texi: Update.
62955         * doc/posix-functions/sprintf.texi: Update.
62956         * doc/posix-functions/vfprintf.texi: Update.
62957         * doc/posix-functions/vprintf.texi: Update.
62958         * doc/posix-functions/vsnprintf.texi: Update.
62959         * doc/posix-functions/vsprintf.texi: Update.
62960         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62961
62962 2008-02-06  Bruno Haible  <bruno@clisp.org>
62963
62964         Fix bug introduced on 2008-01-26.
62965         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
62966
62967 2008-02-06  Bruno Haible  <bruno@clisp.org>
62968
62969         Fix bug introduced on 2007-06-10.
62970         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
62971         !NEED_PRINTF_FLAG_ZERO.
62972
62973 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
62974
62975         getloadavg: use libperfstat on AIX5
62976         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
62977
62978 2008-02-03  Bruno Haible  <bruno@clisp.org>
62979
62980         * lib/diffseq.h: Add comments about required #includes.
62981         Reported by Michael Biggs <gnulib@doubleplum.net>.
62982
62983 2008-02-01  Bruno Haible  <bruno@clisp.org>
62984
62985         * users.txt: Add gnuit.
62986
62987 2008-01-31  Bruno Haible  <bruno@clisp.org>
62988
62989         * lib/md4.c (set_uint32): Mark as inline.
62990         * lib/md5.c (set_uint32): Likewise.
62991         * lib/sha1.c (set_uint32): Likewise.
62992         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
62993         * m4/md5.m4 (gl_MD5): Likewise.
62994         * m4/sha1.m4 (gl_SHA1): Likewise.
62995
62996 2008-01-31  Jim Meyering  <meyering@redhat.com>
62997
62998         Use "sizeof VAR", rather than a literal "4".
62999         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
63000         * lib/md4.c (md4_read_ctx): Likewise.
63001         * lib/sha1.c (sha1_read_ctx): Likewise.
63002
63003 2008-01-31  Simon Josefsson  <simon@josefsson.org>
63004
63005         * tests/test-sha1.c: New file, based on test-md5.c.
63006
63007         * modules/crypto/sha1-tests: New file.
63008
63009 2008-01-31  Simon Josefsson  <simon@josefsson.org>
63010
63011         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
63012
63013 2008-01-31  Jim Meyering  <meyering@redhat.com>
63014
63015         Prefer "sizeof v" over the equivalent "4".
63016         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
63017         * lib/md5.c (set_uint32): Likewise.
63018         * lib/sha1.c (set_uint32): Likewise.
63019
63020 2008-01-31  Simon Josefsson  <simon@josefsson.org>
63021
63022         * lib/sha1.c (set_uint32): Mark function as static.
63023
63024 2008-01-31  Simon Josefsson  <simon@josefsson.org>
63025
63026         md2: clarify comments to say that alignment is not required.
63027         * lib/md2.h: Remove warning about alignment in comment.
63028         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
63029         never been required.
63030
63031 2008-01-31  Simon Josefsson  <simon@josefsson.org>
63032
63033         md4: adapt alignment constraint fix from sha1.
63034         * lib/md4.c (set_uint32): New function, from sha1.c
63035         (md4_read_ctx): Use it.
63036         (md4_finish_ctx): Doc fix.
63037         * lib/md4.h: Doc fix.
63038
63039 2008-01-31  Simon Josefsson  <simon@josefsson.org>
63040
63041         md5: adapt alignment constraint fix from sha1.
63042         * lib/md5.c (set_uint32): New function, from sha1.c
63043         (md5_read_ctx): Use it.
63044         (md5_finish_ctx): Doc fix.
63045         * lib/md5.h: Doc fix.
63046
63047 2008-01-30  Peter Palfrader  <weasel@debian.org>
63048
63049         sha1: remove the result buffer alignment constraint
63050         * lib/sha1.c (set_uint32): New function.
63051         (sha1_read_ctx): Rewrite to remove the result buffer alignment
63052         constraint.
63053         (sha1_finish_ctx): Remove comment warning about alignment constraint.
63054         * lib/sha1.h: Likewise.
63055
63056 2008-01-30  Andreas Schwab  <schwab@suse.de>
63057             Bruno Haible  <bruno@clisp.org>
63058
63059         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
63060         correct definition of LDBL_MIN_EXP.
63061
63062 2008-01-30  Karl Berry  <karl@gnu.org>
63063
63064         * config/srclist-update: try to preserve x bit on updates.
63065         * config/srclistvars.sh: update for karl.
63066
63067 2008-01-29  Jim Meyering  <meyering@redhat.com>
63068
63069         vasnprintf.c: Avoid warning about unused label
63070         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
63071         "overflow" label definition and associated code with the
63072         same cpp condition that guards the sole use of that label.
63073
63074 2008-01-26  Bruno Haible  <bruno@clisp.org>
63075
63076         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
63077         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
63078         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
63079         * lib/isnanl-nolibm.h (isnanl): Likewise.
63080         Reported by Paul Eggert <eggert@cs.ucla.edu>.
63081
63082 2008-01-26  Bruno Haible  <bruno@clisp.org>
63083
63084         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
63085         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
63086
63087 2008-01-26  Bruno Haible  <bruno@clisp.org>
63088
63089         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
63090         GCC >= 4.0 built-in.
63091         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
63092
63093 2008-01-26  Bruno Haible  <bruno@clisp.org>
63094
63095         Rename isnan, applicable to 'double' only, to isnand.
63096         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
63097         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
63098         (configure.ac): Update.
63099         (Include): Replace "isnan.h" with "isnand.h".
63100         * m4/isnand.m4: Renamed from m4/isnan.m4.
63101         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
63102         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
63103         instead of isnan.c.
63104         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
63105         instead of HAVE_ISNAN_IN_LIBC.
63106         (isnand): Renamed from isnan.
63107         * lib/isnand.c: New file.
63108         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
63109         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
63110         (Makefile.am): Update.
63111         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
63112         Include isnand.h instead of isnan.h.
63113         (main): Test isnand instead of isnan.
63114         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
63115         isnan-nolibm.
63116         * modules/frexp (Depends-on): Likewise.
63117         * modules/frexp-tests (Depends-on): Likewise.
63118         * modules/frexp-nolibm (Depends-on): Likewise.
63119         * modules/frexp-nolibm-tests (Depends-on): Likewise.
63120         * modules/isfinite (Depends-on): Likewise.
63121         * modules/round-tests (Depends-on): Likewise.
63122         * modules/signbit (Depends-on): Likewise.
63123         * modules/signbit-tests (Depends-on): Likewise.
63124         * modules/snprintf-posix (Depends-on): Likewise.
63125         * modules/sprintf-posix (Depends-on): Likewise.
63126         * modules/trunc-tests (Depends-on): Likewise.
63127         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
63128         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
63129         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
63130         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
63131         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
63132         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
63133         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
63134         * modules/vasnprintf-posix (Depends-on): Likewise.
63135         * modules/vasprintf-posix (Depends-on): Likewise.
63136         * modules/vfprintf-posix (Depends-on): Likewise.
63137         * modules/vsnprintf-posix (Depends-on): Likewise.
63138         * modules/vsprintf-posix (Depends-on): Likewise.
63139         * lib/frexp.c: Include isnand.h instead of isnan.h.
63140         (ISNAN): Set to isnand instead of isnan.
63141         * lib/isfinite.c: Include isnand.h instead of isnan.h.
63142         (gl_isfinited): Use isnand instead of isnan.
63143         * lib/signbitd.c: Include isnand.h instead of isnan.h.
63144         (gl_signbitd): Use isnand instead of isnan.
63145         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
63146         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
63147         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
63148         (main): Use isnand instead of isnan.
63149         * tests/test-round1.c: Include isnand.h.
63150         (main): Use isnand instead of isnan.
63151         * tests/test-round2.c: Include isnand.h instead of isnan.h.
63152         (ISNAN): Set to isnand instead of isnan.
63153         * tests/test-trunc1.c: Include isnand.h.
63154         (main): Use isnand instead of isnan.
63155         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
63156         (equal): Use isnand instead of isnan.
63157         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
63158         isnand-nolibm.
63159         * NEWS: Mention the change.
63160
63161 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
63162             Bruno Haible  <bruno@clisp.org>
63163
63164         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
63165         the GCC builtins for signbits are present and set
63166         REPLACE_SIGNBIT_USING_GCC if so.
63167         * lib/math.in.h (signbit): Define using GCC builtins if
63168         REPLACE_SIGNBIT_USING_GCC is set.
63169         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
63170         REPLACE_SIGNBIT_USING_GCC.
63171         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
63172
63173 2008-01-25  Jim Meyering  <meyering@redhat.com>
63174
63175         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
63176         * lib/poll.c: Include <config.h>, not "config.h".
63177         * tests/test-getaddrinfo.c: Likewise.
63178
63179 2008-01-25  Simon Josefsson  <simon@josefsson.org>
63180
63181         * modules/sockets-tests: New file.
63182
63183 2008-01-24  Simon Josefsson  <simon@josefsson.org>
63184
63185         * modules/sockets: New module, can be used to call WSA_Startup and
63186         WSA_Cleanup when needed.
63187
63188         * lib/sockets.h, lib/sockets.c: New files.
63189
63190         * m4/sockets.m4: New file.
63191
63192         * tests/test-sockets.c: New file.
63193
63194 2008-01-19  Bruno Haible  <bruno@clisp.org>
63195
63196         * doc/posix-headers: Renamed from doc/headers.
63197         * doc/posix-functions: Renamed from doc/functions.
63198         * doc/gnulib.texi: Update.
63199
63200 2008-01-19  Bruno Haible  <bruno@clisp.org>
63201
63202         * doc/glibc-functions/strcasestr.texi: Include contents of
63203         doc/functions/strcasestr.texi, fixing the list of platforms.
63204         * doc/functions/strcasestr.texi: Remove file.
63205
63206 2008-01-19  Bruno Haible  <bruno@clisp.org>
63207
63208         * doc/glibc-functions/memmem.texi: Include contents of
63209         doc/functions/memmem.texi.
63210         * doc/functions/memmem.texi: Remove file.
63211
63212 2008-01-18  Bruno Haible  <bruno@clisp.org>
63213
63214         * doc/glibc-functions/*.texi: New files.
63215         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
63216         to use the new files.
63217
63218 2008-01-17  Bruno Haible  <bruno@clisp.org>
63219
63220         * tests/test-gethostname.c (main): Fix printf statement.
63221
63222 2008-01-17  Simon Josefsson  <simon@josefsson.org>
63223
63224         * modules/gethostname-tests: New file.
63225
63226         * tests/test-gethostname.c: New file.
63227
63228 2008-01-17  Simon Josefsson  <simon@josefsson.org>
63229
63230         * lib/gethostname.c: Include string.h unconditionally, strncpy is
63231         used by the UNAME case.  Reported by Bruno Haible
63232         <bruno@clisp.org>.
63233
63234 2008-01-17  Eric Blake  <ebb9@byu.net>
63235
63236         Convert c-strcasestr to be more efficient.
63237         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
63238         (Depends-on): Add c-strcase, remove malloca, strnlen.
63239         * tests/test-c-strcasestr.c (main): Enhance test.
63240         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
63241
63242 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
63243
63244         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
63245         Use it in creating po/Makevars.
63246
63247 2008-01-15  Simon Josefsson  <simon@josefsson.org>
63248
63249         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
63250         Applications that requires it should initialize libgcrypt
63251         manually.
63252
63253 2008-01-16  Simon Josefsson  <simon@josefsson.org>
63254
63255         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
63256
63257 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
63258
63259         Fix problem with getdate on mingw32 reported by Simon Josefsson
63260         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
63261         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
63262         tzname", when deciding whether to declare tzname.
63263         * lib/strftime.c (tzname): Likewise.
63264
63265 2008-01-15  Bruno Haible  <bruno@clisp.org>
63266
63267         Work around a MacOS X 10.5 bug in frexpl().
63268         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
63269         * doc/functions/frexpl.texi: Document the bug.
63270         Reported by Elias Pipping <pipping@gentoo.org>.
63271
63272 2008-01-14  Eric Blake  <ebb9@byu.net>
63273
63274         Touch up previous patch.
63275         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
63276         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
63277
63278         Convert strcasestr module to use Two-Way algorithm.
63279         * modules/strcasestr-simple: New module, based on the old
63280         strcasestr, but with Two-Way rather than KMP.
63281         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
63282         * lib/string.in.h (rpl_strcasestr): Declare.
63283         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
63284         performance.
63285         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
63286         * modules/string (Makefile.am): Support strcasestr.
63287         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
63288         * modules/strcasestr-tests (Depends-on): Check for alarm.
63289         * tests/test-strcasestr.c: Augment test.
63290         * lib/str-two-way.h: Clean up stray macro.
63291         * NEWS: Document new module.
63292         * MODULES.html.sh (string handling): Likewise.
63293         * doc/functions/strcasestr.texi: New file.
63294         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
63295         here, since it is not a POSIX function.
63296
63297 2008-01-14  Colin Watson  <cjwatson@debian.org>
63298             Bruno Haible  <bruno@clisp.org>
63299
63300         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
63301         works fine; if not, set REPLACE_STRSIGNAL.
63302         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
63303         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63304         REPLACE_STRSIGNAL.
63305         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
63306         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
63307         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
63308
63309 2008-01-14  Bruno Haible  <bruno@clisp.org>
63310
63311         * modules/strsignal (Include): Change to <string.h>.
63312
63313 2008-01-14  Colin Watson  <cjwatson@debian.org>
63314
63315         * modules/argp (Notice): Add a notice recommending to change
63316         XGETTEXT_OPTIONS.
63317         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
63318
63319 2008-01-13  Colin Watson  <cjwatson@debian.org>
63320
63321         * modules/strsignal-tests: New file.
63322         * tests/test-strsignal.c: New file.
63323
63324         * lib/strsignal.c: New file, from glibc with modifications.
63325         * lib/siglist.h: New file, from glibc with modifications.
63326         * lib/string.in.h (strsignal): New declaration.
63327         * m4/strsignal.m4: New file.
63328         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63329         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
63330         * modules/strsignal: New file.
63331         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
63332         HAVE_DECL_STRSIGNAL.
63333
63334 2008-01-13  Bruno Haible  <bruno@clisp.org>
63335
63336         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
63337         locale encoding is not ASCII. Needed for OpenBSD 4.0.
63338         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
63339         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63340
63341 2008-01-13  Bruno Haible  <bruno@clisp.org>
63342
63343         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
63344         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
63345         * lib/argp.h (__attribute__): Likewise.
63346         * lib/c-stack.c (__attribute__): Likewise.
63347         * lib/error.h (__attribute__): Likewise.
63348         * lib/fts.c (__attribute__): Likewise.
63349         * lib/openat.h (__attribute__): Likewise.
63350         * lib/stdio.in.h (__attribute__): Likewise.
63351         * lib/string.in.h (__attribute__): Likewise.
63352         * lib/utimens.c (__attribute__): Likewise.
63353         * lib/vasnprintf.h (__attribute__): Likewise.
63354         * lib/xalloc.h (__attribute__): Likewise.
63355         * lib/xprintf.h (__attribute__): Likewise.
63356         * lib/xstrtol.h (__attribute__): Likewise.
63357         * lib/xvasprintf.h (__attribute__): Likewise.
63358
63359 2008-01-12  Bruno Haible  <bruno@clisp.org>
63360
63361         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
63362         * doc/glibc-headers/a.out.texi: New file.
63363         * doc/glibc-headers/aliases.texi: New file.
63364         * doc/glibc-headers/alloca.texi: New file.
63365         * doc/glibc-headers/ar.texi: New file.
63366         * doc/glibc-headers/argp.texi: New file.
63367         * doc/glibc-headers/argz.texi: New file.
63368         * doc/glibc-headers/byteswap.texi: New file.
63369         * doc/glibc-headers/crypt.texi: New file.
63370         * doc/glibc-headers/endian.texi: New file.
63371         * doc/glibc-headers/envz.texi: New file.
63372         * doc/glibc-headers/err.texi: New file.
63373         * doc/glibc-headers/error.texi: New file.
63374         * doc/glibc-headers/execinfo.texi: New file.
63375         * doc/glibc-headers/fpu_control.texi: New file.
63376         * doc/glibc-headers/fstab.texi: New file.
63377         * doc/glibc-headers/fts.texi: New file.
63378         * doc/glibc-headers/getopt.texi: New file.
63379         * doc/glibc-headers/ieee754.texi: New file.
63380         * doc/glibc-headers/ifaddrs.texi: New file.
63381         * doc/glibc-headers/libintl.texi: New file.
63382         * doc/glibc-headers/mcheck.texi: New file.
63383         * doc/glibc-headers/mntent.texi: New file.
63384         * doc/glibc-headers/obstack.texi: New file.
63385         * doc/glibc-headers/paths.texi: New file.
63386         * doc/glibc-headers/printf.texi: New file.
63387         * doc/glibc-headers/pty.texi: New file.
63388         * doc/glibc-headers/resolv.texi: New file.
63389         * doc/glibc-headers/shadow.texi: New file.
63390         * doc/glibc-headers/sysexits.texi: New file.
63391         * doc/glibc-headers/ttyent.texi: New file.
63392
63393 2008-01-12  Jim Meyering  <meyering@redhat.com>
63394
63395         announce-gen: emit Gnulib's git-based version string.
63396         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
63397         New option --gnulib-version=V, where V is expected to be
63398         the output of running git describe in the gnulib directory.
63399         (get_tool_versions): Request feedback on xdelta.  I suspect it's
63400         not useful, and plan to stop publishing an xdelta file with each
63401         coreutils release.
63402
63403         * build-aux/announce-gen: Also check for lzma-compressed files.
63404
63405 2008-01-11  Bruno Haible  <bruno@clisp.org>
63406
63407         * tests/test-memmem.c (main): Increase maximum allowed time.
63408         * tests/test-strstr.c (main): Likewise.
63409
63410 2008-01-11  Bruno Haible  <bruno@clisp.org>
63411
63412         * doc/functions/memmem.texi: Add more precisions about platforms.
63413         * doc/functions/strstr.texi: Likewise.
63414
63415 2008-01-10  Eric Blake  <ebb9@byu.net>
63416
63417         * m4/strstr.m4: Delete cruft from copy-n-paste.
63418         Reported by Bruno Haible.
63419
63420 2008-01-10  Bruno Haible  <bruno@clisp.org>
63421
63422         Make c-strstr rely on strstr.
63423         * lib/c-strstr.c: Don't include str-kmp.h.
63424         (c_strstr): Define in terms of strstr.
63425         * modules/c-strstr (Files): Remove lib/str-kmp.h.
63426         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
63427
63428 2008-01-10  Bruno Haible  <bruno@clisp.org>
63429
63430         * doc/gnulib.texi (String Functions in C Locale): New section.
63431         * doc/c-ctype.texi: New file.
63432         * doc/c-strcase.texi: New file.
63433         * doc/c-strcaseeq.texi: New file.
63434         * doc/c-strcasestr.texi: New file.
63435         * doc/c-strstr.texi: New file.
63436         * doc/c-strtod.texi: New file.
63437         * doc/c-strtold.texi: New file.
63438
63439 2008-01-10  Eric Blake  <ebb9@byu.net>
63440
63441         * lib/relocatable.h: Fix a comment.
63442
63443 2008-01-10  Eric Blake  <ebb9@byu.net>
63444
63445         Share two-way algorithm.
63446         * lib/str-two-way.h: New file, merged from...
63447         * lib/memmem.c: ...here...
63448         * lib/strstr.c: ...and here.
63449         * modules/memmem (Files): Use it.
63450         * modules/strstr (Files): Likewise.
63451
63452         Avoid quadratic strstr implementations.
63453         * lib/strstr.c: New file.
63454         * m4/strstr.m4: Likewise.
63455         * modules/strstr: Likewise.
63456         * modules/strstr-tests: Likewise.
63457         * tests/test-strstr.c: Likewise.
63458         * lib/string.in.h (rpl_strstr): Declare.
63459         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
63460         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
63461         * modules/string (Makefile.am): Likewise.
63462         * MODULES.html.sh (string handling): Mention new module.
63463         * doc/functions/strstr.texi (strstr): Document the bug.
63464
63465 2008-01-10  Bruno Haible  <bruno@clisp.org>
63466
63467         * lib/relocatable.h (relocate): State whether result is freshly
63468         allocated or not.
63469         * lib/relocatable.c (relocate): Return a freshly allocated string
63470         instead of a pointer to a privately held string.
63471         Reported by Sylvain Beucler <beuc@gnu.org>.
63472
63473 2008-01-10  Colin Watson  <cjwatson@debian.org>
63474
63475         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
63476         s/S_ISNLK/S_ISLNK/.
63477
63478 2008-01-09  Bruno Haible  <bruno@clisp.org>
63479
63480         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
63481         and other files.
63482         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
63483         if it's only a guess.
63484         * modules/memmem: Simplify by depending on memmem-simple.
63485
63486 2008-01-09  Bruno Haible  <bruno@clisp.org>
63487
63488         Work around OpenBSD 4.0 tdelete() bug.
63489         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
63490         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
63491         macros and don't redefine the enum values.
63492         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
63493         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
63494         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
63495
63496 2008-01-09  Bruno Haible  <bruno@clisp.org>
63497
63498         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
63499         (main): Don't perform the tests if setlocale did not install a UTF-8
63500         locale. Needed on OpenBSD 4.0.
63501         * modules/wcwidth-tests (Depends-on): Add localcharset.
63502
63503 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63504
63505         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
63506         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
63507         * NEWS: announce this.
63508         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
63509
63510 2008-01-09  Simon Josefsson  <simon@josefsson.org>
63511         and Eric Blake  <ebb9@byu.net>
63512
63513         Add memmem-simple module.
63514         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
63515         (gl_FUNC_MEMMEM): Separate performance from presence checks.
63516         * modules/memmem-simple: New file.
63517         * modules/memmem (Description): Tweak.
63518         * MODULES.html.sh (string handling): Mention new module.
63519         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
63520         addressed by memmem-simple.
63521         * NEWS: Document the difference.
63522
63523 2008-01-09  Eric Blake  <ebb9@byu.net>
63524
63525         Give gcc some memmem optimization hints.
63526         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
63527         (strcasestr): Declare as pure.
63528         * modules/memmem (Maintainer): Claim my implementation.
63529
63530 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63531
63532         Support AIX 6.1 and higher.
63533         * build-aux/config.libpath: Likewise.
63534         * build-aux/config.rpath: Likewise.
63535
63536 2008-01-08  Jim Meyering  <meyering@redhat.com>
63537             Bruno Haible  <bruno@clisp.org>
63538
63539         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
63540         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
63541         Reported by Peter Fales in
63542         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
63543
63544 2008-01-08  Bruno Haible  <bruno@clisp.org>
63545
63546         * modules/unictype/category-of (Depends-on): Add
63547         unictype/category-none.
63548         * modules/unictype/category-and-tests (Depends-on): Add
63549         unictype/category-{L,N,Lu,Nd}.
63550         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
63551         * modules/unictype/category-or-tests (Depends-on): Add
63552         unictype/category-{L,N}.
63553         * modules/unictype/category-name-tests (Depends-on): Add
63554         unictype/category-{Z,Nl}.
63555         Reported by Simon Josefsson.
63556
63557 2008-01-08  Bruno Haible  <bruno@clisp.org>
63558
63559         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
63560         convention better.
63561         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
63562         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
63563         Reported by Peter Miller <millerp@canb.auug.org.au>.
63564
63565 2008-01-08  Eric Blake  <ebb9@byu.net>
63566
63567         Rewrite memmem to guarantee linear complexity without malloc.
63568         * lib/memmem.c (memmem): Use Two-Way rather than
63569         Knuth-Morris-Pratt, to allow O(1) space usage.
63570         (critical_factorization, two_way_short_needle)
63571         (two_way_long_needle): New functions.
63572         (knuth_morris_pratt): Delete.
63573         * modules/memmem (Depends-on): No longer need malloca or stdbool.
63574         Add stdint.
63575         * tests/test-memmem.c (main): Add tests for periodic needle and
63576         sublinear performance.
63577         * doc/functions/memmem.texi (memmem): Document other deficiencies
63578         in cygwin and older glibc.
63579
63580 2008-01-08  Bruno Haible  <bruno@clisp.org>
63581
63582         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
63583         augmentation.
63584
63585 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
63586
63587         Add a configure time option: --disable-acl.
63588         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
63589         AC_ARG_ENABLE(acl).
63590
63591 2008-01-06  Simon Josefsson  <simon@josefsson.org>
63592
63593         * tests/test-localename.c: Don't include obsolete "setenv.h".
63594
63595         * modules/localename-tests (Depends-on): Need unsetenv.
63596
63597 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63598
63599         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
63600
63601 2008-01-06  Colin Watson  <cjwatson@debian.org>
63602
63603         * users.txt: Add man-db.
63604
63605 2008-01-07  Bruno Haible  <bruno@clisp.org>
63606
63607         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
63608         previous section name.
63609
63610 2008-01-07  Bruno Haible  <bruno@clisp.org>
63611
63612         * lib/progname.c (set_program_name): Don't strip off a leading
63613         "lt-" prefix outside a .libs directory.
63614         Suggested by Paul Eggert.
63615
63616 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
63617             Bruno Haible  <bruno@clisp.org>
63618
63619         Improve memory cleanup in 'relocatable' module.
63620         * lib/relocatable.h (compute_curr_prefix): Change return type to
63621         'char *'.
63622         * lib/relocatable.c (compute_curr_prefix): Change return type to
63623         'char *'. Free curr_installdir after use.
63624         (relocate): Free curr_prefix_better after use.
63625         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
63626
63627 2008-01-01  Bruno Haible  <bruno@clisp.org>
63628
63629         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
63630         failure on older glibc systems.
63631         Reported by Peter Fales <psfales@alcatel-lucent.com>.
63632
63633 2008-01-05  Eric Blake  <ebb9@byu.net>
63634
63635         Avoid quadratic system memmem.
63636         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
63637         Reported by Ralf Wildenhues.
63638
63639         Fix memmem test for mingw.
63640         * modules/memmem-tests (configure.ac): Check for alarm.
63641         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
63642         it.
63643         * doc/functions/memmem.texi: New file.
63644         * doc/gnulib.texi (Function Substitutes): Add memmem.
63645         Reported by Bruno Haible.
63646
63647 2008-01-04  Bruno Haible  <bruno@clisp.org>
63648
63649         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
63650         Require gl_HEADER_STRINGS_H_DEFAULTS, not
63651         gl_HEADER_STRING_H_DEFAULTS.
63652
63653 2008-01-04  Eric Blake  <ebb9@byu.net>
63654
63655         Shorten duration of memmem test.
63656         * tests/test-memmem.c (main): Use alarm to declare failure if test
63657         is taking too long.
63658         Reported by Ralf Wildenhues.
63659
63660 2007-12-21  Simon Josefsson  <simon@josefsson.org>
63661
63662         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
63663         string, needed by strerror.
63664
63665 2008-01-03  Colin Watson  <cjwatson@debian.org>
63666             Bruno Haible  <bruno@clisp.org>
63667
63668         * doc/gnulib-tool.texi (Localization): New section.
63669
63670 2008-01-02  Bruno Haible  <bruno@clisp.org>
63671
63672         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
63673         variables to 'unsigned char *' type.
63674         Reported by Paul Eggert.
63675
63676 2008-01-02  Jim Meyering  <jim@meyering.net>
63677
63678         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
63679
63680 2007-12-31  Jim Meyering  <jim@meyering.net>
63681
63682         Avoid use of private FTS type name.
63683         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
63684
63685 2007-12-30  Karl Berry  <karl@gnu.org>
63686
63687         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
63688         work around defect in Texinfo and/or the standalone Info browser.
63689
63690 2007-12-30  Bruno Haible  <bruno@clisp.org>
63691
63692         Unify 5 copies of the KMP code.
63693         * lib/str-kmp.h: New file.
63694         * lib/c-strcasestr.c: Include str-kmp.h.
63695         (knuth_morris_pratt): Remove function.
63696         (c_strcasestr): Update.
63697         * lib/c-strstr.c: Include str-kmp.h.
63698         (knuth_morris_pratt): Remove function.
63699         (c_strcasestr): Update.
63700         * lib/mbscasestr.c: Include str-kmp.h.
63701         (knuth_morris_pratt_unibyte): Remove function.
63702         * lib/mbsstr.c: Include str-kmp.h.
63703         (knuth_morris_pratt_unibyte): Remove function.
63704         * lib/strcasestr.c: Include str-kmp.h.
63705         (knuth_morris_pratt): Remove function.
63706         (strcasestr): Update.
63707         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
63708         * modules/c-strstr (Files): Likewise.
63709         * modules/mbscasestr (Files): Likewise.
63710         * modules/mbsstr (Files): Likewise.
63711         * modules/strcasestr (Files): Likewise.
63712         Suggested by Paul Eggert.
63713
63714 2007-12-30  Bruno Haible  <bruno@clisp.org>
63715
63716         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
63717         defined.
63718
63719 2007-12-30  Bruno Haible  <bruno@clisp.org>
63720
63721         * lib/xmalloca.h: Include xalloc.h.
63722         (xnmalloca): New macro.
63723
63724 2007-12-30  Bruno Haible  <bruno@clisp.org>
63725
63726         * lib/malloca.h (nmalloca): New macro.
63727         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
63728         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
63729         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
63730         knuth_morris_pratt_multibyte): Likewise.
63731         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
63732         knuth_morris_pratt_multibyte): Likewise.
63733         * lib/memmem.c (knuth_morris_pratt): Likewise.
63734         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
63735
63736 2007-12-25  Bruno Haible  <bruno@clisp.org>
63737
63738         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
63739         * lib/glob.c: Don't include openat.h.
63740         (link_exists2_p): Add back the code that deals with the
63741         !GLOB_ALTDIRFUNC case.
63742         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
63743         let it do the filename concatenation.
63744         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
63745         * modules/glob (Depends-on): Remove openat.
63746
63747 2007-12-31  Bruno Haible  <bruno@clisp.org>
63748
63749         * modules/dirfd (License): Change to LGPLv2+.
63750         Approved by Jim Meyering.
63751
63752 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
63753
63754         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
63755         when multiplying M by sizeof (size_t).
63756
63757 2007-12-10  Martin Lambers  <marlam@marlam.de>
63758
63759         Override getpagesize on mingw.
63760         * lib/getpagesize.c: New file.
63761         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
63762         * modules/getpagesize (Files): Add lib/getpagesize.c.
63763         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
63764         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63765         REPLACE_GETPAGESIZE.
63766         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
63767
63768 2007-12-25  Bruno Haible  <bruno@clisp.org>
63769
63770         * modules/localcharset (Notice): New field.
63771         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
63772         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
63773
63774 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
63775             Bruno Haible  <bruno@clisp.org>
63776
63777         Avoid using the syntax symbol() in formatted documentation.
63778         * MODULES.html.sh (func_module): When replacing symbol() with a
63779         hyperlink, remove the parentheses. Show an error if some remain.
63780         Recognize and render the '...' syntax.
63781         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
63782         Rework. Add paragraph about GCC's inlining.
63783         * doc/alloca.texi: Likewise.
63784         * doc/error.texi: Remove parentheses from symbol reference.
63785         * doc/gnulib-intro.texi: Likewise.
63786         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
63787         * modules/fnmatch (Description): Reword to say "the ... function".
63788         * modules/full-read (Description): Likewise.
63789         * modules/full-write (Description): Likewise.
63790         * modules/safe-read (Description): Likewise.
63791         * modules/safe-write (Description): Likewise.
63792         * modules/strchrnul (Description): Likewise.
63793         * modules/trim (Description): Likewise.
63794         * modules/error (Description): Remove parentheses from symbol
63795         references.
63796         * modules/verror (Description): Likewise.
63797         Reported by Karl Berry.
63798
63799 2007-12-25  Bruno Haible  <bruno@clisp.org>
63800
63801         Fixup after 2007-10-16 commit.
63802         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
63803
63804 2007-12-24  Bruno Haible  <bruno@clisp.org>
63805
63806         Make --enable-relocatable work with DESTDIR.
63807         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
63808         to compute installdir from destprog.
63809         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
63810         also set the RELOC_DESTDIR variable.
63811         Reported by Левашев Иван <octagram@bluebottle.com>.
63812
63813 2007-12-24  Bruno Haible  <bruno@clisp.org>
63814
63815         Fix link error due to xalloc_die().
63816         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
63817         of xreadlink.
63818         * lib/relocwrapper.c: Update comments.
63819         * build-aux/install-reloc: Remove xreadlink.c from file list.
63820         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
63821         xreadlink.c.
63822         Reported by Левашев Иван <octagram@bluebottle.com>.
63823
63824 2007-12-24  Bruno Haible  <bruno@clisp.org>
63825
63826         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
63827         * lib/setenv.h: Remove file.
63828         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
63829         lib/setenv.h.
63830         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
63831         (Depends-on): Add stdlib.
63832         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
63833         gl_FUNC_UNSETENV.
63834         (Include): Replace setenv.h with <stdlib.h>.
63835         * modules/unsetenv: New file.
63836         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
63837         * lib/unsetenv.c: Include <stdlib.h> first.
63838         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
63839         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
63840         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
63841         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
63842         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
63843         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63844         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
63845         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63846         * doc/functions/unsetenv.texi: Update.
63847         * modules/xsetenv (Depends-on): Add unsetenv.
63848         * modules/getdate (Depends-on): Likewise.
63849         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
63850         * lib/xsetenv.c: Don't include setenv.h.
63851         * lib/getdate.y: Likewise.
63852         * lib/relocwrapper.c: Likewise.
63853         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
63854         (Depends-on): Add stdlib.
63855         * NEWS: Mention the changes.
63856         Reported by Левашев Иван <octagram@bluebottle.com>.
63857
63858 2007-12-23  Bruno Haible  <bruno@clisp.org>
63859
63860         * lib/memmem.c (memmem): Use lowercase variable names. Tab
63861         indentation.
63862
63863 2007-12-23  Bruno Haible  <bruno@clisp.org>
63864
63865         * lib/c-strcasestr.c: Add more comments.
63866         * lib/c-strstr.c: Likewise.
63867         * lib/mbscasestr.c: Likewise.
63868         * lib/mbsstr.c: Likewise.
63869         * lib/strcasestr.c: Likewise.
63870         * lib/memmem.c: Likewise.
63871
63872 2007-12-23  Bruno Haible  <bruno@clisp.org>
63873
63874         * tests/test-memmem.c: Include <string.h> first.
63875
63876 2007-12-22  Bruno Haible  <bruno@clisp.org>
63877
63878         * gnulib-tool (func_create_testdir): Change $auxdir while generating
63879         the contents of $testsbase.
63880         Reported by Ralf Wildenhues.
63881
63882 2007-12-22  Bruno Haible  <bruno@clisp.org>
63883
63884         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
63885         two variables local_ldadd_before, local_ldadd_last.
63886
63887 2007-12-20  Eric Blake  <ebb9@byu.net>
63888
63889         Work around circular library issue when cross-compiling.
63890         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
63891         that progname.o does not need to pull in rpl_memcmp.
63892
63893 2007-12-19  Eric Blake  <ebb9@byu.net>
63894
63895         Fix memmem to avoid O(n^2) worst-case complexity.
63896         * lib/memmem.c (knuth_morris_pratt): New function.
63897         (memmem): Use it if first few naive iterations fail.
63898         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
63899         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
63900         * modules/memchr (License): Likewise.
63901         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
63902         malloca.
63903         * tests/test-memmem.c: Rewrite, borrowing ideas from
63904         test-mbsstr1.c; the old version wouldn't even compile!
63905         * modules/memmem-tests: New file.
63906         * lib/string.in.h (rpl_memmem): Add declaration.
63907         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
63908         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
63909         REPLACE_MEMMEM.
63910
63911 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63912
63913         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
63914         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
63915         before any system include files, and undef after them all.  This
63916         should fix a problem on VMS reported by John E. Malmberg in
63917         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
63918
63919 2007-12-17  Eric Blake  <ebb9@byu.net>
63920
63921         Revert addition of verify, for BSD/OS.
63922         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
63923         can't handle large files, for the sake of obsolete platforms.
63924         * modules/fseeko (Depends-on): Remove verify.
63925         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
63926         * doc/functions/ftello.texi (ftello): Likewise.
63927         * doc/functions/fgetpos.texi (fgetpos): Likewise.
63928         Reported by Larry Jones.
63929
63930 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
63931
63932         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
63933         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
63934
63935 2007-12-17  Jim Meyering  <meyering@redhat.com>
63936
63937         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
63938         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
63939         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
63940         * modules/getcwd (Depends-on): Add openat.
63941         Reported by Petr Salinger.
63942
63943 2007-12-17  Bruno Haible  <bruno@clisp.org>
63944
63945         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
63946         avoid a segmentation fault of the configure test on x86_64 systems.
63947
63948 2007-12-15  Jim Meyering  <meyering@redhat.com>
63949
63950         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
63951
63952 2007-12-13  Eric Blake  <ebb9@byu.net>
63953
63954         Another fseek test.
63955         * tests/test-fseek.c (main): Also test ungetc handling.
63956         * tests/test-fseeko.c (main): Likewise.
63957         * modules/fseeko (Depends-on): Add verify.
63958         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
63959         large.
63960         Reported by Larry Jones.
63961
63962         Fix fseeko on mingw.
63963         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
63964         seek.
63965
63966         Beef up fseek tests.
63967         * tests/test-fseek.c (main): Also test eof handling.
63968         * tests/test-fseeko.c (main): Likewise.
63969         Reported by Larry Jones.
63970
63971 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
63972
63973         Fix fseeko on BSD-based platforms.
63974         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
63975         successful seek.
63976
63977 2007-12-12  Eric Blake  <ebb9@byu.net>
63978
63979         Allow circular dependency of separate libtests.a
63980         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
63981         when use_libtests.
63982
63983 2007-12-11  Eric Blake  <ebb9@byu.net>
63984
63985         Fix bug with -0.0L in previous patch.
63986         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
63987         * tests/test-isnan.c (main): Also test on zeroes.
63988         * tests/test-isnanf.c (main): Likewise.
63989         * tests/test-isnanl.h (main): Likewise.
63990
63991         Detect pseudo-denormals on x86 even when cross-compiling.
63992         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
63993         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
63994         invalid bit patterns that happen to satisfy ==.
63995
63996         Avoid link failures with separate libtests.a.
63997         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
63998         last, to satisfy circular dependencies.
63999
64000 2007-12-11  Eric Blake  <ebb9@byu.net>
64001         and Bruno Haible  <bruno@clisp.org>
64002
64003         Fix OpenBSD 4.0 <float.h> handling of long double.
64004         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
64005         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
64006         * doc/headers/float.texi (float.h): Document OpenBSD bug.
64007
64008 2007-12-11  Jim Meyering  <meyering@redhat.com>
64009
64010         * users.txt: Add libvirt.
64011
64012         Support versions of autoconf prior to 2.59c.
64013         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
64014         if it is not already defined.
64015
64016 2007-12-09  Bruno Haible  <bruno@clisp.org>
64017
64018         Let 'gnulib-tool --import' collect sources needed for the tests in
64019         tests/ rather than in lib/.
64020         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
64021         argument. If true, add rules to generate libtests.a, and put libtests.a
64022         into $(LDADD). Consider source files in subdirectories and set
64023         uses_subdirs.
64024         (func_emit_initmacro_start, func_emit_initmacro_end,
64025         func_emit_initmacro_done): Pass all arguments explicitly.
64026         (func_import): Determine two module lists main_modules,
64027         testsrelated_modules. Determine use_libtests. Determine two variables
64028         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
64029         instead of just sed_transform_lib_file. Determine two variables
64030         main_files and testsrelated_files. Compute 'files' as the union of
64031         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
64032         func_add_or_update. In the generated gnulib-comp.m4, collect the
64033         object files for tests/ in different variables than those for lib/.
64034         Substitute LIBTESTS_LIBDEPS.
64035         (func_create_testdir): Combine the uses_subdirs results from
64036         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
64037
64038 2007-12-09  Bruno Haible  <bruno@clisp.org>
64039
64040         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
64041         the build-aux directory.
64042
64043 2007-12-09  Bruno Haible  <bruno@clisp.org>
64044
64045         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
64046         introduced on 2006-09-09.
64047
64048 2007-12-07  Jim Meyering  <meyering@redhat.com>
64049
64050         Let these macros work also with autoconf-2.59.
64051         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
64052         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
64053         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64054
64055 2007-12-06  Jim Meyering  <meyering@redhat.com>
64056
64057         Avoid a configure-time syntax error in gl_FUNC_ACL.
64058         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
64059         function in each branch, before testing the cache variable.
64060
64061 2007-12-04  Eric Blake  <ebb9@byu.net>
64062
64063         Make scripts executable.
64064         * build-aux/config.guess: Add execute permissions.
64065         * build-aux/config.sub: Likewise.
64066         * build-aux/gendocs.sh: Likewise.
64067
64068         Fix frexp on mingw.
64069         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
64070         cross-compiling.
64071         * doc/functions/frexp.texi (frexp): Document the bug.
64072
64073         Make cygwin fseeko check more reliable.
64074         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
64075         version numbers, rather than unrelated feature check.
64076         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
64077         * doc/functions/ftello.texi (ftello): Likewise.
64078         Reported by Bruno Haible.
64079
64080         * m4/strerror.m4: Bump version number.
64081
64082 2007-12-03  Bruno Haible  <bruno@clisp.org>
64083
64084         * doc/functions/mprotect.texi: Mention the mingw problem.
64085
64086 2007-12-03  Eric Blake  <ebb9@byu.net>
64087
64088         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
64089         REPLACE_STRERROR is initialized before this macro.
64090
64091 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
64092
64093         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
64094         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
64095         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
64096         put -lsec in even for programs other than 'ls'.  This fixes a problem
64097         for gettext reported by Bruno Haible in
64098         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
64099         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
64100         Add support for Solaris 10.  This isn't efficient, but should get the
64101         job done for now.
64102
64103 2007-12-03  James Youngman  <jay@gnu.org>
64104
64105         * doc/regexprops-generic.texi: change "an close-group" to "a
64106         close-group" and "illegal" to "not allowed".
64107
64108 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64109
64110         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
64111         pr_byname.h. Needed for the rare case when the maintainer has done
64112         "make maintainer-clean" in the source directory and then attempts a
64113         build outside the source directory.
64114         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
64115         scripts_byname.h.
64116
64117 2007-12-02  Martin Lambers <marlam@marlam.de>
64118             Bruno Haible  <bruno@clisp.org>
64119
64120         * lib/getpagesize.h: Remove file.
64121         * lib/unistd.in.h: Include declaration of getpagesize here.
64122         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
64123         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
64124         HAVE_SYS_PARAM_H.
64125         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
64126         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
64127         * modules/getpagesize (Files): Remove lib/getpagesize.h.
64128         (Depends-on): Add unistd.
64129         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64130         (Include): Use <unistd.h> instead of getpagesize.h.
64131         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
64132         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
64133         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
64134         gl_GETPAGESIZE invocation, already handled by module dependency.
64135         * lib/pagealign_alloc.c: Don't include getpagesize.h.
64136
64137 2007-12-02  Bruno Haible  <bruno@clisp.org>
64138
64139         * modules/strings-tests: New file.
64140         * tests/test-strings.c: New file.
64141
64142         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
64143         * lib/strings.in.h: New file.
64144         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
64145         * m4/strings_h.m4: New file.
64146         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
64147         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
64148         * modules/strings: New file.
64149         * modules/string (Makefile.am): Update.
64150         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
64151         Reported by Karl Berry.
64152
64153 2007-12-01  Eric Blake  <ebb9@byu.net>
64154
64155         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
64156         accommodate fix in cygwin 1.5.25.
64157
64158 2007-12-01  Jim Meyering  <meyering@redhat.com>
64159
64160         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
64161         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
64162         that would inhibit utf8-optimization of a regexp containing line-
64163         or buffer-anchors, e.g., `^', `$'.
64164
64165 2007-11-30  Bruno Haible  <bruno@clisp.org>
64166
64167         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
64168         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
64169         glthread_recursive_lock_init.
64170         * lib/lock.c (glthread_recursive_lock_init)
64171         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
64172         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
64173
64174 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
64175
64176         New function qset_acl, like set_acl but with syscall semantics.
64177         * lib/acl.h (qset_acl): New decl.
64178         * lib/acl.c (qset_acl): New function.
64179         (set_acl): Use new function.  Use more-consistent diagnostics.
64180
64181 2007-11-28  Jim Meyering  <meyering@redhat.com>
64182
64183         * modules/physmem (License): Change from GPL to LGPLv2+.
64184
64185 2007-11-26  Bruno Haible  <bruno@clisp.org>
64186
64187         * lib/vasnprintf.c (decode_long_double): Don't abort if the
64188         'long double' type has excess precision.
64189         Reported by Jim Meyering in
64190         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
64191
64192 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64193
64194         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
64195         Sync from <http://gnu.org/licenses>.
64196         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
64197         with license text from same location.
64198         * doc/maintain.texi, doc/standards.texi:  Sync from
64199         <http://savannah.gnu.org/projects/gnustandards>.
64200
64201 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
64202         and Jim Meyering  <meyering@redhat.com>
64203
64204         Adjust getdate' grammar to accept a slightly more regular language.
64205         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
64206         Before, the former was rejected.
64207         * lib/getdate.y (digits_to_date_time): New function, factored
64208         out of ...
64209         (number): ...here.  Just call digits_to_date_time.
64210         (hybrid): New non-terminal to handle an <unsigned number,
64211         signed relative offset> sequence consistently.
64212
64213 2007-11-18  Jim Meyering  <meyering@redhat.com>
64214
64215         Pull my changes from coreutils:
64216         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
64217         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
64218         use of $gnulib_tool_option_extras, so that it's separated from the
64219         preceding argument.
64220
64221         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
64222         * build-aux/bootstrap (cp_mark_as_generated): Create any required
64223         parent destination directories before copying a file into place.
64224
64225 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
64226
64227         bootstrap: work also with 4-argument variant of AC_INIT
64228         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
64229
64230 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
64231
64232         Port test-getaddrinfo to Solaris.
64233         Problem reported by Bruno Haible in
64234         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
64235         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
64236         explanation of setting 'hints'.
64237         Don't reject an implementation merely because it returns EAI_SERVICE.
64238         (EAI_SERVICE): Define to 0 if not defined.
64239
64240 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
64241
64242         The license of gnu-make and posix-shell is now "GPLed build tool".
64243         * modules/gnu-make (License): Likewise.
64244         * modules/posix-shell (License): Likewise.
64245
64246         New module posix-shell, for determining a POSIX shell
64247         or perhaps something that is close enough to a POSIX shell.
64248         * m4/posix-shell.m4: New file.
64249         * modules/posix-shell: New file.
64250
64251         * MODULES.html.sh: Mention new module.
64252
64253         New module gnu-make, for determining whether we're using GNU Make.
64254         * m4/gnu-make.m4: New file.
64255         * modules/gnu-make: New file.
64256         * MODULES.html.sh: Mention new module.
64257
64258 2007-11-14  Jim Meyering  <meyering@redhat.com>
64259
64260         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
64261         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
64262         use this macro to create a function _definition_.
64263         Remove useless "#undef ARGMATCH_DIE".
64264
64265 2007-11-14  Bruno Haible  <bruno@clisp.org>
64266
64267         * lib/config.charset: Update for OpenBSD 4.1.
64268         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
64269
64270 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
64271
64272         Document 64-bit #if problems in stdint.texi.
64273         * doc/headers/stdint.texi (stdint.h): Mention problems with
64274         64-bit-#if, and how to work around them.
64275
64276         Don't insist on 'long long int' support in the preprocessor.  It
64277         breaks too many things.  For example, PRIdMAX still uses a 'long
64278         long int' format with the latest Sun compiler, even though
64279         HAVE_LONG_LONG_INT isn't defined due to that compiler's
64280         preprocessor problem.  This causes the latest coreutils to dump
64281         core on Solaris 10 sparc with the Sun C compiler.
64282         Instead, fix the 2007-10-16 problem in a different way, by evaluating
64283         the troublesome expressions at configure-time, not at #if-time.
64284         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
64285         preprocessor.
64286         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
64287         compile-time C checks, done at 'configure'-time.
64288         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
64289         * modules/inttypes (Makefile): Substitute the new symbols that
64290         gl_INTTYPES_H now generates.
64291         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
64292
64293 2007-11-12  Bruno Haible  <bruno@clisp.org>
64294
64295         Tests for Unicode character classification functions.
64296
64297         * modules/unictype/bidicategory-byname-tests: New file.
64298         * modules/unictype/bidicategory-name-tests: New file.
64299         * modules/unictype/bidicategory-of-tests: New file.
64300         * modules/unictype/bidicategory-test-tests: New file.
64301         * modules/unictype/block-list-tests: New file.
64302         * modules/unictype/block-of-tests: New file.
64303         * modules/unictype/block-test-tests: New file.
64304         * modules/unictype/category-C-tests: New file.
64305         * modules/unictype/category-Cc-tests: New file.
64306         * modules/unictype/category-Cf-tests: New file.
64307         * modules/unictype/category-Cn-tests: New file.
64308         * modules/unictype/category-Co-tests: New file.
64309         * modules/unictype/category-Cs-tests: New file.
64310         * modules/unictype/category-L-tests: New file.
64311         * modules/unictype/category-Ll-tests: New file.
64312         * modules/unictype/category-Lm-tests: New file.
64313         * modules/unictype/category-Lo-tests: New file.
64314         * modules/unictype/category-Lt-tests: New file.
64315         * modules/unictype/category-Lu-tests: New file.
64316         * modules/unictype/category-M-tests: New file.
64317         * modules/unictype/category-Mc-tests: New file.
64318         * modules/unictype/category-Me-tests: New file.
64319         * modules/unictype/category-Mn-tests: New file.
64320         * modules/unictype/category-N-tests: New file.
64321         * modules/unictype/category-Nd-tests: New file.
64322         * modules/unictype/category-Nl-tests: New file.
64323         * modules/unictype/category-No-tests: New file.
64324         * modules/unictype/category-P-tests: New file.
64325         * modules/unictype/category-Pc-tests: New file.
64326         * modules/unictype/category-Pd-tests: New file.
64327         * modules/unictype/category-Pe-tests: New file.
64328         * modules/unictype/category-Pf-tests: New file.
64329         * modules/unictype/category-Pi-tests: New file.
64330         * modules/unictype/category-Po-tests: New file.
64331         * modules/unictype/category-Ps-tests: New file.
64332         * modules/unictype/category-S-tests: New file.
64333         * modules/unictype/category-Sc-tests: New file.
64334         * modules/unictype/category-Sk-tests: New file.
64335         * modules/unictype/category-Sm-tests: New file.
64336         * modules/unictype/category-So-tests: New file.
64337         * modules/unictype/category-Z-tests: New file.
64338         * modules/unictype/category-Zl-tests: New file.
64339         * modules/unictype/category-Zp-tests: New file.
64340         * modules/unictype/category-Zs-tests: New file.
64341         * modules/unictype/category-and-not-tests: New file.
64342         * modules/unictype/category-and-tests: New file.
64343         * modules/unictype/category-byname-tests: New file.
64344         * modules/unictype/category-name-tests: New file.
64345         * modules/unictype/category-none-tests: New file.
64346         * modules/unictype/category-of-tests: New file.
64347         * modules/unictype/category-or-tests: New file.
64348         * modules/unictype/category-test-withtable-tests: New file.
64349         * modules/unictype/combining-class-tests: New file.
64350         * modules/unictype/ctype-alnum-tests: New file.
64351         * modules/unictype/ctype-alpha-tests: New file.
64352         * modules/unictype/ctype-blank-tests: New file.
64353         * modules/unictype/ctype-cntrl-tests: New file.
64354         * modules/unictype/ctype-digit-tests: New file.
64355         * modules/unictype/ctype-graph-tests: New file.
64356         * modules/unictype/ctype-lower-tests: New file.
64357         * modules/unictype/ctype-print-tests: New file.
64358         * modules/unictype/ctype-punct-tests: New file.
64359         * modules/unictype/ctype-space-tests: New file.
64360         * modules/unictype/ctype-upper-tests: New file.
64361         * modules/unictype/ctype-xdigit-tests: New file.
64362         * modules/unictype/decimal-digit-tests: New file.
64363         * modules/unictype/digit-tests: New file.
64364         * modules/unictype/mirror-tests: New file.
64365         * modules/unictype/numeric-tests: New file.
64366         * modules/unictype/property-alphabetic-tests: New file.
64367         * modules/unictype/property-ascii-hex-digit-tests: New file.
64368         * modules/unictype/property-bidi-arabic-digit-tests: New file.
64369         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
64370         * modules/unictype/property-bidi-block-separator-tests: New file.
64371         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
64372         * modules/unictype/property-bidi-common-separator-tests: New file.
64373         * modules/unictype/property-bidi-control-tests: New file.
64374         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
64375         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
64376         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
64377         * modules/unictype/property-bidi-european-digit-tests: New file.
64378         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
64379         * modules/unictype/property-bidi-left-to-right-tests: New file.
64380         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
64381         * modules/unictype/property-bidi-other-neutral-tests: New file.
64382         * modules/unictype/property-bidi-pdf-tests: New file.
64383         * modules/unictype/property-bidi-segment-separator-tests: New file.
64384         * modules/unictype/property-bidi-whitespace-tests: New file.
64385         * modules/unictype/property-byname-tests: New file.
64386         * modules/unictype/property-combining-tests: New file.
64387         * modules/unictype/property-composite-tests: New file.
64388         * modules/unictype/property-currency-symbol-tests: New file.
64389         * modules/unictype/property-dash-tests: New file.
64390         * modules/unictype/property-decimal-digit-tests: New file.
64391         * modules/unictype/property-default-ignorable-code-point-tests: New file.
64392         * modules/unictype/property-deprecated-tests: New file.
64393         * modules/unictype/property-diacritic-tests: New file.
64394         * modules/unictype/property-extender-tests: New file.
64395         * modules/unictype/property-format-control-tests: New file.
64396         * modules/unictype/property-grapheme-base-tests: New file.
64397         * modules/unictype/property-grapheme-extend-tests: New file.
64398         * modules/unictype/property-grapheme-link-tests: New file.
64399         * modules/unictype/property-hex-digit-tests: New file.
64400         * modules/unictype/property-hyphen-tests: New file.
64401         * modules/unictype/property-id-continue-tests: New file.
64402         * modules/unictype/property-id-start-tests: New file.
64403         * modules/unictype/property-ideographic-tests: New file.
64404         * modules/unictype/property-ids-binary-operator-tests: New file.
64405         * modules/unictype/property-ids-trinary-operator-tests: New file.
64406         * modules/unictype/property-ignorable-control-tests: New file.
64407         * modules/unictype/property-iso-control-tests: New file.
64408         * modules/unictype/property-join-control-tests: New file.
64409         * modules/unictype/property-left-of-pair-tests: New file.
64410         * modules/unictype/property-line-separator-tests: New file.
64411         * modules/unictype/property-logical-order-exception-tests: New file.
64412         * modules/unictype/property-lowercase-tests: New file.
64413         * modules/unictype/property-math-tests: New file.
64414         * modules/unictype/property-non-break-tests: New file.
64415         * modules/unictype/property-not-a-character-tests: New file.
64416         * modules/unictype/property-numeric-tests: New file.
64417         * modules/unictype/property-other-alphabetic-tests: New file.
64418         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
64419         * modules/unictype/property-other-grapheme-extend-tests: New file.
64420         * modules/unictype/property-other-id-continue-tests: New file.
64421         * modules/unictype/property-other-id-start-tests: New file.
64422         * modules/unictype/property-other-lowercase-tests: New file.
64423         * modules/unictype/property-other-math-tests: New file.
64424         * modules/unictype/property-other-uppercase-tests: New file.
64425         * modules/unictype/property-paired-punctuation-tests: New file.
64426         * modules/unictype/property-paragraph-separator-tests: New file.
64427         * modules/unictype/property-pattern-syntax-tests: New file.
64428         * modules/unictype/property-pattern-white-space-tests: New file.
64429         * modules/unictype/property-private-use-tests: New file.
64430         * modules/unictype/property-punctuation-tests: New file.
64431         * modules/unictype/property-quotation-mark-tests: New file.
64432         * modules/unictype/property-radical-tests: New file.
64433         * modules/unictype/property-sentence-terminal-tests: New file.
64434         * modules/unictype/property-soft-dotted-tests: New file.
64435         * modules/unictype/property-space-tests: New file.
64436         * modules/unictype/property-terminal-punctuation-tests: New file.
64437         * modules/unictype/property-test-tests: New file.
64438         * modules/unictype/property-titlecase-tests: New file.
64439         * modules/unictype/property-unassigned-code-value-tests: New file.
64440         * modules/unictype/property-unified-ideograph-tests: New file.
64441         * modules/unictype/property-uppercase-tests: New file.
64442         * modules/unictype/property-variation-selector-tests: New file.
64443         * modules/unictype/property-white-space-tests: New file.
64444         * modules/unictype/property-xid-continue-tests: New file.
64445         * modules/unictype/property-xid-start-tests: New file.
64446         * modules/unictype/property-zero-width-tests: New file.
64447         * modules/unictype/scripts-tests: New file.
64448         * modules/unictype/syntax-c-ident-tests: New file.
64449         * modules/unictype/syntax-c-whitespace-tests: New file.
64450         * modules/unictype/syntax-java-ident-tests: New file.
64451         * modules/unictype/syntax-java-whitespace-tests: New file.
64452         * tests/unictype/test-bidi_byname.c: New file.
64453         * tests/unictype/test-bidi_name.c: New file.
64454         * tests/unictype/test-bidi_of.c: New file.
64455         * tests/unictype/test-bidi_test.c: New file.
64456         * tests/unictype/test-block_list.c: New file.
64457         * tests/unictype/test-block_of.c: New file.
64458         * tests/unictype/test-block_test.c: New file.
64459         * tests/unictype/test-categ_and.c: New file.
64460         * tests/unictype/test-categ_and_not.c: New file.
64461         * tests/unictype/test-categ_byname.c: New file.
64462         * tests/unictype/test-categ_name.c: New file.
64463         * tests/unictype/test-categ_none.c: New file.
64464         * tests/unictype/test-categ_of.c: New file.
64465         * tests/unictype/test-categ_or.c: New file.
64466         * tests/unictype/test-categ_test_withtable.c: New file.
64467         * tests/unictype/test-combining.c: New file.
64468         * tests/unictype/test-decdigit.c: New file.
64469         * tests/unictype/test-digit.c: New file.
64470         * tests/unictype/test-mirror.c: New file.
64471         * tests/unictype/test-numeric.c: New file.
64472         * tests/unictype/test-pr_byname.c: New file.
64473         * tests/unictype/test-pr_test.c: New file.
64474         * tests/unictype/test-predicate-part1.h: New file.
64475         * tests/unictype/test-predicate-part2.h: New file.
64476         * tests/unictype/test-scripts.c: New file.
64477         * tests/unictype/test-sy_c_ident.c: New file.
64478         * tests/unictype/test-sy_java_ident.c: New file.
64479
64480         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
64481         for Unicode 5.0.0.
64482         * tests/unictype/test-categ_Cc.c: Likewise.
64483         * tests/unictype/test-categ_Cf.c: Likewise.
64484         * tests/unictype/test-categ_Cn.c: Likewise.
64485         * tests/unictype/test-categ_Co.c: Likewise.
64486         * tests/unictype/test-categ_Cs.c: Likewise.
64487         * tests/unictype/test-categ_L.c: Likewise.
64488         * tests/unictype/test-categ_Ll.c: Likewise.
64489         * tests/unictype/test-categ_Lm.c: Likewise.
64490         * tests/unictype/test-categ_Lo.c: Likewise.
64491         * tests/unictype/test-categ_Lt.c: Likewise.
64492         * tests/unictype/test-categ_Lu.c: Likewise.
64493         * tests/unictype/test-categ_M.c: Likewise.
64494         * tests/unictype/test-categ_Mc.c: Likewise.
64495         * tests/unictype/test-categ_Me.c: Likewise.
64496         * tests/unictype/test-categ_Mn.c: Likewise.
64497         * tests/unictype/test-categ_N.c: Likewise.
64498         * tests/unictype/test-categ_Nd.c: Likewise.
64499         * tests/unictype/test-categ_Nl.c: Likewise.
64500         * tests/unictype/test-categ_No.c: Likewise.
64501         * tests/unictype/test-categ_P.c: Likewise.
64502         * tests/unictype/test-categ_Pc.c: Likewise.
64503         * tests/unictype/test-categ_Pd.c: Likewise.
64504         * tests/unictype/test-categ_Pe.c: Likewise.
64505         * tests/unictype/test-categ_Pf.c: Likewise.
64506         * tests/unictype/test-categ_Pi.c: Likewise.
64507         * tests/unictype/test-categ_Po.c: Likewise.
64508         * tests/unictype/test-categ_Ps.c: Likewise.
64509         * tests/unictype/test-categ_S.c: Likewise.
64510         * tests/unictype/test-categ_Sc.c: Likewise.
64511         * tests/unictype/test-categ_Sk.c: Likewise.
64512         * tests/unictype/test-categ_Sm.c: Likewise.
64513         * tests/unictype/test-categ_So.c: Likewise.
64514         * tests/unictype/test-categ_Z.c: Likewise.
64515         * tests/unictype/test-categ_Zl.c: Likewise.
64516         * tests/unictype/test-categ_Zp.c: Likewise.
64517         * tests/unictype/test-categ_Zs.c: Likewise.
64518         * tests/unictype/test-ctype_alnum.c: Likewise.
64519         * tests/unictype/test-ctype_alpha.c: Likewise.
64520         * tests/unictype/test-ctype_blank.c: Likewise.
64521         * tests/unictype/test-ctype_cntrl.c: Likewise.
64522         * tests/unictype/test-ctype_digit.c: Likewise.
64523         * tests/unictype/test-ctype_graph.c: Likewise.
64524         * tests/unictype/test-ctype_lower.c: Likewise.
64525         * tests/unictype/test-ctype_print.c: Likewise.
64526         * tests/unictype/test-ctype_punct.c: Likewise.
64527         * tests/unictype/test-ctype_space.c: Likewise.
64528         * tests/unictype/test-ctype_upper.c: Likewise.
64529         * tests/unictype/test-ctype_xdigit.c: Likewise.
64530         * tests/unictype/test-decdigit.h: Likewise.
64531         * tests/unictype/test-digit.h: Likewise.
64532         * tests/unictype/test-numeric.h: Likewise.
64533         * tests/unictype/test-pr_alphabetic.c: Likewise.
64534         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
64535         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
64536         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
64537         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
64538         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
64539         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
64540         * tests/unictype/test-pr_bidi_control.c: Likewise.
64541         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
64542         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
64543         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
64544         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
64545         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
64546         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
64547         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
64548         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
64549         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
64550         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
64551         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
64552         * tests/unictype/test-pr_combining.c: Likewise.
64553         * tests/unictype/test-pr_composite.c: Likewise.
64554         * tests/unictype/test-pr_currency_symbol.c: Likewise.
64555         * tests/unictype/test-pr_dash.c: Likewise.
64556         * tests/unictype/test-pr_decimal_digit.c: Likewise.
64557         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
64558         * tests/unictype/test-pr_deprecated.c: Likewise.
64559         * tests/unictype/test-pr_diacritic.c: Likewise.
64560         * tests/unictype/test-pr_extender.c: Likewise.
64561         * tests/unictype/test-pr_format_control.c: Likewise.
64562         * tests/unictype/test-pr_grapheme_base.c: Likewise.
64563         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
64564         * tests/unictype/test-pr_grapheme_link.c: Likewise.
64565         * tests/unictype/test-pr_hex_digit.c: Likewise.
64566         * tests/unictype/test-pr_hyphen.c: Likewise.
64567         * tests/unictype/test-pr_id_continue.c: Likewise.
64568         * tests/unictype/test-pr_id_start.c: Likewise.
64569         * tests/unictype/test-pr_ideographic.c: Likewise.
64570         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
64571         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
64572         * tests/unictype/test-pr_ignorable_control.c: Likewise.
64573         * tests/unictype/test-pr_iso_control.c: Likewise.
64574         * tests/unictype/test-pr_join_control.c: Likewise.
64575         * tests/unictype/test-pr_left_of_pair.c: Likewise.
64576         * tests/unictype/test-pr_line_separator.c: Likewise.
64577         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
64578         * tests/unictype/test-pr_lowercase.c: Likewise.
64579         * tests/unictype/test-pr_math.c: Likewise.
64580         * tests/unictype/test-pr_non_break.c: Likewise.
64581         * tests/unictype/test-pr_not_a_character.c: Likewise.
64582         * tests/unictype/test-pr_numeric.c: Likewise.
64583         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
64584         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
64585         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
64586         * tests/unictype/test-pr_other_id_continue.c: Likewise.
64587         * tests/unictype/test-pr_other_id_start.c: Likewise.
64588         * tests/unictype/test-pr_other_lowercase.c: Likewise.
64589         * tests/unictype/test-pr_other_math.c: Likewise.
64590         * tests/unictype/test-pr_other_uppercase.c: Likewise.
64591         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
64592         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
64593         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
64594         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
64595         * tests/unictype/test-pr_private_use.c: Likewise.
64596         * tests/unictype/test-pr_punctuation.c: Likewise.
64597         * tests/unictype/test-pr_quotation_mark.c: Likewise.
64598         * tests/unictype/test-pr_radical.c: Likewise.
64599         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
64600         * tests/unictype/test-pr_soft_dotted.c: Likewise.
64601         * tests/unictype/test-pr_space.c: Likewise.
64602         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
64603         * tests/unictype/test-pr_titlecase.c: Likewise.
64604         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
64605         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
64606         * tests/unictype/test-pr_uppercase.c: Likewise.
64607         * tests/unictype/test-pr_variation_selector.c: Likewise.
64608         * tests/unictype/test-pr_white_space.c: Likewise.
64609         * tests/unictype/test-pr_xid_continue.c: Likewise.
64610         * tests/unictype/test-pr_xid_start.c: Likewise.
64611         * tests/unictype/test-pr_zero_width.c: Likewise.
64612         * tests/unictype/test-sy_c_whitespace.c: Likewise.
64613         * tests/unictype/test-sy_java_whitespace.c: Likewise.
64614
64615 2007-11-12  Bruno Haible  <bruno@clisp.org>
64616
64617         Unicode character classification functions.
64618         * lib/unictype.h: New file.
64619         * modules/unictype/base: New file.
64620         * modules/unictype/category-L: New file.
64621         * modules/unictype/category-Lu: New file.
64622         * modules/unictype/category-Ll: New file.
64623         * modules/unictype/category-Lt: New file.
64624         * modules/unictype/category-Lm: New file.
64625         * modules/unictype/category-Lo: New file.
64626         * modules/unictype/category-M: New file.
64627         * modules/unictype/category-Mn: New file.
64628         * modules/unictype/category-Mc: New file.
64629         * modules/unictype/category-Me: New file.
64630         * modules/unictype/category-N: New file.
64631         * modules/unictype/category-Nd: New file.
64632         * modules/unictype/category-Nl: New file.
64633         * modules/unictype/category-No: New file.
64634         * modules/unictype/category-P: New file.
64635         * modules/unictype/category-Pc: New file.
64636         * modules/unictype/category-Pd: New file.
64637         * modules/unictype/category-Ps: New file.
64638         * modules/unictype/category-Pe: New file.
64639         * modules/unictype/category-Pi: New file.
64640         * modules/unictype/category-Pf: New file.
64641         * modules/unictype/category-Po: New file.
64642         * modules/unictype/category-S: New file.
64643         * modules/unictype/category-Sm: New file.
64644         * modules/unictype/category-Sc: New file.
64645         * modules/unictype/category-Sk: New file.
64646         * modules/unictype/category-So: New file.
64647         * modules/unictype/category-Z: New file.
64648         * modules/unictype/category-Zs: New file.
64649         * modules/unictype/category-Zl: New file.
64650         * modules/unictype/category-Zp: New file.
64651         * modules/unictype/category-C: New file.
64652         * modules/unictype/category-Cc: New file.
64653         * modules/unictype/category-Cf: New file.
64654         * modules/unictype/category-Cs: New file.
64655         * modules/unictype/category-Co: New file.
64656         * modules/unictype/category-Cn: New file.
64657         * modules/unictype/category-or: New file.
64658         * modules/unictype/category-of: New file.
64659         * modules/unictype/category-test: New file.
64660         * modules/unictype/category-test-withtable: New file.
64661         * modules/unictype/category-byname: New file.
64662         * modules/unictype/category-none: New file.
64663         * modules/unictype/category-and: New file.
64664         * modules/unictype/category-and-not: New file.
64665         * modules/unictype/category-name: New file.
64666         * modules/unictype/combining-class: New file.
64667         * modules/unictype/category-all: New file.
64668         * modules/unictype/bidicategory-all: New file.
64669         * modules/unictype/bidicategory-byname: New file.
64670         * modules/unictype/bidicategory-name: New file.
64671         * modules/unictype/bidicategory-of: New file.
64672         * modules/unictype/bidicategory-test: New file.
64673         * modules/unictype/decimal-digit: New file.
64674         * modules/unictype/digit: New file.
64675         * modules/unictype/numeric: New file.
64676         * modules/unictype/mirror: New file.
64677         * modules/unictype/property-white-space: New file.
64678         * modules/unictype/property-alphabetic: New file.
64679         * modules/unictype/property-other-alphabetic: New file.
64680         * modules/unictype/property-not-a-character: New file.
64681         * modules/unictype/property-default-ignorable-code-point: New file.
64682         * modules/unictype/property-other-default-ignorable-code-point: New
64683         file.
64684         * modules/unictype/property-deprecated: New file.
64685         * modules/unictype/property-logical-order-exception: New file.
64686         * modules/unictype/property-variation-selector: New file.
64687         * modules/unictype/property-private-use: New file.
64688         * modules/unictype/property-unassigned-code-value: New file.
64689         * modules/unictype/property-uppercase: New file.
64690         * modules/unictype/property-other-uppercase: New file.
64691         * modules/unictype/property-lowercase: New file.
64692         * modules/unictype/property-other-lowercase: New file.
64693         * modules/unictype/property-titlecase: New file.
64694         * modules/unictype/property-soft-dotted: New file.
64695         * modules/unictype/property-id-start: New file.
64696         * modules/unictype/property-other-id-start: New file.
64697         * modules/unictype/property-id-continue: New file.
64698         * modules/unictype/property-other-id-continue: New file.
64699         * modules/unictype/property-xid-start: New file.
64700         * modules/unictype/property-xid-continue: New file.
64701         * modules/unictype/property-pattern-white-space: New file.
64702         * modules/unictype/property-pattern-syntax: New file.
64703         * modules/unictype/property-join-control: New file.
64704         * modules/unictype/property-grapheme-base: New file.
64705         * modules/unictype/property-grapheme-extend: New file.
64706         * modules/unictype/property-other-grapheme-extend: New file.
64707         * modules/unictype/property-grapheme-link: New file.
64708         * modules/unictype/property-bidi-control: New file.
64709         * modules/unictype/property-bidi-left-to-right: New file.
64710         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
64711         * modules/unictype/property-bidi-arabic-right-to-left: New file.
64712         * modules/unictype/property-bidi-european-digit: New file.
64713         * modules/unictype/property-bidi-eur-num-separator: New file.
64714         * modules/unictype/property-bidi-eur-num-terminator: New file.
64715         * modules/unictype/property-bidi-arabic-digit: New file.
64716         * modules/unictype/property-bidi-common-separator: New file.
64717         * modules/unictype/property-bidi-block-separator: New file.
64718         * modules/unictype/property-bidi-segment-separator: New file.
64719         * modules/unictype/property-bidi-whitespace: New file.
64720         * modules/unictype/property-bidi-non-spacing-mark: New file.
64721         * modules/unictype/property-bidi-boundary-neutral: New file.
64722         * modules/unictype/property-bidi-pdf: New file.
64723         * modules/unictype/property-bidi-embedding-or-override: New file.
64724         * modules/unictype/property-bidi-other-neutral: New file.
64725         * modules/unictype/property-hex-digit: New file.
64726         * modules/unictype/property-ascii-hex-digit: New file.
64727         * modules/unictype/property-ideographic: New file.
64728         * modules/unictype/property-unified-ideograph: New file.
64729         * modules/unictype/property-radical: New file.
64730         * modules/unictype/property-ids-binary-operator: New file.
64731         * modules/unictype/property-ids-trinary-operator: New file.
64732         * modules/unictype/property-zero-width: New file.
64733         * modules/unictype/property-space: New file.
64734         * modules/unictype/property-non-break: New file.
64735         * modules/unictype/property-iso-control: New file.
64736         * modules/unictype/property-format-control: New file.
64737         * modules/unictype/property-dash: New file.
64738         * modules/unictype/property-hyphen: New file.
64739         * modules/unictype/property-punctuation: New file.
64740         * modules/unictype/property-line-separator: New file.
64741         * modules/unictype/property-paragraph-separator: New file.
64742         * modules/unictype/property-quotation-mark: New file.
64743         * modules/unictype/property-sentence-terminal: New file.
64744         * modules/unictype/property-terminal-punctuation: New file.
64745         * modules/unictype/property-currency-symbol: New file.
64746         * modules/unictype/property-math: New file.
64747         * modules/unictype/property-other-math: New file.
64748         * modules/unictype/property-paired-punctuation: New file.
64749         * modules/unictype/property-left-of-pair: New file.
64750         * modules/unictype/property-combining: New file.
64751         * modules/unictype/property-composite: New file.
64752         * modules/unictype/property-decimal-digit: New file.
64753         * modules/unictype/property-numeric: New file.
64754         * modules/unictype/property-diacritic: New file.
64755         * modules/unictype/property-extender: New file.
64756         * modules/unictype/property-ignorable-control: New file.
64757         * modules/unictype/property-test: New file.
64758         * modules/unictype/property-byname: New file.
64759         * modules/unictype/property-all: New file.
64760         * modules/unictype/scripts: New file.
64761         * modules/unictype/scripts-all: New file.
64762         * modules/unictype/block-of: New file.
64763         * modules/unictype/block-test: New file.
64764         * modules/unictype/block-list: New file.
64765         * modules/unictype/block-all: New file.
64766         * modules/unictype/syntax-c-whitespace: New file.
64767         * modules/unictype/syntax-java-whitespace: New file.
64768         * modules/unictype/syntax-c-ident: New file.
64769         * modules/unictype/syntax-java-ident: New file.
64770         * modules/unictype/ctype-alnum: New file.
64771         * modules/unictype/ctype-alpha: New file.
64772         * modules/unictype/ctype-cntrl: New file.
64773         * modules/unictype/ctype-digit: New file.
64774         * modules/unictype/ctype-graph: New file.
64775         * modules/unictype/ctype-lower: New file.
64776         * modules/unictype/ctype-print: New file.
64777         * modules/unictype/ctype-punct: New file.
64778         * modules/unictype/ctype-space: New file.
64779         * modules/unictype/ctype-upper: New file.
64780         * modules/unictype/ctype-xdigit: New file.
64781         * modules/unictype/ctype-blank: New file.
64782         * lib/unictype/bidi_byname.c: New file.
64783         * lib/unictype/bidi_name.c: New file.
64784         * lib/unictype/bidi_of.c: New file.
64785         * lib/unictype/bidi_test.c: New file.
64786         * lib/unictype/bitmap.h: New file.
64787         * lib/unictype/block_test.c: New file.
64788         * lib/unictype/blocks.c: New file.
64789         * lib/unictype/categ_C.c: New file.
64790         * lib/unictype/categ_Cc.c: New file.
64791         * lib/unictype/categ_Cf.c: New file.
64792         * lib/unictype/categ_Cn.c: New file.
64793         * lib/unictype/categ_Co.c: New file.
64794         * lib/unictype/categ_Cs.c: New file.
64795         * lib/unictype/categ_L.c: New file.
64796         * lib/unictype/categ_Ll.c: New file.
64797         * lib/unictype/categ_Lm.c: New file.
64798         * lib/unictype/categ_Lo.c: New file.
64799         * lib/unictype/categ_Lt.c: New file.
64800         * lib/unictype/categ_Lu.c: New file.
64801         * lib/unictype/categ_M.c: New file.
64802         * lib/unictype/categ_Mc.c: New file.
64803         * lib/unictype/categ_Me.c: New file.
64804         * lib/unictype/categ_Mn.c: New file.
64805         * lib/unictype/categ_N.c: New file.
64806         * lib/unictype/categ_Nd.c: New file.
64807         * lib/unictype/categ_Nl.c: New file.
64808         * lib/unictype/categ_No.c: New file.
64809         * lib/unictype/categ_P.c: New file.
64810         * lib/unictype/categ_Pc.c: New file.
64811         * lib/unictype/categ_Pd.c: New file.
64812         * lib/unictype/categ_Pe.c: New file.
64813         * lib/unictype/categ_Pf.c: New file.
64814         * lib/unictype/categ_Pi.c: New file.
64815         * lib/unictype/categ_Po.c: New file.
64816         * lib/unictype/categ_Ps.c: New file.
64817         * lib/unictype/categ_S.c: New file.
64818         * lib/unictype/categ_Sc.c: New file.
64819         * lib/unictype/categ_Sk.c: New file.
64820         * lib/unictype/categ_Sm.c: New file.
64821         * lib/unictype/categ_So.c: New file.
64822         * lib/unictype/categ_Z.c: New file.
64823         * lib/unictype/categ_Zl.c: New file.
64824         * lib/unictype/categ_Zp.c: New file.
64825         * lib/unictype/categ_Zs.c: New file.
64826         * lib/unictype/categ_and.c: New file.
64827         * lib/unictype/categ_and_not.c: New file.
64828         * lib/unictype/categ_byname.c: New file.
64829         * lib/unictype/categ_name.c: New file.
64830         * lib/unictype/categ_none.c: New file.
64831         * lib/unictype/categ_of.c: New file.
64832         * lib/unictype/categ_or.c: New file.
64833         * lib/unictype/categ_test.c: New file.
64834         * lib/unictype/combining.c: New file.
64835         * lib/unictype/ctype_alnum.c: New file.
64836         * lib/unictype/ctype_alpha.c: New file.
64837         * lib/unictype/ctype_blank.c: New file.
64838         * lib/unictype/ctype_cntrl.c: New file.
64839         * lib/unictype/ctype_digit.c: New file.
64840         * lib/unictype/ctype_graph.c: New file.
64841         * lib/unictype/ctype_lower.c: New file.
64842         * lib/unictype/ctype_print.c: New file.
64843         * lib/unictype/ctype_punct.c: New file.
64844         * lib/unictype/ctype_space.c: New file.
64845         * lib/unictype/ctype_upper.c: New file.
64846         * lib/unictype/ctype_xdigit.c: New file.
64847         * lib/unictype/decdigit.c: New file.
64848         * lib/unictype/digit.c: New file.
64849         * lib/unictype/identsyntaxmap.h: New file.
64850         * lib/unictype/mirror.c: New file.
64851         * lib/unictype/numeric.c: New file.
64852         * lib/unictype/pr_alphabetic.c: New file.
64853         * lib/unictype/pr_ascii_hex_digit.c: New file.
64854         * lib/unictype/pr_bidi_arabic_digit.c: New file.
64855         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
64856         * lib/unictype/pr_bidi_block_separator.c: New file.
64857         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
64858         * lib/unictype/pr_bidi_common_separator.c: New file.
64859         * lib/unictype/pr_bidi_control.c: New file.
64860         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
64861         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
64862         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
64863         * lib/unictype/pr_bidi_european_digit.c: New file.
64864         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
64865         * lib/unictype/pr_bidi_left_to_right.c: New file.
64866         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
64867         * lib/unictype/pr_bidi_other_neutral.c: New file.
64868         * lib/unictype/pr_bidi_pdf.c: New file.
64869         * lib/unictype/pr_bidi_segment_separator.c: New file.
64870         * lib/unictype/pr_bidi_whitespace.c: New file.
64871         * lib/unictype/pr_byname.c: New file.
64872         * lib/unictype/pr_byname.gperf: New file.
64873         * lib/unictype/pr_combining.c: New file.
64874         * lib/unictype/pr_composite.c: New file.
64875         * lib/unictype/pr_currency_symbol.c: New file.
64876         * lib/unictype/pr_dash.c: New file.
64877         * lib/unictype/pr_decimal_digit.c: New file.
64878         * lib/unictype/pr_default_ignorable_code_point.c: New file.
64879         * lib/unictype/pr_deprecated.c: New file.
64880         * lib/unictype/pr_diacritic.c: New file.
64881         * lib/unictype/pr_extender.c: New file.
64882         * lib/unictype/pr_format_control.c: New file.
64883         * lib/unictype/pr_grapheme_base.c: New file.
64884         * lib/unictype/pr_grapheme_extend.c: New file.
64885         * lib/unictype/pr_grapheme_link.c: New file.
64886         * lib/unictype/pr_hex_digit.c: New file.
64887         * lib/unictype/pr_hyphen.c: New file.
64888         * lib/unictype/pr_id_continue.c: New file.
64889         * lib/unictype/pr_id_start.c: New file.
64890         * lib/unictype/pr_ideographic.c: New file.
64891         * lib/unictype/pr_ids_binary_operator.c: New file.
64892         * lib/unictype/pr_ids_trinary_operator.c: New file.
64893         * lib/unictype/pr_ignorable_control.c: New file.
64894         * lib/unictype/pr_iso_control.c: New file.
64895         * lib/unictype/pr_join_control.c: New file.
64896         * lib/unictype/pr_left_of_pair.c: New file.
64897         * lib/unictype/pr_line_separator.c: New file.
64898         * lib/unictype/pr_logical_order_exception.c: New file.
64899         * lib/unictype/pr_lowercase.c: New file.
64900         * lib/unictype/pr_math.c: New file.
64901         * lib/unictype/pr_non_break.c: New file.
64902         * lib/unictype/pr_not_a_character.c: New file.
64903         * lib/unictype/pr_numeric.c: New file.
64904         * lib/unictype/pr_other_alphabetic.c: New file.
64905         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
64906         * lib/unictype/pr_other_grapheme_extend.c: New file.
64907         * lib/unictype/pr_other_id_continue.c: New file.
64908         * lib/unictype/pr_other_id_start.c: New file.
64909         * lib/unictype/pr_other_lowercase.c: New file.
64910         * lib/unictype/pr_other_math.c: New file.
64911         * lib/unictype/pr_other_uppercase.c: New file.
64912         * lib/unictype/pr_paired_punctuation.c: New file.
64913         * lib/unictype/pr_paragraph_separator.c: New file.
64914         * lib/unictype/pr_pattern_syntax.c: New file.
64915         * lib/unictype/pr_pattern_white_space.c: New file.
64916         * lib/unictype/pr_private_use.c: New file.
64917         * lib/unictype/pr_punctuation.c: New file.
64918         * lib/unictype/pr_quotation_mark.c: New file.
64919         * lib/unictype/pr_radical.c: New file.
64920         * lib/unictype/pr_sentence_terminal.c: New file.
64921         * lib/unictype/pr_soft_dotted.c: New file.
64922         * lib/unictype/pr_space.c: New file.
64923         * lib/unictype/pr_terminal_punctuation.c: New file.
64924         * lib/unictype/pr_test.c: New file.
64925         * lib/unictype/pr_titlecase.c: New file.
64926         * lib/unictype/pr_unassigned_code_value.c: New file.
64927         * lib/unictype/pr_unified_ideograph.c: New file.
64928         * lib/unictype/pr_uppercase.c: New file.
64929         * lib/unictype/pr_variation_selector.c: New file.
64930         * lib/unictype/pr_white_space.c: New file.
64931         * lib/unictype/pr_xid_continue.c: New file.
64932         * lib/unictype/pr_xid_start.c: New file.
64933         * lib/unictype/pr_zero_width.c: New file.
64934         * lib/unictype/scripts.c: New file.
64935         * lib/unictype/sy_c_ident.c: New file.
64936         * lib/unictype/sy_c_whitespace.c: New file.
64937         * lib/unictype/sy_java_ident.c: New file.
64938         * lib/unictype/sy_java_whitespace.c: New file.
64939
64940         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
64941         Unicode 5.0.0.
64942         * lib/unictype/blocks.h: Likewise.
64943         * lib/unictype/categ_C.h: Likewise.
64944         * lib/unictype/categ_Cc.h: Likewise.
64945         * lib/unictype/categ_Cf.h: Likewise.
64946         * lib/unictype/categ_Cn.h: Likewise.
64947         * lib/unictype/categ_Co.h: Likewise.
64948         * lib/unictype/categ_Cs.h: Likewise.
64949         * lib/unictype/categ_L.h: Likewise.
64950         * lib/unictype/categ_Ll.h: Likewise.
64951         * lib/unictype/categ_Lm.h: Likewise.
64952         * lib/unictype/categ_Lo.h: Likewise.
64953         * lib/unictype/categ_Lt.h: Likewise.
64954         * lib/unictype/categ_Lu.h: Likewise.
64955         * lib/unictype/categ_M.h: Likewise.
64956         * lib/unictype/categ_Mc.h: Likewise.
64957         * lib/unictype/categ_Me.h: Likewise.
64958         * lib/unictype/categ_Mn.h: Likewise.
64959         * lib/unictype/categ_N.h: Likewise.
64960         * lib/unictype/categ_Nd.h: Likewise.
64961         * lib/unictype/categ_Nl.h: Likewise.
64962         * lib/unictype/categ_No.h: Likewise.
64963         * lib/unictype/categ_P.h: Likewise.
64964         * lib/unictype/categ_Pc.h: Likewise.
64965         * lib/unictype/categ_Pd.h: Likewise.
64966         * lib/unictype/categ_Pe.h: Likewise.
64967         * lib/unictype/categ_Pf.h: Likewise.
64968         * lib/unictype/categ_Pi.h: Likewise.
64969         * lib/unictype/categ_Po.h: Likewise.
64970         * lib/unictype/categ_Ps.h: Likewise.
64971         * lib/unictype/categ_S.h: Likewise.
64972         * lib/unictype/categ_Sc.h: Likewise.
64973         * lib/unictype/categ_Sk.h: Likewise.
64974         * lib/unictype/categ_Sm.h: Likewise.
64975         * lib/unictype/categ_So.h: Likewise.
64976         * lib/unictype/categ_Z.h: Likewise.
64977         * lib/unictype/categ_Zl.h: Likewise.
64978         * lib/unictype/categ_Zp.h: Likewise.
64979         * lib/unictype/categ_Zs.h: Likewise.
64980         * lib/unictype/categ_of.h: Likewise.
64981         * lib/unictype/combining.h: Likewise.
64982         * lib/unictype/ctype_alnum.h: Likewise.
64983         * lib/unictype/ctype_alpha.h: Likewise.
64984         * lib/unictype/ctype_blank.h: Likewise.
64985         * lib/unictype/ctype_cntrl.h: Likewise.
64986         * lib/unictype/ctype_digit.h: Likewise.
64987         * lib/unictype/ctype_graph.h: Likewise.
64988         * lib/unictype/ctype_lower.h: Likewise.
64989         * lib/unictype/ctype_print.h: Likewise.
64990         * lib/unictype/ctype_punct.h: Likewise.
64991         * lib/unictype/ctype_space.h: Likewise.
64992         * lib/unictype/ctype_upper.h: Likewise.
64993         * lib/unictype/ctype_xdigit.h: Likewise.
64994         * lib/unictype/decdigit.h: Likewise.
64995         * lib/unictype/digit.h: Likewise.
64996         * lib/unictype/mirror.h: Likewise.
64997         * lib/unictype/numeric.h: Likewise.
64998         * lib/unictype/pr_alphabetic.h: Likewise.
64999         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
65000         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
65001         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
65002         * lib/unictype/pr_bidi_block_separator.h: Likewise.
65003         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
65004         * lib/unictype/pr_bidi_common_separator.h: Likewise.
65005         * lib/unictype/pr_bidi_control.h: Likewise.
65006         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
65007         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
65008         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
65009         * lib/unictype/pr_bidi_european_digit.h: Likewise.
65010         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
65011         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
65012         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
65013         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
65014         * lib/unictype/pr_bidi_pdf.h: Likewise.
65015         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
65016         * lib/unictype/pr_bidi_whitespace.h: Likewise.
65017         * lib/unictype/pr_combining.h: Likewise.
65018         * lib/unictype/pr_composite.h: Likewise.
65019         * lib/unictype/pr_currency_symbol.h: Likewise.
65020         * lib/unictype/pr_dash.h: Likewise.
65021         * lib/unictype/pr_decimal_digit.h: Likewise.
65022         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
65023         * lib/unictype/pr_deprecated.h: Likewise.
65024         * lib/unictype/pr_diacritic.h: Likewise.
65025         * lib/unictype/pr_extender.h: Likewise.
65026         * lib/unictype/pr_format_control.h: Likewise.
65027         * lib/unictype/pr_grapheme_base.h: Likewise.
65028         * lib/unictype/pr_grapheme_extend.h: Likewise.
65029         * lib/unictype/pr_grapheme_link.h: Likewise.
65030         * lib/unictype/pr_hex_digit.h: Likewise.
65031         * lib/unictype/pr_hyphen.h: Likewise.
65032         * lib/unictype/pr_id_continue.h: Likewise.
65033         * lib/unictype/pr_id_start.h: Likewise.
65034         * lib/unictype/pr_ideographic.h: Likewise.
65035         * lib/unictype/pr_ids_binary_operator.h: Likewise.
65036         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
65037         * lib/unictype/pr_ignorable_control.h: Likewise.
65038         * lib/unictype/pr_iso_control.h: Likewise.
65039         * lib/unictype/pr_join_control.h: Likewise.
65040         * lib/unictype/pr_left_of_pair.h: Likewise.
65041         * lib/unictype/pr_line_separator.h: Likewise.
65042         * lib/unictype/pr_logical_order_exception.h: Likewise.
65043         * lib/unictype/pr_lowercase.h: Likewise.
65044         * lib/unictype/pr_math.h: Likewise.
65045         * lib/unictype/pr_non_break.h: Likewise.
65046         * lib/unictype/pr_not_a_character.h: Likewise.
65047         * lib/unictype/pr_numeric.h: Likewise.
65048         * lib/unictype/pr_other_alphabetic.h: Likewise.
65049         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
65050         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
65051         * lib/unictype/pr_other_id_continue.h: Likewise.
65052         * lib/unictype/pr_other_id_start.h: Likewise.
65053         * lib/unictype/pr_other_lowercase.h: Likewise.
65054         * lib/unictype/pr_other_math.h: Likewise.
65055         * lib/unictype/pr_other_uppercase.h: Likewise.
65056         * lib/unictype/pr_paired_punctuation.h: Likewise.
65057         * lib/unictype/pr_paragraph_separator.h: Likewise.
65058         * lib/unictype/pr_pattern_syntax.h: Likewise.
65059         * lib/unictype/pr_pattern_white_space.h: Likewise.
65060         * lib/unictype/pr_private_use.h: Likewise.
65061         * lib/unictype/pr_punctuation.h: Likewise.
65062         * lib/unictype/pr_quotation_mark.h: Likewise.
65063         * lib/unictype/pr_radical.h: Likewise.
65064         * lib/unictype/pr_sentence_terminal.h: Likewise.
65065         * lib/unictype/pr_soft_dotted.h: Likewise.
65066         * lib/unictype/pr_space.h: Likewise.
65067         * lib/unictype/pr_terminal_punctuation.h: Likewise.
65068         * lib/unictype/pr_titlecase.h: Likewise.
65069         * lib/unictype/pr_unassigned_code_value.h: Likewise.
65070         * lib/unictype/pr_unified_ideograph.h: Likewise.
65071         * lib/unictype/pr_uppercase.h: Likewise.
65072         * lib/unictype/pr_variation_selector.h: Likewise.
65073         * lib/unictype/pr_white_space.h: Likewise.
65074         * lib/unictype/pr_xid_continue.h: Likewise.
65075         * lib/unictype/pr_xid_start.h: Likewise.
65076         * lib/unictype/pr_zero_width.h: Likewise.
65077         * lib/unictype/scripts.h: Likewise.
65078         * lib/unictype/scripts_byname.gperf: Likewise.
65079         * lib/unictype/sy_c_ident.h: Likewise.
65080         * lib/unictype/sy_c_whitespace.h: Likewise.
65081         * lib/unictype/sy_java_ident.h: Likewise.
65082         * lib/unictype/sy_java_whitespace.h: Likewise.
65083
65084         * lib/unictype/Makefile: New file.
65085         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
65086         glibc.
65087         * lib/unictype/3level.h: New file, copied from glibc.
65088         * lib/unictype/3levelbit.h: New file.
65089
65090 2007-11-11  Bruno Haible  <bruno@clisp.org>
65091
65092         * modules/gperf: New file.
65093         * modules/iconv_open (Depends-on): Add it.
65094         (Makefile.am): Remove the GPERF definition.
65095
65096 2007-11-11  Bruno Haible  <bruno@clisp.org>
65097
65098         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
65099         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
65100
65101 2007-11-11  Bruno Haible  <bruno@clisp.org>
65102
65103         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
65104         (usage): Remove function.
65105
65106 2007-11-11  Bruno Haible  <bruno@clisp.org>
65107
65108         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
65109         gl_FUNC_CEILF_LIBS.
65110         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
65111         gl_FUNC_CEIL_LIBS.
65112         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
65113         gl_FUNC_CEILL_LIBS.
65114         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
65115         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
65116         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
65117
65118 2007-11-11  Bruno Haible  <bruno@clisp.org>
65119
65120         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
65121         roundf were declared but do not exist on functions.
65122         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
65123         roundl were declared but do not exist on functions.
65124         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
65125         HAVE_FLOORL_AND_CEILL, respectively.
65126         Needed for Sun C on Solaris 10.
65127
65128 2007-11-11  Bruno Haible  <bruno@clisp.org>
65129
65130         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
65131         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
65132         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
65133         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
65134         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
65135         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
65136         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
65137         HAVE_DECL_ROUNDF.
65138         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
65139         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
65140         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
65141         of HAVE_DECL_ROUND*.
65142         * modules/math (Makefile.am): Update.
65143
65144 2007-11-10  Bruno Haible  <bruno@clisp.org>
65145
65146         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
65147         ptrdiff_t as m4/intl.m4.
65148
65149 2007-11-10  Jim Meyering  <meyering@redhat.com>
65150
65151         Avoid link failure for the argmatch test.
65152         * tests/test-argmatch.c (usage): Define function to avoid a link
65153         failure: argmatch_die requires a usage function.
65154
65155 2007-11-09  Bruno Haible  <bruno@clisp.org>
65156
65157         * doc/functions/snprintf.texi: Mention BeOS deficiency.
65158         * doc/functions/vsnprintf.texi: Likewise.
65159         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
65160         with a size argument < 2.
65161
65162 2007-11-09  Bruno Haible  <bruno@clisp.org>
65163
65164         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
65165         buffer. Fixes an inefficiency introduced on 2007-11-03.
65166
65167 2007-11-09  Bruno Haible  <bruno@clisp.org>
65168
65169         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
65170         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
65171
65172 2007-11-08  Jim Meyering  <meyering@redhat.com>
65173
65174         Change cache variable name prefix "jm_" to "gl_" everywhere.
65175         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
65176         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
65177         * m4/uptime.m4: s/gl_/jm_/
65178
65179 2007-11-07  Bruno Haible  <bruno@clisp.org>
65180
65181         Update to GNU gettext 0.17.
65182         * m4/intl.m4: Update to GNU gettext 0.17.
65183         * m4/po.m4: Likewise.
65184         * modules/gettext (Files): Remove m4/ulonglong.m4.
65185         (configure.ac): Require gettext infrastructure from version 0.17.
65186
65187 2007-11-06  Bruno Haible  <bruno@clisp.org>
65188
65189         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
65190         symbolic values are not defined in a public header.
65191         * lib/freadable.c (freadable) [QNX]: Likewise.
65192         * lib/freadahead.c (freadahead) [QNX]: Likewise.
65193         * lib/freading.c (freading) [QNX]: Likewise.
65194         * lib/fseterr.c (fseterr) [QNX]: Likewise.
65195         * lib/fwritable.c (fwritable) [QNX]: Likewise.
65196         * lib/fwriting.c (fwriting) [QNX]: Likewise.
65197         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
65198         Reported by Alain Magloire.
65199
65200         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
65201
65202 2007-11-05  Bruno Haible  <bruno@clisp.org>
65203
65204         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
65205         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
65206         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
65207         Reported by Eric Blake.
65208
65209 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65210             Bruno Haible  <bruno@clisp.org>
65211
65212         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
65213         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
65214         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
65215         (malloc): Undefine also before including <stdlib.h>.
65216         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
65217         Needed on OSF/1 4.0.
65218
65219 2007-11-05  Jim Meyering  <meyering@redhat.com>
65220
65221         git-version-gen: sync from coreutils.
65222         * build-aux/git-version-gen: Add comments.
65223         Change the first '-' to '.' in the snapshot version string,
65224         e.g., 6.9-377-08144 -> 6.9.377-08144
65225         Remove first parameter.
65226         Don't declare a version "-dirty" merely because a time
65227         stamp has changed.
65228
65229 2007-11-04  Bruno Haible  <bruno@clisp.org>
65230
65231         * lib/lock.h: Protect all macro definitions containing an 'if'
65232         statement through a "do { ... } while (0)".
65233         * lib/tls.h: Likewise.
65234
65235 2007-11-04  Bruno Haible  <bruno@clisp.org>
65236
65237         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
65238
65239 2007-11-04  Bruno Haible  <bruno@clisp.org>
65240
65241         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
65242         * modules/fprintf-posix (Depends-on): Add nocrash.
65243         * modules/snprintf-posix (Depends-on): Likewise.
65244         * modules/sprintf-posix (Depends-on): Likewise.
65245         * modules/vasnprintf-posix (Depends-on): Likewise.
65246         * modules/vasprintf-posix (Depends-on): Likewise.
65247         * modules/vfprintf-posix (Depends-on): Likewise.
65248         * modules/vsnprintf-posix (Depends-on): Likewise.
65249         * modules/vsprintf-posix (Depends-on): Likewise.
65250         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
65251         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
65252         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
65253         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
65254         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
65255         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
65256         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
65257
65258 2007-11-04  Bruno Haible  <bruno@clisp.org>
65259
65260         * modules/nocrash: New file.
65261         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
65262         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
65263
65264 2007-11-04  Bruno Haible  <bruno@clisp.org>
65265
65266         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
65267         precision handling.
65268         * tests/test-vasprintf-posix.c (test_function): Likewise.
65269         * tests/test-snprintf-posix.h (test_function): Likewise.
65270         * tests/test-sprintf-posix.h (test_function): Likewise.
65271
65272         Fix *printf behaviour for large precisions on mingw and BeOS.
65273         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
65274         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
65275         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
65276         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
65277         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65278         gl_PRINTF_PRECISION and test its result. Invoke
65279         gl_PREREQ_VASNPRINTF_PRECISION.
65280         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65281         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65282         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65283         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65284         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65285         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65286         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65287         * doc/functions/fprintf.texi: Update.
65288         * doc/functions/printf.texi: Update.
65289         * doc/functions/snprintf.texi: Update.
65290         * doc/functions/sprintf.texi: Update.
65291         * doc/functions/vfprintf.texi: Update.
65292         * doc/functions/vprintf.texi: Update.
65293         * doc/functions/vsnprintf.texi: Update.
65294         * doc/functions/vsprintf.texi: Update.
65295
65296 2007-11-04  Bruno Haible  <bruno@clisp.org>
65297
65298         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
65299
65300 2007-11-04  Bruno Haible  <bruno@clisp.org>
65301
65302         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
65303         Reported by Sylvain Beucler <beuc@gnu.org>.
65304
65305 2007-11-03  Bruno Haible  <bruno@clisp.org>
65306
65307         * tests/test-fprintf-posix2.sh: New file.
65308         * tests/test-fprintf-posix2.c: New file.
65309         * modules/fprintf-posix-tests (Files): Add them.
65310         (TESTS): Add test-fprintf-posix2.sh.
65311         (configure.ac): Check for getrlimit and setrlimit.
65312         (check_PROGRAMS): Add test-fprintf-posix2.
65313
65314         * tests/test-printf-posix2.sh: New file.
65315         * tests/test-printf-posix2.c: New file.
65316         * modules/printf-posix-tests (Files): Add them.
65317         (TESTS): Add test-printf-posix2.sh.
65318         (configure.ac): Check for getrlimit and setrlimit.
65319         (check_PROGRAMS): Add test-printf-posix2.
65320
65321         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
65322         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
65323         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
65324         (decode_double): New function, copied from decode_long_double.
65325         (scale10_round_decimal_decoded): New function, extracted from
65326         scale10_round_decimal_long_double.
65327         (scale10_round_decimal_long_double): Use it.
65328         (scale10_round_decimal_double): New function.
65329         (floorlog10): New function.
65330         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
65331         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
65332         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
65333         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65334         gl_PRINTF_ENOMEM and test its result. Invoke
65335         gl_PREREQ_VASNPRINTF_ENOMEM.
65336         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65337         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65338         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65339         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65340         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65341         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65342         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65343         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
65344         * modules/snprintf-posix (Depends-on): Likewise.
65345         * modules/sprintf-posix (Depends-on): Likewise.
65346         * modules/vasnprintf-posix (Depends-on): Likewise.
65347         * modules/vasprintf-posix (Depends-on): Likewise.
65348         * modules/vfprintf-posix (Depends-on): Likewise.
65349         * modules/vsnprintf-posix (Depends-on): Likewise.
65350         * modules/vsprintf-posix (Depends-on): Likewise.
65351         * doc/functions/fprintf.texi: Update.
65352         * doc/functions/printf.texi: Update.
65353         * doc/functions/snprintf.texi: Update.
65354         * doc/functions/sprintf.texi: Update.
65355         * doc/functions/vfprintf.texi: Update.
65356         * doc/functions/vprintf.texi: Update.
65357         * doc/functions/vsnprintf.texi: Update.
65358         * doc/functions/vsprintf.texi: Update.
65359
65360 2007-11-03  Bruno Haible  <bruno@clisp.org>
65361
65362         * modules/frexp-nolibm-tests: New file.
65363
65364         * modules/frexp-nolibm: New file.
65365         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
65366
65367 2007-11-03  Bruno Haible  <bruno@clisp.org>
65368
65369         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
65370         value is C99 compliant.
65371         Needed for OSF/1 5.1.
65372
65373 2007-11-03  Bruno Haible  <bruno@clisp.org>
65374
65375         Fix out-of-memory handling of vasnprintf.
65376         * lib/printf-parse.c: Include <errno.h>.
65377         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
65378         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
65379         is already set.
65380
65381 2007-11-02  Eric Blake  <ebb9@byu.net>
65382
65383         Fix tests on cygwin.
65384         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
65385
65386 2007-11-01  Bruno Haible  <bruno@clisp.org>
65387
65388         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
65389         warning.
65390         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
65391         needed for POSIX compatibility.
65392
65393 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
65394
65395         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
65396         for compatibility with GNU.
65397
65398 2007-11-01  Bruno Haible  <bruno@clisp.org>
65399
65400         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
65401         (putenv): Renamed from rpl_putenv. Change argument type from
65402         'const char *' to 'char *'.
65403         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
65404         of defining putenv in config.h, just set REPLACE_PUTENV.
65405         * modules/putenv (Depends-on): Add stdlib.
65406         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65407         (Include): Use <stdlib.h>.
65408         * lib/stdlib.in.h (putenv): New declaration.
65409         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
65410         REPLACE_PUTENV.
65411         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
65412         REPLACE_PUTENV.
65413         Needed for MacOS X 10.5.0.
65414         Reported by Peter O'Gorman <peter@pogma.com>.
65415
65416 2007-11-01  Jim Meyering  <meyering@redhat.com>
65417
65418         Treat an empty date string exactly like "0".
65419         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
65420         if the remaining date string (to be parsed) is empty, use "0".
65421         Reported by Mischa Molhoek and discussed in this thread:
65422         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
65423
65424 2007-10-31  Bruno Haible  <bruno@clisp.org>
65425
65426         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
65427         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
65428         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
65429         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
65430         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
65431         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
65432
65433 2007-10-31  Bruno Haible  <bruno@clisp.org>
65434
65435         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
65436         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
65437         (AC_TYPE_LONG_LONG_INT): Use it.
65438         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
65439         it as well.
65440         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
65441         to m4/longlong.m4.
65442         * modules/stdint (Files): Remove m4/ulonglong.m4.
65443         * modules/strtoull (Files): Use m4/longlong.m4 instead of
65444         m4/ulonglong.m4.
65445         * modules/strtoumax (Files): Likewise.
65446
65447 2007-10-30  Bruno Haible  <bruno@clisp.org>
65448
65449         * modules/xvasprintf-posix: New file.
65450         Suggested by Eric Blake.
65451
65452 2007-10-30  Bruno Haible  <bruno@clisp.org>
65453
65454         * modules/xprintf-posix-tests: New file.
65455         * tests/test-xprintf-posix.sh: New file.
65456         * tests/test-xprintf-posix.c: New file.
65457         * tests/test-xfprintf-posix.c: New file.
65458
65459         * modules/xprintf-posix: New file.
65460
65461 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65462
65463         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
65464         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
65465         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
65466
65467 2007-10-29  Bruno Haible  <bruno@clisp.org>
65468
65469         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
65470         contain the special marker '_cv_'.
65471         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
65472         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
65473         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
65474         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
65475         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
65476         Reported by Ralf Wildenhues.
65477
65478 2007-10-29  Bruno Haible  <bruno@clisp.org>
65479
65480         * gnulib-tool (func_import): When --lgpl is not specified, set
65481         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
65482         GPLv3.
65483         Reported by Simon Josefsson.
65484
65485 2007-10-28  Bruno Haible  <bruno@clisp.org>
65486
65487         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
65488         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
65489         HAVE_DECL_ISFINITE.
65490         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
65491         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
65492         HAVE_DECL_ISFINITE.
65493
65494 2007-10-28  Bruno Haible  <bruno@clisp.org>
65495
65496         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
65497         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
65498
65499 2007-10-28  Bruno Haible  <bruno@clisp.org>
65500
65501         Fix link errors with Sun C 5.0 on Solaris 10.
65502         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
65503         function is declared but not present in the compiler's libm.
65504         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
65505         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
65506         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
65507         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
65508         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
65509         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
65510         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
65511         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
65512         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
65513         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
65514         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
65515         HAVE_DECL_FLOORL.
65516
65517 2007-10-28  Bruno Haible  <bruno@clisp.org>
65518
65519         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
65520         gl_FUNC_FLOORL. Cache the result.
65521         (gl_FUNC_FLOORL): Use it.
65522         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
65523         gl_FUNC_CEILL. Cache the result.
65524         (gl_FUNC_CEILL): Use it.
65525
65526         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
65527         gl_FUNC_FLOOR. Cache the result.
65528         (gl_FUNC_FLOOR): Use it.
65529         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
65530         gl_FUNC_CEIL. Cache the result.
65531         (gl_FUNC_CEIL): Use it.
65532
65533         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
65534         gl_FUNC_FLOORF. Cache the result.
65535         (gl_FUNC_FLOORF): Use it.
65536         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
65537         gl_FUNC_CEILF. Cache the result.
65538         (gl_FUNC_CEILF): Use it.
65539
65540 2007-10-28  Bruno Haible  <bruno@clisp.org>
65541
65542         * gnulib-tool: Allow specifying the LGPL version number through
65543         --lgpl=2 or --lgpl=3.
65544         (func_usage): Document --lgpl with argument.
65545         Handle --lgpl=... arguments.
65546         (func_import): Recognize also gl_LGPL calls with an argument. When
65547         --lgpl=2 is used and the module's license is just LGPL, report an
65548         error. Set sed_transform_lib_file according to the lgpl variable. In
65549         the generated files, use --lgpl or gl_LGPL invocations with argument,
65550         if necessary.
65551         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
65552         an LGPv2+ license.
65553         * doc/gnulib-tool.texi (Modified imports): Update explanation of
65554         gl_LGPL macro.
65555
65556 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65557             Bruno Haible  <bruno@clisp.org>
65558
65559         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
65560         (u16_uctomb_aux): Likewise.
65561         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
65562         !HAVE_INLINE.
65563         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
65564
65565 2007-10-28  Bruno Haible  <bruno@clisp.org>
65566
65567         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
65568         Invoke AM_GETTEXT_OPTION if it exists.
65569         * modules/vasprintf: Likewise.
65570         * modules/verror: Likewise.
65571         * modules/xprintf: Likewise.
65572         * modules/xvasprintf: Likewise.
65573
65574 2007-10-27  Ben Pfaff  <blp@gnu.org>
65575
65576         * lib/math.in.h: Define isfinite macro and prototypes for
65577         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
65578         implementations.
65579         * m4/math_h.m4: New substitutions for isfinite module.
65580         * lib/isfinite.c: New file.
65581         * m4/isfinite.m4: New file.
65582         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
65583         * modules/isfinite: New file.
65584         * modules/isfinite-tests: New file.
65585         * tests/tests-isfinite.c: New file.
65586         * doc/functions/isfinite.texi: Mention isfinite module.
65587         * MODULES.html.sh: Mention new module.
65588
65589 2007-10-27  Ben Pfaff  <blp@gnu.org>
65590
65591         Ralf Wildenhues reported that Tru64 4.0D declares the round
65592         functions but does not have definitions.
65593         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
65594         cannot be found in any library, set the output variable to
65595         "missing" instead of "".
65596         * m4/round.m4: Also use our substitute if we cannot find round in
65597         any library, even if it is declared.
65598         * m4/roundf.m4: Likewise for roundf.
65599         * m4/roundl.m4: Likewise for roundl.
65600         * lib/math.in.h: Undefine roundf, round, roundl before defining
65601         their replacements, to allow for hypothetical systems where these
65602         may be defined as macros but not available in libraries.
65603
65604 2007-10-27  Bruno Haible  <bruno@clisp.org>
65605
65606         * doc/gnulib.texi: Invoke @firstparagraphindent.
65607         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
65608         changes in gnulib.
65609         (Source changes): New section.
65610
65611 2007-10-26  Bruno Haible  <bruno@clisp.org>
65612
65613         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
65614         borrowed from autoconf.
65615
65616 2007-10-26  Bruno Haible  <bruno@clisp.org>
65617
65618         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
65619         strerror returned the empty string. Needed on HP-UX 11.00.
65620
65621 2007-10-24  Micah Cowan  <micah@cowan.name>
65622
65623         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
65624         * build-aux/bootstrap: Remove support for now-unnecessary option,
65625         --cvs-user, and envvars CVS_USER, CVS_RSH.
65626
65627 2007-10-24  Jim Meyering  <meyering@redhat.com>
65628
65629         Avoid diagnostics from sha1sum when there is no cached checksum.
65630         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
65631         if the po.s1 file hasn't been created yet.
65632
65633         * build-aux/bootstrap: Sync from coreutils:
65634         2007-10-24  Jim Meyering  <meyering@redhat.com>
65635         Get gnulib from the git repository, not from an obsolete cvs one.
65636         * build-aux/bootstrap: Suggestion from Micah Cowan.
65637         2007-10-04  Jim Meyering  <jim@meyering.net>
65638         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
65639         (update_po_files): Work also when there are no .po files in po/.
65640
65641 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65642
65643         * README: Append ".git" to git and cg examples.
65644         Problem reported by Benoit Sigoure.
65645
65646 2007-10-23  Micah Cowan  <micah@cowan.name>
65647
65648         * users.txt: Add wget.
65649
65650 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65651
65652         Fix linking of some unistdio tests on FreeBSD.
65653         * modules/unistdio/u16-vsnprintf-tests
65654         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
65655         * modules/unistdio/u16-vsprintf-tests
65656         (test_u16_vsnprintf1_LDADD): Likewise.
65657         * modules/unistdio/u32-vsnprintf-tests
65658         (test_u32_vsnprintf1_LDADD): Likewise.
65659         * modules/unistdio/u32-vsprintf-tests
65660         (test_u32_vsprintf1_LDADD): Likewise.
65661         * modules/unistdio/u8-vsnprintf-tests
65662         (test_u8_vsnprintf1_LDADD): Likewise.
65663         * modules/unistdio/u8-vsprintf-tests
65664         (test_u8_vsprintf1_LDADD): Likewise.
65665         * modules/unistdio/ulc-vsnprintf-tests
65666         (test_ulc_vsnprintf1_LDADD): Likewise.
65667         * modules/unistdio/ulc-vsprintf-tests
65668         (test_ulc_vsprintf1_LDADD): Likewise.
65669
65670         Fix linking of some uniconv tests on FreeBSD.
65671         * modules/uniconv/u16-conv-from-enc-tests
65672         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
65673         * modules/uniconv/u16-conv-to-enc-tests
65674         (test_u16_conv_to_enc_LDADD): Likewise.
65675         * modules/uniconv/u16-strconv-from-enc-tests
65676         (test_u16_strconv_from_enc_LDADD): Likewise.
65677         * modules/uniconv/u16-strconv-to-enc-tests
65678         (test_u16_strconv_to_enc_LDADD): Likewise.
65679         * modules/uniconv/u32-conv-from-enc-tests
65680         (test_u32_conv_from_enc_LDADD): Likewise.
65681         * modules/uniconv/u32-conv-to-enc-tests
65682         (test_u32_conv_to_enc_LDADD): Likewise.
65683         * modules/uniconv/u32-strconv-from-enc-tests
65684         (test_u32_strconv_from_enc_LDADD): Likewise.
65685         * modules/uniconv/u32-strconv-to-enc-tests
65686         (test_u32_strconv_to_enc_LDADD): Likewise.
65687         * modules/uniconv/u8-conv-from-enc-tests
65688         (test_u8_conv_from_enc_LDADD): Likewise.
65689         * modules/uniconv/u8-conv-to-enc-tests
65690         (test_u8_conv_to_enc_LDADD): Likewise.
65691         * modules/uniconv/u8-strconv-from-enc-tests
65692         (test_u8_strconv_from_enc_LDADD): Likewise.
65693         * modules/uniconv/u8-strconv-to-enc-tests
65694         (test_u8_strconv_to_enc_LDADD): Likewise.
65695
65696 2007-10-22  Bruno Haible  <bruno@clisp.org>
65697
65698         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
65699         size.
65700
65701 2007-10-22  Eric Blake  <ebb9@byu.net>
65702
65703         Tweak x*printf documentation.
65704         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
65705         variable name and comments.
65706         Suggested by Bruno Haible.
65707
65708 2007-10-22  Bruno Haible  <bruno@clisp.org>
65709
65710         * lib/acl.c (copy_acl): Fix file name in comment.
65711
65712 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65713
65714         Fix Tru64 problem with stdbool.h.
65715         * lib/stdbool.in.h (false, true):
65716         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
65717         Don't declare as an enum in this situation; it runs afoul of Tru64.
65718         Problem reported by Steven M. Schweda in
65719         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
65720
65721 2007-10-22  Eric Blake  <ebb9@byu.net>
65722
65723         Also wrap vf?printf.
65724         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
65725         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
65726         (xvprintf, xvfprintf): New functions.
65727
65728 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65729
65730         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
65731         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
65732
65733         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
65734         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
65735
65736 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65737
65738         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
65739         by Bruno Haible.
65740
65741 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65742
65743         * lib/getloadavg.c
65744         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
65745         Undef `sys' after including sys/table.h, for Tru64 4.0D.
65746
65747         * tests/test-i-ring.c: Work for C89.
65748
65749 2007-10-22  Bruno Haible  <bruno@clisp.org>
65750
65751         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
65752         -1u, in preprocessor expression, so that we don't test for the bug
65753         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
65754         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
65755
65756 2007-10-22  Eric Blake  <ebb9@byu.net>
65757
65758         * tests/test-yesno.sh: Silence stderr during test.
65759
65760 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65761
65762         * modules/crypto/gc-camellia: New file.
65763
65764         * m4/gc-camellia.m4: New file.
65765
65766         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
65767
65768         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
65769
65770 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65771
65772         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
65773         --help to stdout.  Reported by sms@antinode.org (Steven
65774         M. Schweda).
65775
65776 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65777
65778         * users.txt: Fix link to libksba.
65779
65780 2007-10-21  Ben Pfaff  <blp@gnu.org>
65781
65782         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
65783         round.c roundf implementation that depends on floorf and ceilf to
65784         be tested unconditionally.
65785
65786 2007-10-21  Ben Pfaff  <blp@gnu.org>
65787
65788         * m4/check-libm-func.m4: Removed.
65789         * m4/check-math-lib.m4: New file.
65790         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
65791         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
65792         definition and lack of AC_LIBOBJ([roundf]).
65793         * m4/roundl.m4: Ditto, and similarly for roundl.
65794         * modules/round: Reference new m4 file.
65795         * modules/roundf: Ditto.
65796         * modules/roundl: Ditto.
65797         * tests/test-round2.c (main): Use ROUND instead of round.
65798         Bug report from Bruno Haible.
65799
65800 2007-10-21  Bruno Haible  <bruno@clisp.org>
65801
65802         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
65803         context.
65804
65805 2007-10-21  Bruno Haible  <bruno@clisp.org>
65806
65807         * tests/test-wcwidth.c (main): Allow negative result for some control
65808         characters.
65809
65810         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
65811         Needed on OSF/1 5.1.
65812
65813 2007-10-21  Bruno Haible  <bruno@clisp.org>
65814
65815         * tests/test-floorf1.c: Include isnanf.h.
65816         (main): Use isnanf() instead of isnan().
65817         * tests/test-ceilf1.c: Include isnanf.h.
65818         (main): Use isnanf() instead of isnan().
65819         * tests/test-truncf1.c: Include isnanf.h.
65820         (main): Use isnanf() instead of isnan().
65821         * tests/test-roundf1.c: Include isnanf.h.
65822         (main): Use isnanf() instead of isnan().
65823
65824 2007-10-21  Eric Blake  <ebb9@byu.net>
65825
65826         * users.txt: Update URL for m4.
65827
65828 2007-10-21  Bruno Haible  <bruno@clisp.org>
65829
65830         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
65831
65832 2007-10-21  Bruno Haible  <bruno@clisp.org>
65833
65834         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
65835         Git's management files if the CVS files are not present.
65836
65837 2007-10-20  Bruno Haible  <bruno@clisp.org>
65838
65839         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
65840         gcc-3.4.x.
65841
65842 2007-10-20  Ben Pfaff  <blp@gnu.org>
65843
65844         * lib/math.in.h: Declare round, roundf, roundl if we are providing
65845         implementations.
65846         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
65847         * lib/round.c: New file.
65848         * lib/roundf.c: New file.
65849         * lib/roundl.c: New file.
65850         * m4/round.m4: New file.
65851         * m4/roundf.m4: New file.
65852         * m4/roundl.m4: New file.
65853         * m4/check-libm-func-m4: New file.
65854         * modules/math: Replace round, roundf, roundl related @VARS@ in
65855         math.in.h.
65856         * modules/round: New file.
65857         * modules/round-tests: New file.
65858         * modules/roundf: New file.
65859         * modules/roundf-tests: New file.
65860         * modules/roundl: New file.
65861         * modules/roundl-tests: New file.
65862         * tests/test-round1.c: New file.
65863         * tests/test-round2.c: New file.
65864         * tests/test-roundf1.c: New file.
65865         * tests/test-roundf2.c: New file.
65866         * tests/test-roundl.c: New file.
65867         * doc/functions/round.texi: Mention round module.
65868         * doc/functions/roundf.texi: Mention roundf module.
65869         * doc/functions/roundl.texi: Mention roundl module.
65870         * MODULES.html.sh: Mention new modules.
65871         Thanks to Bruno Haible for suggestions.
65872
65873 2007-10-20  Jim Meyering  <meyering@redhat.com>
65874
65875         * lib/xprintf.c: Include <config.h> unconditionally.
65876
65877         Change xprintf's license to GPL.
65878         * modules/xprintf (License): s/LGPL/GPL/, since this module
65879         depends on modules (exit and exitfail) which are GPL.
65880         Suggestion from Bruno Haible.
65881
65882         xprintf fixes.
65883         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
65884         Use a clearer diagnostic.
65885         Patch from Bruno Haible.
65886
65887 2007-10-20  Bruno Haible  <bruno@clisp.org>
65888
65889         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
65890         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
65891         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65892
65893 2007-10-20  Bruno Haible  <bruno@clisp.org>
65894
65895         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
65896         precision in the comparison result > x - 1 or similar.
65897         * tests/test-ceilf2.c (correct_result_p): Likewise.
65898         * tests/test-truncf2.c (correct_result_p): Likewise.
65899         * tests/test-trunc2.c (correct_result_p): Likewise.
65900         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65901
65902 2007-10-20  Bruno Haible  <bruno@clisp.org>
65903
65904         * modules/ceil: New file.
65905         * m4/ceil.m4: New file.
65906         * doc/functions/ceil.texi: Mention the 'ceil' module.
65907
65908 2007-10-20  Bruno Haible  <bruno@clisp.org>
65909
65910         * modules/floor: New file.
65911         * m4/floor.m4: New file.
65912         * doc/functions/floor.texi: Mention the 'floor' module.
65913
65914 2007-10-20  Bruno Haible  <bruno@clisp.org>
65915
65916         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
65917         of %a.
65918         * modules/floorf-tests (Depends-on): Likewise.
65919         * modules/truncf-tests (Depends-on): Likewise.
65920         * modules/trunc-tests (Depends-on): Likewise.
65921         Reported by Ben Pfaff.
65922
65923 2007-10-19  Jim Meyering  <meyering@redhat.com>
65924
65925         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
65926         Don't bother testing specific errno values.  Just test ferror.
65927
65928         New module: xprintf
65929         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
65930
65931 2007-10-19  Bruno Haible  <bruno@clisp.org>
65932
65933         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
65934         syntax.
65935         * modules/javaexec (Makefile.am): Likewise.
65936         * modules/relocatable-prog (Makefile.am): Likewise.
65937         Suggested by Jim Meyering.
65938
65939 2007-10-18  Bruno Haible  <bruno@clisp.org>
65940
65941         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
65942         Reported by Jim Meyering.
65943
65944 2007-10-18  Eric Blake  <ebb9@byu.net>
65945
65946         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
65947
65948 2007-10-18  Bruno Haible  <bruno@clisp.org>
65949
65950         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
65951         the format string into writable memory. Needed in Fortify conditions.
65952
65953 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
65954             Bruno Haible  <bruno@clisp.org>
65955
65956         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
65957         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
65958         * modules/trim (Depends-on): Add mbchar.
65959         (configure.ac): Add gl_FUNC_MBRTOWC.
65960         (Makefile.am): Augment lib_SOURCES.
65961
65962 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
65963
65964         Modify glob.c to use fstatat and dirfd, to simplify it.
65965         Suggested by Eric Blake.
65966         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
65967         Don't include <stdbool.h>; not used.
65968         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
65969         (link_exists_p): Simplify implementation, since we can now assume
65970         dirfd and fstatat.
65971         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
65972
65973 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65974
65975         * gnulib-tool (func_get_dependencies): Fix sed script to
65976         match only tests.
65977
65978 2007-10-17  Bruno Haible  <bruno@clisp.org>
65979
65980         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
65981         allow locale names without encoding suffix.
65982         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
65983         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65984
65985 2007-10-16  Bruno Haible  <bruno@clisp.org>
65986
65987         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
65988         * lib/getgroups.c (getgroups): Likewise.
65989         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
65990
65991 2007-10-16  Bruno Haible  <bruno@clisp.org>
65992
65993         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
65994         * modules/malloc-posix (License): Likewise.
65995         * modules/realloc-posix (License): Likewise.
65996         * modules/calloc-posix (License): Likewise.
65997         * modules/intprops (License): Change from GPL to LGPL, with
65998         Paul Eggert's approval.
65999
66000 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
66001
66002         Merge glibc changes into lib/glob.c.
66003
66004         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
66005         2007-10-15 04:59:03 UTC.  Here are the changes:
66006
66007         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
66008
66009         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
66010
66011         * lib/glob.c: Add some branch prediction throughout.
66012
66013         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
66014
66015         [BZ #5103]
66016         * lib/glob.c (glob): Recognize patterns starting \/.
66017
66018         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
66019
66020         [BZ #3996]
66021         * lib/glob.c (attribute_hidden): Define if not defined.
66022         (glob): Unescape dirname, filename or username when needed and not
66023         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
66024         is NULL.  Handle unescaped [ in pattern without closing ].
66025         Don't pass GLOB_CHECK down to recursive glob for directories.
66026         (__glob_pattern_type): New function.
66027         (__glob_pattern_p): Implement using __glob_pattern_type.
66028         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
66029         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
66030         Remove unreachable code.
66031
66032         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
66033
66034         * lib/glob.c (glob_in_dir): Add some comments and asserts to
66035         explain why there are no leaks.
66036
66037         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
66038
66039         [BZ #3253]
66040         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
66041         time, rather allocate increasingly bigger arrays of pointers, if
66042         possible with alloca, if too large with malloc.
66043
66044 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
66045
66046         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
66047         Problem reported by H.Merijn Brand in
66048         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
66049         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
66050         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
66051
66052 2007-10-15  Bruno Haible  <bruno@clisp.org>
66053
66054         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
66055         with explicit rpl_ prefix.
66056         * lib/fopen.c (fopen): Likewise.
66057         * lib/freopen.c (freopen): Likewise.
66058         * lib/iconv.c (iconv): Likewise.
66059         * lib/iconv_close.c (iconv_close): Likewise.
66060
66061 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66062
66063         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
66064
66065 2007-10-15  Bruno Haible  <bruno@clisp.org>
66066
66067         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
66068         <stddef.h> instead of <stdlib.h> since we only need NULL.
66069         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66070
66071 2007-10-15  Bruno Haible  <bruno@clisp.org>
66072
66073         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
66074         Replace paragraph talking about LIBOBJS.
66075         Reported by Colin Watson <cjwatson@debian.org>.
66076
66077 2007-10-15  Bruno Haible  <bruno@clisp.org>
66078
66079         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
66080         <stdlib.h> before using NULL.
66081
66082 2007-10-15  Simon Josefsson  <simon@josefsson.org>
66083
66084         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
66085         Reported by Albert Chin <china@thewrittenword.com>.
66086
66087 2007-10-14  Bruno Haible  <bruno@clisp.org>
66088
66089         * modules/iconv_open-utf-tests: New file.
66090         * tests/test-iconv-utf.c: New file.
66091
66092         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
66093         * modules/iconv_open-utf: New file.
66094         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
66095         (iconv, iconv_close): New declarations.
66096         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
66097         be defined.
66098         (iconv_open): Add special handling of conversion between UTF-8 and
66099         UTF-{16,32}{BE,LE}.
66100         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
66101         * lib/iconv_close.c: New file.
66102         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
66103         gl_FUNC_ICONV_OPEN.
66104         (gl_FUNC_ICONV_OPEN): Use it.
66105         (gl_FUNC_ICONV_OPEN_UTF): New macro.
66106         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
66107         and REPLACE_ICONV_UTF.
66108         * modules/iconv_open (Depends-on): Add c-strcase.
66109         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
66110         ICONV_CONST.
66111         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
66112
66113 2007-10-13  Albert Chin  <china@thewrittenword.com>
66114             Bruno Haible  <bruno@clisp.org>
66115
66116         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
66117         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
66118
66119 2007-10-13  Bruno Haible  <bruno@clisp.org>
66120
66121         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
66122         defined, use the ISO C99 inline semantics.
66123         * lib/argp.h (ARGP_EI): Likewise.
66124
66125 2007-10-13  Bruno Haible  <bruno@clisp.org>
66126
66127         Handle 'inline' change in gcc 4.3.0.
66128         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
66129         argp_fmtstream_write, argp_fmtstream_set_lmargin,
66130         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
66131         argp_fmtstream_point): Disable 'extern' declaration if the function
66132         definition is going to be provided inline.
66133         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
66134         semantics, not the ISO C99 inline semantics.
66135         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
66136         'extern' declaration if the function definition is going to be provided
66137         inline.
66138         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
66139         the GNU C inline semantics, not the ISO C99 inline semantics. With
66140         GCC 4.2, avoid a warning.
66141
66142 2007-10-13  Bruno Haible  <bruno@clisp.org>
66143
66144         * lib/freading.h (freading): Enable the use of __freading for
66145         glibc >= 2.7.
66146         * lib/freading.c (freading): Likewise.
66147
66148 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66149
66150         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
66151         "warning: C99 inline functions are not supported; using GNU89".
66152
66153 2007-10-12  Bruno Haible  <bruno@clisp.org>
66154
66155         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
66156         of 2.
66157         * tests/test-ceilf2.c: New file.
66158         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
66159
66160         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
66161         * modules/ceilf-tests: Update.
66162
66163 2007-10-12  Bruno Haible  <bruno@clisp.org>
66164
66165         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
66166         of 2.
66167         * tests/test-floorf2.c: New file.
66168         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
66169
66170         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
66171         * modules/floorf-tests: Update.
66172
66173 2007-10-12  Bruno Haible  <bruno@clisp.org>
66174
66175         * tests/test-trunc2.c: New file.
66176         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
66177
66178         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
66179         * modules/trunc-tests: Update.
66180
66181 2007-10-12  Bruno Haible  <bruno@clisp.org>
66182
66183         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
66184         of 2.
66185         * tests/test-truncf2.c: New file.
66186         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
66187
66188         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
66189         * modules/truncf-tests: Update.
66190
66191 2007-10-11  Eric Blake  <ebb9@byu.net>
66192
66193         Don't claim strerror is broken on Interix.
66194         * doc/functions/strerror.texi (strerror): Known broken systems are
66195         now Solaris 8, and not Interix.
66196         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
66197         Interix on cross-compile.
66198         Reported by Martin Koeppe in
66199         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
66200
66201 2007-10-11  Bruno Haible  <bruno@clisp.org>
66202
66203         * modules/i-ring-tests: New file.
66204         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
66205         instead of assert.
66206
66207 2007-10-11  Bruno Haible  <bruno@clisp.org>
66208
66209         * modules/filenamecat-tests: New file.
66210         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
66211         * lib/filenamecat.c: Remove test code.
66212
66213 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66214
66215         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
66216
66217         * lib/strerror.c: Include <string.h> always, to test interface,
66218         and to remove the need for the dummy.
66219         Include intprops.h to compute width instead of doing it ourselves
66220         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
66221         (strerror): Define it to return NULL if there's no system strerror.
66222         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
66223         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
66224         ancient pre-strerror Unix systems well any more.  Saying "unknown
66225         system error" is enough.
66226         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
66227         simpler strerror.c implementation.
66228         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
66229         Simplify the tests to reflect the simpler strerror implementation.
66230         * modules/strerror (Depends-on): Add intprops.
66231
66232 2007-10-09  Eric Blake  <ebb9@byu.net>
66233
66234         Silence test-fpending.
66235         * modules/fpending-tests (Files): Add wrapper script.
66236         * tests/test-fpending.sh: New file.
66237
66238 2007-10-09  Bruno Haible  <bruno@clisp.org>
66239
66240         * MODULES.html.sh (func_module): Don't create a hyperlink for
66241         function names like 'printf_frexp'.
66242         (Misc): Add crc, memxor.
66243         (Characteristics of floating types): New section.
66244         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
66245         isnanf-nolibm, signbit, trunc, truncf, truncl.
66246         (Enhancements for ISO C 99 functions): New subsection Input/output.
66247         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
66248         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
66249         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
66250         (Compatibility checks for POSIX:2001 functions): Add clock-time.
66251         (Enhancements for POSIX:2001 functions): Add chdir-long.
66252         (File system functions): Add areadlink, chdir-safer, read-file.
66253         Remove cycle-check.
66254         (File system as inode set): New section.
66255         (Date and time): Add gethrxtime.
66256         (Multithreading): Add openmp.
66257         (Internationalization functions): Add localename.
66258         (Unicode string functions): Add unistr/u*-mbsnlen.
66259         (Support for maintaining and releasing projects): Add git-version-gen.
66260         (Lone files): Remove directories.
66261
66262 2007-10-08  Ben Pfaff  <blp@gnu.org>
66263
66264         * lib/xmalloca.h: Fix typo in comment.
66265
66266 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66267
66268         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
66269         when avoiding problems with integer overflow.  Use a portable test
66270         instead.
66271
66272 2007-10-08  Simon Josefsson  <simon@josefsson.org>
66273
66274         * modules/dummy (License): Change to LGPLv2+.
66275         * modules/float (License): Likewise
66276         * modules/realloc (License): Likewise
66277         * modules/stdlib (License): Likewise
66278
66279 2007-10-07  Bruno Haible  <bruno@clisp.org>
66280
66281         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
66282         * floor.c (TWO_MANT_DIG): Likewise.
66283         * ceil.c (TWO_MANT_DIG): Likewise.
66284         Reported by Ben Pfaff.
66285
66286 2007-10-07  Bruno Haible  <bruno@clisp.org>
66287
66288         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
66289         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
66290         * lib/frexp.c (FUNC): Likewise.
66291         * lib/printf-frexp.h (printf_frexp): Likewise.
66292         * lib/printf-frexpl.h (printf_frexpl): Likewise.
66293         * lib/printf-frexp.c (FUNC): Likewise.
66294         Suggested by Jim Meyering.
66295
66296 2007-10-07  Jim Meyering  <meyering@redhat.com>
66297
66298         Make xnanosleep's integer overflow test more robust.
66299         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
66300         so that gcc-4.3.0 doesn't optimize away this test for overflow.
66301
66302 2007-10-07  Bruno Haible  <bruno@clisp.org>
66303
66304         * NEWS: Mention the license change.
66305
66306         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
66307         abbreviations in the modules files.
66308
66309         Change copyright notice from GPLv2+ to GPLv3+.
66310         * README: Change copyright notice.
66311         * MODULES.html.sh: Likewise.
66312         * build-aux/bootstrap.conf: Likewise.
66313         * build-aux/config.libpath: Likewise.
66314         * build-aux/csharpcomp.sh.in: Likewise.
66315         * build-aux/csharpexec.sh.in: Likewise.
66316         * build-aux/install-reloc: Likewise.
66317         * build-aux/javacomp.sh.in: Likewise.
66318         * build-aux/javaexec.sh.in: Likewise.
66319         * build-aux/ldd.sh.in: Likewise.
66320         * build-aux/reloc-ldflags: Likewise.
66321         * build-aux/relocatable.sh.in: Likewise.
66322         * build-aux/x-to-1.in: Likewise.
66323         * check-module: Likewise.
66324         * config/srclistvars.sh: Likewise.
66325         * gnulib-tool: Likewise.
66326         * lib/acl-internal.h: Likewise.
66327         * lib/acl.c: Likewise.
66328         * lib/acl.h: Likewise.
66329         * lib/acl_entries.c: Likewise.
66330         * lib/areadlink-with-size.c: Likewise.
66331         * lib/areadlink.c: Likewise.
66332         * lib/areadlink.h: Likewise.
66333         * lib/argmatch.c: Likewise.
66334         * lib/argmatch.h: Likewise.
66335         * lib/argp-ba.c: Likewise.
66336         * lib/argp-eexst.c: Likewise.
66337         * lib/argp-fmtstream.c: Likewise.
66338         * lib/argp-fmtstream.h: Likewise.
66339         * lib/argp-fs-xinl.c: Likewise.
66340         * lib/argp-help.c: Likewise.
66341         * lib/argp-namefrob.h: Likewise.
66342         * lib/argp-parse.c: Likewise.
66343         * lib/argp-pin.c: Likewise.
66344         * lib/argp-pv.c: Likewise.
66345         * lib/argp-pvh.c: Likewise.
66346         * lib/argp-xinl.c: Likewise.
66347         * lib/argp.h: Likewise.
66348         * lib/at-func.c: Likewise.
66349         * lib/atanl.c: Likewise.
66350         * lib/backupfile.c: Likewise.
66351         * lib/backupfile.h: Likewise.
66352         * lib/basename.c: Likewise.
66353         * lib/binary-io.h: Likewise.
66354         * lib/byteswap.in.h: Likewise.
66355         * lib/c-stack.c: Likewise.
66356         * lib/c-stack.h: Likewise.
66357         * lib/c-strcasestr.c: Likewise.
66358         * lib/c-strcasestr.h: Likewise.
66359         * lib/c-strstr.c: Likewise.
66360         * lib/c-strstr.h: Likewise.
66361         * lib/c-strtod.c: Likewise.
66362         * lib/calloc.c: Likewise.
66363         * lib/canon-host.c: Likewise.
66364         * lib/canon-host.h: Likewise.
66365         * lib/canonicalize-lgpl.c: Likewise.
66366         * lib/canonicalize.c: Likewise.
66367         * lib/canonicalize.h: Likewise.
66368         * lib/ceil.c: Likewise.
66369         * lib/ceilf.c: Likewise.
66370         * lib/ceill.c: Likewise.
66371         * lib/chdir-long.c: Likewise.
66372         * lib/chdir-long.h: Likewise.
66373         * lib/chdir-safer.c: Likewise.
66374         * lib/chdir-safer.h: Likewise.
66375         * lib/chown.c: Likewise.
66376         * lib/classpath.c: Likewise.
66377         * lib/classpath.h: Likewise.
66378         * lib/clean-temp.c: Likewise.
66379         * lib/clean-temp.h: Likewise.
66380         * lib/cloexec.c: Likewise.
66381         * lib/close-stream.c: Likewise.
66382         * lib/closein.c: Likewise.
66383         * lib/closein.h: Likewise.
66384         * lib/closeout.c: Likewise.
66385         * lib/closeout.h: Likewise.
66386         * lib/concat-filename.c: Likewise.
66387         * lib/copy-file.c: Likewise.
66388         * lib/copy-file.h: Likewise.
66389         * lib/count-one-bits.h: Likewise.
66390         * lib/crc.c: Likewise.
66391         * lib/crc.h: Likewise.
66392         * lib/creat-safer.c: Likewise.
66393         * lib/csharpcomp.c: Likewise.
66394         * lib/csharpcomp.h: Likewise.
66395         * lib/csharpexec.c: Likewise.
66396         * lib/csharpexec.h: Likewise.
66397         * lib/cycle-check.c: Likewise.
66398         * lib/cycle-check.h: Likewise.
66399         * lib/diacrit.c: Likewise.
66400         * lib/diacrit.h: Likewise.
66401         * lib/diffseq.h: Likewise.
66402         * lib/dirchownmod.c: Likewise.
66403         * lib/dirent.in.h: Likewise.
66404         * lib/dirfd.c: Likewise.
66405         * lib/dirfd.h: Likewise.
66406         * lib/dirname.c: Likewise.
66407         * lib/dirname.h: Likewise.
66408         * lib/dummy.c: Likewise.
66409         * lib/dup-safer.c: Likewise.
66410         * lib/dup2.c: Likewise.
66411         * lib/eealloc.h: Likewise.
66412         * lib/error.c: Likewise.
66413         * lib/error.h: Likewise.
66414         * lib/euidaccess.c: Likewise.
66415         * lib/exclude.c: Likewise.
66416         * lib/exclude.h: Likewise.
66417         * lib/execute.c: Likewise.
66418         * lib/execute.h: Likewise.
66419         * lib/exitfail.c: Likewise.
66420         * lib/exitfail.h: Likewise.
66421         * lib/expl.c: Likewise.
66422         * lib/fatal-signal.c: Likewise.
66423         * lib/fatal-signal.h: Likewise.
66424         * lib/fbufmode.c: Likewise.
66425         * lib/fbufmode.h: Likewise.
66426         * lib/fchdir.c: Likewise.
66427         * lib/fchmodat.c: Likewise.
66428         * lib/fchownat.c: Likewise.
66429         * lib/fcntl--.h: Likewise.
66430         * lib/fcntl-safer.h: Likewise.
66431         * lib/fcntl.in.h: Likewise.
66432         * lib/fd-safer.c: Likewise.
66433         * lib/fflush.c: Likewise.
66434         * lib/file-has-acl.c: Likewise.
66435         * lib/file-set.c: Likewise.
66436         * lib/file-type.c: Likewise.
66437         * lib/file-type.h: Likewise.
66438         * lib/fileblocks.c: Likewise.
66439         * lib/filemode.c: Likewise.
66440         * lib/filemode.h: Likewise.
66441         * lib/filename.h: Likewise.
66442         * lib/filenamecat.c: Likewise.
66443         * lib/filenamecat.h: Likewise.
66444         * lib/findprog.c: Likewise.
66445         * lib/findprog.h: Likewise.
66446         * lib/float.in.h: Likewise.
66447         * lib/floor.c: Likewise.
66448         * lib/floorf.c: Likewise.
66449         * lib/floorl.c: Likewise.
66450         * lib/fopen-safer.c: Likewise.
66451         * lib/fopen.c: Likewise.
66452         * lib/fpending.c: Likewise.
66453         * lib/fpending.h: Likewise.
66454         * lib/fprintf.c: Likewise.
66455         * lib/fprintftime.h: Likewise.
66456         * lib/fpucw.h: Likewise.
66457         * lib/fpurge.c: Likewise.
66458         * lib/fpurge.h: Likewise.
66459         * lib/freadable.c: Likewise.
66460         * lib/freadable.h: Likewise.
66461         * lib/freadahead.c: Likewise.
66462         * lib/freadahead.h: Likewise.
66463         * lib/freading.c: Likewise.
66464         * lib/freading.h: Likewise.
66465         * lib/free.c: Likewise.
66466         * lib/freopen.c: Likewise.
66467         * lib/frexp.c: Likewise.
66468         * lib/frexpl.c: Likewise.
66469         * lib/fseek.c: Likewise.
66470         * lib/fseterr.c: Likewise.
66471         * lib/fseterr.h: Likewise.
66472         * lib/fstatat.c: Likewise.
66473         * lib/fstrcmp.c: Likewise.
66474         * lib/fstrcmp.h: Likewise.
66475         * lib/fsusage.c: Likewise.
66476         * lib/fsusage.h: Likewise.
66477         * lib/ftell.c: Likewise.
66478         * lib/ftello.c: Likewise.
66479         * lib/fts-cycle.c: Likewise.
66480         * lib/fts.c: Likewise.
66481         * lib/fts_.h: Likewise.
66482         * lib/full-read.c: Likewise.
66483         * lib/full-read.h: Likewise.
66484         * lib/full-write.c: Likewise.
66485         * lib/full-write.h: Likewise.
66486         * lib/fwritable.c: Likewise.
66487         * lib/fwritable.h: Likewise.
66488         * lib/fwriteerror.c: Likewise.
66489         * lib/fwriteerror.h: Likewise.
66490         * lib/fwriting.c: Likewise.
66491         * lib/fwriting.h: Likewise.
66492         * lib/gcd.c: Likewise.
66493         * lib/gcd.h: Likewise.
66494         * lib/getcwd.c: Likewise.
66495         * lib/getdate.h: Likewise.
66496         * lib/getdate.y: Likewise.
66497         * lib/getdomainname.c: Likewise.
66498         * lib/getdomainname.h: Likewise.
66499         * lib/getgroups.c: Likewise.
66500         * lib/gethostname.c: Likewise.
66501         * lib/gethrxtime.c: Likewise.
66502         * lib/gethrxtime.h: Likewise.
66503         * lib/getloadavg.c: Likewise.
66504         * lib/getndelim2.c: Likewise.
66505         * lib/getndelim2.h: Likewise.
66506         * lib/getnline.c: Likewise.
66507         * lib/getnline.h: Likewise.
66508         * lib/getopt.c: Likewise.
66509         * lib/getopt.in.h: Likewise.
66510         * lib/getopt1.c: Likewise.
66511         * lib/getopt_int.h: Likewise.
66512         * lib/getpagesize.h: Likewise.
66513         * lib/getsubopt.c: Likewise.
66514         * lib/gettime.c: Likewise.
66515         * lib/getugroups.c: Likewise.
66516         * lib/getugroups.h: Likewise.
66517         * lib/getusershell.c: Likewise.
66518         * lib/gl_anyavltree_list1.h: Likewise.
66519         * lib/gl_anyavltree_list2.h: Likewise.
66520         * lib/gl_anyhash_list1.h: Likewise.
66521         * lib/gl_anyhash_list2.h: Likewise.
66522         * lib/gl_anylinked_list1.h: Likewise.
66523         * lib/gl_anylinked_list2.h: Likewise.
66524         * lib/gl_anyrbtree_list1.h: Likewise.
66525         * lib/gl_anyrbtree_list2.h: Likewise.
66526         * lib/gl_anytree_list1.h: Likewise.
66527         * lib/gl_anytree_list2.h: Likewise.
66528         * lib/gl_anytree_oset.h: Likewise.
66529         * lib/gl_anytreehash_list1.h: Likewise.
66530         * lib/gl_anytreehash_list2.h: Likewise.
66531         * lib/gl_array_list.c: Likewise.
66532         * lib/gl_array_list.h: Likewise.
66533         * lib/gl_array_oset.c: Likewise.
66534         * lib/gl_array_oset.h: Likewise.
66535         * lib/gl_avltree_list.c: Likewise.
66536         * lib/gl_avltree_list.h: Likewise.
66537         * lib/gl_avltree_oset.c: Likewise.
66538         * lib/gl_avltree_oset.h: Likewise.
66539         * lib/gl_avltreehash_list.c: Likewise.
66540         * lib/gl_avltreehash_list.h: Likewise.
66541         * lib/gl_carray_list.c: Likewise.
66542         * lib/gl_carray_list.h: Likewise.
66543         * lib/gl_linked_list.c: Likewise.
66544         * lib/gl_linked_list.h: Likewise.
66545         * lib/gl_linkedhash_list.c: Likewise.
66546         * lib/gl_linkedhash_list.h: Likewise.
66547         * lib/gl_list.c: Likewise.
66548         * lib/gl_list.h: Likewise.
66549         * lib/gl_oset.c: Likewise.
66550         * lib/gl_oset.h: Likewise.
66551         * lib/gl_rbtree_list.c: Likewise.
66552         * lib/gl_rbtree_list.h: Likewise.
66553         * lib/gl_rbtree_oset.c: Likewise.
66554         * lib/gl_rbtree_oset.h: Likewise.
66555         * lib/gl_rbtreehash_list.c: Likewise.
66556         * lib/gl_rbtreehash_list.h: Likewise.
66557         * lib/gl_sublist.c: Likewise.
66558         * lib/gl_sublist.h: Likewise.
66559         * lib/group-member.c: Likewise.
66560         * lib/group-member.h: Likewise.
66561         * lib/hard-locale.c: Likewise.
66562         * lib/hard-locale.h: Likewise.
66563         * lib/hash-pjw.c: Likewise.
66564         * lib/hash-pjw.h: Likewise.
66565         * lib/hash-triple.c: Likewise.
66566         * lib/hash.c: Likewise.
66567         * lib/hash.h: Likewise.
66568         * lib/human.c: Likewise.
66569         * lib/human.h: Likewise.
66570         * lib/i-ring.c: Likewise.
66571         * lib/i-ring.h: Likewise.
66572         * lib/idcache.c: Likewise.
66573         * lib/imaxabs.c: Likewise.
66574         * lib/imaxdiv.c: Likewise.
66575         * lib/inet_pton.c: Likewise.
66576         * lib/inet_pton.h: Likewise.
66577         * lib/intprops.h: Likewise.
66578         * lib/inttostr.c: Likewise.
66579         * lib/inttostr.h: Likewise.
66580         * lib/inttypes.in.h: Likewise.
66581         * lib/isapipe.c: Likewise.
66582         * lib/isdir.c: Likewise.
66583         * lib/isnan.c: Likewise.
66584         * lib/isnan.h: Likewise.
66585         * lib/isnanf.c: Likewise.
66586         * lib/isnanf.h: Likewise.
66587         * lib/isnanl-nolibm.h: Likewise.
66588         * lib/isnanl.c: Likewise.
66589         * lib/isnanl.h: Likewise.
66590         * lib/javacomp.c: Likewise.
66591         * lib/javacomp.h: Likewise.
66592         * lib/javaexec.c: Likewise.
66593         * lib/javaexec.h: Likewise.
66594         * lib/javaversion.c: Likewise.
66595         * lib/javaversion.h: Likewise.
66596         * lib/javaversion.java: Likewise.
66597         * lib/lbrkprop.h: Likewise.
66598         * lib/lchmod.h: Likewise.
66599         * lib/lchown.c: Likewise.
66600         * lib/ldexpl.c: Likewise.
66601         * lib/linebreak.c: Likewise.
66602         * lib/linebreak.h: Likewise.
66603         * lib/linebuffer.c: Likewise.
66604         * lib/linebuffer.h: Likewise.
66605         * lib/locale.in.h: Likewise.
66606         * lib/logl.c: Likewise.
66607         * lib/long-options.c: Likewise.
66608         * lib/long-options.h: Likewise.
66609         * lib/lstat.c: Likewise.
66610         * lib/lstat.h: Likewise.
66611         * lib/math.in.h: Likewise.
66612         * lib/mbchar.c: Likewise.
66613         * lib/mbchar.h: Likewise.
66614         * lib/mbfile.h: Likewise.
66615         * lib/mbiter.h: Likewise.
66616         * lib/mbscasecmp.c: Likewise.
66617         * lib/mbscasestr.c: Likewise.
66618         * lib/mbschr.c: Likewise.
66619         * lib/mbscspn.c: Likewise.
66620         * lib/mbslen.c: Likewise.
66621         * lib/mbsncasecmp.c: Likewise.
66622         * lib/mbsnlen.c: Likewise.
66623         * lib/mbspbrk.c: Likewise.
66624         * lib/mbspcasecmp.c: Likewise.
66625         * lib/mbsrchr.c: Likewise.
66626         * lib/mbssep.c: Likewise.
66627         * lib/mbsspn.c: Likewise.
66628         * lib/mbsstr.c: Likewise.
66629         * lib/mbstok_r.c: Likewise.
66630         * lib/mbswidth.c: Likewise.
66631         * lib/mbswidth.h: Likewise.
66632         * lib/mbuiter.h: Likewise.
66633         * lib/memcasecmp.c: Likewise.
66634         * lib/memcasecmp.h: Likewise.
66635         * lib/memchr.c: Likewise.
66636         * lib/memcmp.c: Likewise.
66637         * lib/memcoll.c: Likewise.
66638         * lib/memcoll.h: Likewise.
66639         * lib/memcpy.c: Likewise.
66640         * lib/memrchr.c: Likewise.
66641         * lib/mkancesdirs.c: Likewise.
66642         * lib/mkdir-p.c: Likewise.
66643         * lib/mkdir-p.h: Likewise.
66644         * lib/mkdir.c: Likewise.
66645         * lib/mkdirat.c: Likewise.
66646         * lib/mkdtemp.c: Likewise.
66647         * lib/mkstemp-safer.c: Likewise.
66648         * lib/mkstemp.c: Likewise.
66649         * lib/modechange.c: Likewise.
66650         * lib/modechange.h: Likewise.
66651         * lib/mountlist.c: Likewise.
66652         * lib/mountlist.h: Likewise.
66653         * lib/mpsort.c: Likewise.
66654         * lib/nanosleep.c: Likewise.
66655         * lib/obstack.c: Likewise.
66656         * lib/obstack.h: Likewise.
66657         * lib/open-safer.c: Likewise.
66658         * lib/open.c: Likewise.
66659         * lib/openat-die.c: Likewise.
66660         * lib/openat-priv.h: Likewise.
66661         * lib/openat-proc.c: Likewise.
66662         * lib/openat.c: Likewise.
66663         * lib/openat.h: Likewise.
66664         * lib/pagealign_alloc.c: Likewise.
66665         * lib/pagealign_alloc.h: Likewise.
66666         * lib/physmem.c: Likewise.
66667         * lib/physmem.h: Likewise.
66668         * lib/pipe-safer.c: Likewise.
66669         * lib/pipe.c: Likewise.
66670         * lib/pipe.h: Likewise.
66671         * lib/posixtm.c: Likewise.
66672         * lib/posixtm.h: Likewise.
66673         * lib/posixver.c: Likewise.
66674         * lib/printf-frexp.c: Likewise.
66675         * lib/printf-frexp.h: Likewise.
66676         * lib/printf-frexpl.c: Likewise.
66677         * lib/printf-frexpl.h: Likewise.
66678         * lib/printf.c: Likewise.
66679         * lib/progname.c: Likewise.
66680         * lib/progname.h: Likewise.
66681         * lib/progreloc.c: Likewise.
66682         * lib/putenv.c: Likewise.
66683         * lib/quote.c: Likewise.
66684         * lib/quote.h: Likewise.
66685         * lib/quotearg.c: Likewise.
66686         * lib/quotearg.h: Likewise.
66687         * lib/raise.c: Likewise.
66688         * lib/readline.c: Likewise.
66689         * lib/readline.h: Likewise.
66690         * lib/readlink.c: Likewise.
66691         * lib/readtokens.c: Likewise.
66692         * lib/readtokens.h: Likewise.
66693         * lib/readtokens0.c: Likewise.
66694         * lib/readtokens0.h: Likewise.
66695         * lib/readutmp.c: Likewise.
66696         * lib/readutmp.h: Likewise.
66697         * lib/realloc.c: Likewise.
66698         * lib/relocwrapper.c: Likewise.
66699         * lib/rename-dest-slash.c: Likewise.
66700         * lib/rename.c: Likewise.
66701         * lib/rmdir.c: Likewise.
66702         * lib/rpmatch.c: Likewise.
66703         * lib/safe-read.c: Likewise.
66704         * lib/safe-read.h: Likewise.
66705         * lib/safe-write.c: Likewise.
66706         * lib/safe-write.h: Likewise.
66707         * lib/same-inode.h: Likewise.
66708         * lib/same.c: Likewise.
66709         * lib/same.h: Likewise.
66710         * lib/save-cwd.c: Likewise.
66711         * lib/save-cwd.h: Likewise.
66712         * lib/savedir.c: Likewise.
66713         * lib/savedir.h: Likewise.
66714         * lib/savewd.c: Likewise.
66715         * lib/savewd.h: Likewise.
66716         * lib/search.in.h: Likewise.
66717         * lib/setenv.c: Likewise.
66718         * lib/setenv.h: Likewise.
66719         * lib/settime.c: Likewise.
66720         * lib/sh-quote.c: Likewise.
66721         * lib/sh-quote.h: Likewise.
66722         * lib/sig2str.c: Likewise.
66723         * lib/sig2str.h: Likewise.
66724         * lib/signal.in.h: Likewise.
66725         * lib/signbitd.c: Likewise.
66726         * lib/signbitf.c: Likewise.
66727         * lib/signbitl.c: Likewise.
66728         * lib/sigprocmask.c: Likewise.
66729         * lib/sincosl.c: Likewise.
66730         * lib/sleep.c: Likewise.
66731         * lib/sprintf.c: Likewise.
66732         * lib/sqrtl.c: Likewise.
66733         * lib/stat-time.h: Likewise.
66734         * lib/stdio--.h: Likewise.
66735         * lib/stdio-safer.h: Likewise.
66736         * lib/stdlib--.h: Likewise.
66737         * lib/stdlib-safer.h: Likewise.
66738         * lib/stdlib.in.h: Likewise.
66739         * lib/stpcpy.c: Likewise.
66740         * lib/stpncpy.c: Likewise.
66741         * lib/strchrnul.c: Likewise.
66742         * lib/strcspn.c: Likewise.
66743         * lib/strerror.c: Likewise.
66744         * lib/strftime.c: Likewise.
66745         * lib/strftime.h: Likewise.
66746         * lib/striconveh.c: Likewise.
66747         * lib/striconveh.h: Likewise.
66748         * lib/striconveha.c: Likewise.
66749         * lib/striconveha.h: Likewise.
66750         * lib/stripslash.c: Likewise.
66751         * lib/strnlen1.c: Likewise.
66752         * lib/strnlen1.h: Likewise.
66753         * lib/strtod.c: Likewise.
66754         * lib/strtoimax.c: Likewise.
66755         * lib/strtok_r.c: Likewise.
66756         * lib/strtol.c: Likewise.
66757         * lib/strtoll.c: Likewise.
66758         * lib/strtoul.c: Likewise.
66759         * lib/strtoull.c: Likewise.
66760         * lib/sysexits.in.h: Likewise.
66761         * lib/tempname.c: Likewise.
66762         * lib/tempname.h: Likewise.
66763         * lib/timespec.h: Likewise.
66764         * lib/tls.c: Likewise.
66765         * lib/tls.h: Likewise.
66766         * lib/tmpdir.c: Likewise.
66767         * lib/tmpdir.h: Likewise.
66768         * lib/tmpfile-safer.c: Likewise.
66769         * lib/tmpfile.c: Likewise.
66770         * lib/trigl.c: Likewise.
66771         * lib/trigl.h: Likewise.
66772         * lib/trim.c: Likewise.
66773         * lib/trim.h: Likewise.
66774         * lib/trunc.c: Likewise.
66775         * lib/truncf.c: Likewise.
66776         * lib/truncl.c: Likewise.
66777         * lib/tsearch.c: Likewise.
66778         * lib/unicodeio.c: Likewise.
66779         * lib/unicodeio.h: Likewise.
66780         * lib/unistd--.h: Likewise.
66781         * lib/unistd-safer.h: Likewise.
66782         * lib/unistdio/ulc-fprintf.c: Likewise.
66783         * lib/unistdio/ulc-vfprintf.c: Likewise.
66784         * lib/unlinkdir.c: Likewise.
66785         * lib/unlinkdir.h: Likewise.
66786         * lib/unlocked-io.h: Likewise.
66787         * lib/unsetenv.c: Likewise.
66788         * lib/userspec.c: Likewise.
66789         * lib/utime.c: Likewise.
66790         * lib/utimecmp.c: Likewise.
66791         * lib/utimecmp.h: Likewise.
66792         * lib/utimens.c: Likewise.
66793         * lib/verify.h: Likewise.
66794         * lib/verror.c: Likewise.
66795         * lib/verror.h: Likewise.
66796         * lib/version-etc-fsf.c: Likewise.
66797         * lib/version-etc.c: Likewise.
66798         * lib/version-etc.h: Likewise.
66799         * lib/vfprintf.c: Likewise.
66800         * lib/vprintf.c: Likewise.
66801         * lib/vsprintf.c: Likewise.
66802         * lib/w32spawn.h: Likewise.
66803         * lib/wait-process.c: Likewise.
66804         * lib/wait-process.h: Likewise.
66805         * lib/wcwidth.c: Likewise.
66806         * lib/write-any-file.c: Likewise.
66807         * lib/xalloc-die.c: Likewise.
66808         * lib/xalloc.h: Likewise.
66809         * lib/xasprintf.c: Likewise.
66810         * lib/xgetcwd.c: Likewise.
66811         * lib/xgetcwd.h: Likewise.
66812         * lib/xgetdomainname.c: Likewise.
66813         * lib/xgetdomainname.h: Likewise.
66814         * lib/xgethostname.c: Likewise.
66815         * lib/xmalloc.c: Likewise.
66816         * lib/xmalloca.c: Likewise.
66817         * lib/xmalloca.h: Likewise.
66818         * lib/xmemcoll.c: Likewise.
66819         * lib/xnanosleep.c: Likewise.
66820         * lib/xreadlink.c: Likewise.
66821         * lib/xreadlink.h: Likewise.
66822         * lib/xsetenv.c: Likewise.
66823         * lib/xsetenv.h: Likewise.
66824         * lib/xstriconv.c: Likewise.
66825         * lib/xstriconv.h: Likewise.
66826         * lib/xstrndup.c: Likewise.
66827         * lib/xstrndup.h: Likewise.
66828         * lib/xstrtod.c: Likewise.
66829         * lib/xstrtod.h: Likewise.
66830         * lib/xstrtol-error.c: Likewise.
66831         * lib/xstrtol.c: Likewise.
66832         * lib/xstrtol.h: Likewise.
66833         * lib/xtime.h: Likewise.
66834         * lib/xvasprintf.c: Likewise.
66835         * lib/xvasprintf.h: Likewise.
66836         * lib/yesno.c: Likewise.
66837         * lib/yesno.h: Likewise.
66838         * posix-modules: Likewise.
66839         * tests/test-alloca-opt.c: Likewise.
66840         * tests/test-arcfour.c: Likewise.
66841         * tests/test-arctwo.c: Likewise.
66842         * tests/test-argmatch.c: Likewise.
66843         * tests/test-argp-2.sh: Likewise.
66844         * tests/test-argp.c: Likewise.
66845         * tests/test-arpa_inet.c: Likewise.
66846         * tests/test-array_list.c: Likewise.
66847         * tests/test-array_oset.c: Likewise.
66848         * tests/test-atexit.c: Likewise.
66849         * tests/test-avltree_list.c: Likewise.
66850         * tests/test-avltree_oset.c: Likewise.
66851         * tests/test-avltreehash_list.c: Likewise.
66852         * tests/test-base64.c: Likewise.
66853         * tests/test-binary-io.c: Likewise.
66854         * tests/test-byteswap.c: Likewise.
66855         * tests/test-c-ctype.c: Likewise.
66856         * tests/test-c-strcasecmp.c: Likewise.
66857         * tests/test-c-strcasestr.c: Likewise.
66858         * tests/test-c-strncasecmp.c: Likewise.
66859         * tests/test-c-strstr.c: Likewise.
66860         * tests/test-canonicalize-lgpl.c: Likewise.
66861         * tests/test-canonicalize.c: Likewise.
66862         * tests/test-carray_list.c: Likewise.
66863         * tests/test-ceilf.c: Likewise.
66864         * tests/test-ceill.c: Likewise.
66865         * tests/test-count-one-bits.c: Likewise.
66866         * tests/test-crc.c: Likewise.
66867         * tests/test-dirname.c: Likewise.
66868         * tests/test-fbufmode.c: Likewise.
66869         * tests/test-fcntl.c: Likewise.
66870         * tests/test-fflush.c: Likewise.
66871         * tests/test-floorf.c: Likewise.
66872         * tests/test-floorl.c: Likewise.
66873         * tests/test-fopen.c: Likewise.
66874         * tests/test-fprintf-posix.c: Likewise.
66875         * tests/test-fprintf-posix.h: Likewise.
66876         * tests/test-fpurge.c: Likewise.
66877         * tests/test-freadable.c: Likewise.
66878         * tests/test-freadahead.c: Likewise.
66879         * tests/test-freading.c: Likewise.
66880         * tests/test-freopen.c: Likewise.
66881         * tests/test-frexp.c: Likewise.
66882         * tests/test-frexpl.c: Likewise.
66883         * tests/test-fseek.c: Likewise.
66884         * tests/test-fseeko.c: Likewise.
66885         * tests/test-fseterr.c: Likewise.
66886         * tests/test-fstrcmp.c: Likewise.
66887         * tests/test-ftell.c: Likewise.
66888         * tests/test-ftello.c: Likewise.
66889         * tests/test-fwritable.c: Likewise.
66890         * tests/test-fwriting.c: Likewise.
66891         * tests/test-getaddrinfo.c: Likewise.
66892         * tests/test-getpass.c: Likewise.
66893         * tests/test-gettimeofday.c: Likewise.
66894         * tests/test-hmac-md5.c: Likewise.
66895         * tests/test-hmac-sha1.c: Likewise.
66896         * tests/test-iconv.c: Likewise.
66897         * tests/test-iconvme.c: Likewise.
66898         * tests/test-inttypes.c: Likewise.
66899         * tests/test-isnan.c: Likewise.
66900         * tests/test-isnanf.c: Likewise.
66901         * tests/test-isnanl-nolibm.c: Likewise.
66902         * tests/test-isnanl.c: Likewise.
66903         * tests/test-isnanl.h: Likewise.
66904         * tests/test-ldexpl.c: Likewise.
66905         * tests/test-linked_list.c: Likewise.
66906         * tests/test-linkedhash_list.c: Likewise.
66907         * tests/test-locale.c: Likewise.
66908         * tests/test-localename.c: Likewise.
66909         * tests/test-lock.c: Likewise.
66910         * tests/test-lseek.c: Likewise.
66911         * tests/test-malloca.c: Likewise.
66912         * tests/test-math.c: Likewise.
66913         * tests/test-mbscasecmp.c: Likewise.
66914         * tests/test-mbscasestr1.c: Likewise.
66915         * tests/test-mbscasestr2.c: Likewise.
66916         * tests/test-mbscasestr3.c: Likewise.
66917         * tests/test-mbscasestr4.c: Likewise.
66918         * tests/test-mbschr.c: Likewise.
66919         * tests/test-mbscspn.c: Likewise.
66920         * tests/test-mbsncasecmp.c: Likewise.
66921         * tests/test-mbspbrk.c: Likewise.
66922         * tests/test-mbspcasecmp.c: Likewise.
66923         * tests/test-mbsrchr.c: Likewise.
66924         * tests/test-mbsspn.c: Likewise.
66925         * tests/test-mbsstr1.c: Likewise.
66926         * tests/test-mbsstr2.c: Likewise.
66927         * tests/test-mbsstr3.c: Likewise.
66928         * tests/test-md5.c: Likewise.
66929         * tests/test-memmem.c: Likewise.
66930         * tests/test-netinet_in.c: Likewise.
66931         * tests/test-open.c: Likewise.
66932         * tests/test-printf-frexp.c: Likewise.
66933         * tests/test-printf-frexpl.c: Likewise.
66934         * tests/test-printf-posix.c: Likewise.
66935         * tests/test-printf-posix.h: Likewise.
66936         * tests/test-rbtree_list.c: Likewise.
66937         * tests/test-rbtree_oset.c: Likewise.
66938         * tests/test-rbtreehash_list.c: Likewise.
66939         * tests/test-read-file.c: Likewise.
66940         * tests/test-rijndael.c: Likewise.
66941         * tests/test-search.c: Likewise.
66942         * tests/test-signbit.c: Likewise.
66943         * tests/test-sleep.c: Likewise.
66944         * tests/test-snprintf-posix.c: Likewise.
66945         * tests/test-snprintf-posix.h: Likewise.
66946         * tests/test-snprintf.c: Likewise.
66947         * tests/test-sprintf-posix.c: Likewise.
66948         * tests/test-sprintf-posix.h: Likewise.
66949         * tests/test-stat-time.c: Likewise.
66950         * tests/test-stdbool.c: Likewise.
66951         * tests/test-stdint.c: Likewise.
66952         * tests/test-stdio.c: Likewise.
66953         * tests/test-stdlib.c: Likewise.
66954         * tests/test-stpncpy.c: Likewise.
66955         * tests/test-strcasestr.c: Likewise.
66956         * tests/test-striconv.c: Likewise.
66957         * tests/test-striconveh.c: Likewise.
66958         * tests/test-striconveha.c: Likewise.
66959         * tests/test-string.c: Likewise.
66960         * tests/test-sys_select.c: Likewise.
66961         * tests/test-sys_socket.c: Likewise.
66962         * tests/test-sys_stat.c: Likewise.
66963         * tests/test-sys_time.c: Likewise.
66964         * tests/test-sysexits.c: Likewise.
66965         * tests/test-time.c: Likewise.
66966         * tests/test-tls.c: Likewise.
66967         * tests/test-trunc.c: Likewise.
66968         * tests/test-truncf.c: Likewise.
66969         * tests/test-truncl.c: Likewise.
66970         * tests/test-unistd.c: Likewise.
66971         * tests/test-vasnprintf-posix.c: Likewise.
66972         * tests/test-vasnprintf-posix2.c: Likewise.
66973         * tests/test-vasnprintf.c: Likewise.
66974         * tests/test-vasprintf-posix.c: Likewise.
66975         * tests/test-vasprintf.c: Likewise.
66976         * tests/test-verify.c: Likewise.
66977         * tests/test-vfprintf-posix.c: Likewise.
66978         * tests/test-vprintf-posix.c: Likewise.
66979         * tests/test-vsnprintf-posix.c: Likewise.
66980         * tests/test-vsnprintf.c: Likewise.
66981         * tests/test-vsprintf-posix.c: Likewise.
66982         * tests/test-wchar.c: Likewise.
66983         * tests/test-wctype.c: Likewise.
66984         * tests/test-wcwidth.c: Likewise.
66985         * tests/test-xstrtol.c: Likewise.
66986         * tests/test-xvasprintf.c: Likewise.
66987         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
66988         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
66989         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66990         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66991         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66992         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
66993         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66994         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66995         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66996         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
66997         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66998         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66999         * tests/uniname/test-uninames.c: Likewise.
67000         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
67001         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
67002         * tests/unistdio/test-u16-printf1.h: Likewise.
67003         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
67004         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
67005         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
67006         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
67007         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
67008         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
67009         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
67010         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
67011         * tests/unistdio/test-u32-printf1.h: Likewise.
67012         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
67013         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
67014         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
67015         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
67016         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
67017         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
67018         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
67019         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
67020         * tests/unistdio/test-u8-printf1.h: Likewise.
67021         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
67022         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
67023         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
67024         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
67025         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
67026         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
67027         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
67028         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
67029         * tests/unistdio/test-ulc-printf1.h: Likewise.
67030         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
67031         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
67032         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
67033         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
67034         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
67035         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
67036         * tests/uniwidth/test-u16-strwidth.c: Likewise.
67037         * tests/uniwidth/test-u16-width.c: Likewise.
67038         * tests/uniwidth/test-u32-strwidth.c: Likewise.
67039         * tests/uniwidth/test-u32-width.c: Likewise.
67040         * tests/uniwidth/test-u8-strwidth.c: Likewise.
67041         * tests/uniwidth/test-u8-width.c: Likewise.
67042         * tests/uniwidth/test-uc_width.c: Likewise.
67043         * config/srclist-update: Likewise.
67044         (fixlicense): Update to GPLv3+.
67045
67046         Change copyright notice from LGPLv2.1+ to LGPLv3+.
67047         * tests/test-tsearch.c: Change copyright notice.
67048
67049         Change copyright notice from LGPLv2.0+ to LGPLv3+.
67050         * lib/c-strcaseeq.h: Change copyright notice.
67051         * lib/streq.h: Likewise.
67052         * lib/uniconv.h: Likewise.
67053         * lib/uniconv/u-conv-from-enc.h: Likewise.
67054         * lib/uniconv/u-conv-to-enc.h: Likewise.
67055         * lib/uniconv/u-strconv-from-enc.h: Likewise.
67056         * lib/uniconv/u-strconv-to-enc.h: Likewise.
67057         * lib/uniconv/u16-conv-from-enc.c: Likewise.
67058         * lib/uniconv/u16-conv-to-enc.c: Likewise.
67059         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
67060         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
67061         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
67062         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
67063         * lib/uniconv/u32-conv-from-enc.c: Likewise.
67064         * lib/uniconv/u32-conv-to-enc.c: Likewise.
67065         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
67066         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
67067         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
67068         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
67069         * lib/uniconv/u8-conv-from-enc.c: Likewise.
67070         * lib/uniconv/u8-conv-to-enc.c: Likewise.
67071         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
67072         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
67073         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
67074         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
67075         * lib/uniname.h: Likewise.
67076         * lib/uniname/uniname.c: Likewise.
67077         * lib/unistdio.h: Likewise.
67078         * lib/unistdio/u-asnprintf.h: Likewise.
67079         * lib/unistdio/u-asprintf.h: Likewise.
67080         * lib/unistdio/u-printf-args.c: Likewise.
67081         * lib/unistdio/u-printf-args.h: Likewise.
67082         * lib/unistdio/u-printf-parse.h: Likewise.
67083         * lib/unistdio/u-snprintf.h: Likewise.
67084         * lib/unistdio/u-sprintf.h: Likewise.
67085         * lib/unistdio/u-vasprintf.h: Likewise.
67086         * lib/unistdio/u-vsnprintf.h: Likewise.
67087         * lib/unistdio/u-vsprintf.h: Likewise.
67088         * lib/unistdio/u16-asnprintf.c: Likewise.
67089         * lib/unistdio/u16-asprintf.c: Likewise.
67090         * lib/unistdio/u16-printf-parse.c: Likewise.
67091         * lib/unistdio/u16-snprintf.c: Likewise.
67092         * lib/unistdio/u16-sprintf.c: Likewise.
67093         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
67094         * lib/unistdio/u16-u16-asprintf.c: Likewise.
67095         * lib/unistdio/u16-u16-snprintf.c: Likewise.
67096         * lib/unistdio/u16-u16-sprintf.c: Likewise.
67097         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
67098         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
67099         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
67100         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
67101         * lib/unistdio/u16-vasnprintf.c: Likewise.
67102         * lib/unistdio/u16-vasprintf.c: Likewise.
67103         * lib/unistdio/u16-vsnprintf.c: Likewise.
67104         * lib/unistdio/u16-vsprintf.c: Likewise.
67105         * lib/unistdio/u32-asnprintf.c: Likewise.
67106         * lib/unistdio/u32-asprintf.c: Likewise.
67107         * lib/unistdio/u32-printf-parse.c: Likewise.
67108         * lib/unistdio/u32-snprintf.c: Likewise.
67109         * lib/unistdio/u32-sprintf.c: Likewise.
67110         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
67111         * lib/unistdio/u32-u32-asprintf.c: Likewise.
67112         * lib/unistdio/u32-u32-snprintf.c: Likewise.
67113         * lib/unistdio/u32-u32-sprintf.c: Likewise.
67114         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
67115         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
67116         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
67117         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
67118         * lib/unistdio/u32-vasnprintf.c: Likewise.
67119         * lib/unistdio/u32-vasprintf.c: Likewise.
67120         * lib/unistdio/u32-vsnprintf.c: Likewise.
67121         * lib/unistdio/u32-vsprintf.c: Likewise.
67122         * lib/unistdio/u8-asnprintf.c: Likewise.
67123         * lib/unistdio/u8-asprintf.c: Likewise.
67124         * lib/unistdio/u8-printf-parse.c: Likewise.
67125         * lib/unistdio/u8-snprintf.c: Likewise.
67126         * lib/unistdio/u8-sprintf.c: Likewise.
67127         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
67128         * lib/unistdio/u8-u8-asprintf.c: Likewise.
67129         * lib/unistdio/u8-u8-snprintf.c: Likewise.
67130         * lib/unistdio/u8-u8-sprintf.c: Likewise.
67131         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
67132         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
67133         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
67134         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
67135         * lib/unistdio/u8-vasnprintf.c: Likewise.
67136         * lib/unistdio/u8-vasprintf.c: Likewise.
67137         * lib/unistdio/u8-vsnprintf.c: Likewise.
67138         * lib/unistdio/u8-vsprintf.c: Likewise.
67139         * lib/unistdio/ulc-asnprintf.c: Likewise.
67140         * lib/unistdio/ulc-asprintf.c: Likewise.
67141         * lib/unistdio/ulc-printf-parse.c: Likewise.
67142         * lib/unistdio/ulc-snprintf.c: Likewise.
67143         * lib/unistdio/ulc-sprintf.c: Likewise.
67144         * lib/unistdio/ulc-vasnprintf.c: Likewise.
67145         * lib/unistdio/ulc-vasprintf.c: Likewise.
67146         * lib/unistdio/ulc-vsnprintf.c: Likewise.
67147         * lib/unistdio/ulc-vsprintf.c: Likewise.
67148         * lib/unistr.h: Likewise.
67149         * lib/unistr/u-cpy-alloc.h: Likewise.
67150         * lib/unistr/u-cpy.h: Likewise.
67151         * lib/unistr/u-endswith.h: Likewise.
67152         * lib/unistr/u-move.h: Likewise.
67153         * lib/unistr/u-set.h: Likewise.
67154         * lib/unistr/u-startswith.h: Likewise.
67155         * lib/unistr/u-stpcpy.h: Likewise.
67156         * lib/unistr/u-stpncpy.h: Likewise.
67157         * lib/unistr/u-strcat.h: Likewise.
67158         * lib/unistr/u-strcpy.h: Likewise.
67159         * lib/unistr/u-strcspn.h: Likewise.
67160         * lib/unistr/u-strdup.h: Likewise.
67161         * lib/unistr/u-strlen.h: Likewise.
67162         * lib/unistr/u-strncat.h: Likewise.
67163         * lib/unistr/u-strncpy.h: Likewise.
67164         * lib/unistr/u-strnlen.h: Likewise.
67165         * lib/unistr/u-strpbrk.h: Likewise.
67166         * lib/unistr/u-strspn.h: Likewise.
67167         * lib/unistr/u-strstr.h: Likewise.
67168         * lib/unistr/u-strtok.h: Likewise.
67169         * lib/unistr/u16-check.c: Likewise.
67170         * lib/unistr/u16-chr.c: Likewise.
67171         * lib/unistr/u16-cmp.c: Likewise.
67172         * lib/unistr/u16-cpy-alloc.c: Likewise.
67173         * lib/unistr/u16-cpy.c: Likewise.
67174         * lib/unistr/u16-endswith.c: Likewise.
67175         * lib/unistr/u16-mblen.c: Likewise.
67176         * lib/unistr/u16-mbsnlen.c: Likewise.
67177         * lib/unistr/u16-mbtouc-aux.c: Likewise.
67178         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
67179         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
67180         * lib/unistr/u16-mbtouc.c: Likewise.
67181         * lib/unistr/u16-mbtoucr.c: Likewise.
67182         * lib/unistr/u16-move.c: Likewise.
67183         * lib/unistr/u16-next.c: Likewise.
67184         * lib/unistr/u16-prev.c: Likewise.
67185         * lib/unistr/u16-set.c: Likewise.
67186         * lib/unistr/u16-startswith.c: Likewise.
67187         * lib/unistr/u16-stpcpy.c: Likewise.
67188         * lib/unistr/u16-stpncpy.c: Likewise.
67189         * lib/unistr/u16-strcat.c: Likewise.
67190         * lib/unistr/u16-strchr.c: Likewise.
67191         * lib/unistr/u16-strcmp.c: Likewise.
67192         * lib/unistr/u16-strcpy.c: Likewise.
67193         * lib/unistr/u16-strcspn.c: Likewise.
67194         * lib/unistr/u16-strdup.c: Likewise.
67195         * lib/unistr/u16-strlen.c: Likewise.
67196         * lib/unistr/u16-strmblen.c: Likewise.
67197         * lib/unistr/u16-strmbtouc.c: Likewise.
67198         * lib/unistr/u16-strncat.c: Likewise.
67199         * lib/unistr/u16-strncmp.c: Likewise.
67200         * lib/unistr/u16-strncpy.c: Likewise.
67201         * lib/unistr/u16-strnlen.c: Likewise.
67202         * lib/unistr/u16-strpbrk.c: Likewise.
67203         * lib/unistr/u16-strrchr.c: Likewise.
67204         * lib/unistr/u16-strspn.c: Likewise.
67205         * lib/unistr/u16-strstr.c: Likewise.
67206         * lib/unistr/u16-strtok.c: Likewise.
67207         * lib/unistr/u16-to-u32.c: Likewise.
67208         * lib/unistr/u16-to-u8.c: Likewise.
67209         * lib/unistr/u16-uctomb-aux.c: Likewise.
67210         * lib/unistr/u16-uctomb.c: Likewise.
67211         * lib/unistr/u32-check.c: Likewise.
67212         * lib/unistr/u32-chr.c: Likewise.
67213         * lib/unistr/u32-cmp.c: Likewise.
67214         * lib/unistr/u32-cpy-alloc.c: Likewise.
67215         * lib/unistr/u32-cpy.c: Likewise.
67216         * lib/unistr/u32-endswith.c: Likewise.
67217         * lib/unistr/u32-mblen.c: Likewise.
67218         * lib/unistr/u32-mbsnlen.c: Likewise.
67219         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
67220         * lib/unistr/u32-mbtouc.c: Likewise.
67221         * lib/unistr/u32-mbtoucr.c: Likewise.
67222         * lib/unistr/u32-move.c: Likewise.
67223         * lib/unistr/u32-next.c: Likewise.
67224         * lib/unistr/u32-prev.c: Likewise.
67225         * lib/unistr/u32-set.c: Likewise.
67226         * lib/unistr/u32-startswith.c: Likewise.
67227         * lib/unistr/u32-stpcpy.c: Likewise.
67228         * lib/unistr/u32-stpncpy.c: Likewise.
67229         * lib/unistr/u32-strcat.c: Likewise.
67230         * lib/unistr/u32-strchr.c: Likewise.
67231         * lib/unistr/u32-strcmp.c: Likewise.
67232         * lib/unistr/u32-strcpy.c: Likewise.
67233         * lib/unistr/u32-strcspn.c: Likewise.
67234         * lib/unistr/u32-strdup.c: Likewise.
67235         * lib/unistr/u32-strlen.c: Likewise.
67236         * lib/unistr/u32-strmblen.c: Likewise.
67237         * lib/unistr/u32-strmbtouc.c: Likewise.
67238         * lib/unistr/u32-strncat.c: Likewise.
67239         * lib/unistr/u32-strncmp.c: Likewise.
67240         * lib/unistr/u32-strncpy.c: Likewise.
67241         * lib/unistr/u32-strnlen.c: Likewise.
67242         * lib/unistr/u32-strpbrk.c: Likewise.
67243         * lib/unistr/u32-strrchr.c: Likewise.
67244         * lib/unistr/u32-strspn.c: Likewise.
67245         * lib/unistr/u32-strstr.c: Likewise.
67246         * lib/unistr/u32-strtok.c: Likewise.
67247         * lib/unistr/u32-to-u16.c: Likewise.
67248         * lib/unistr/u32-to-u8.c: Likewise.
67249         * lib/unistr/u32-uctomb.c: Likewise.
67250         * lib/unistr/u8-check.c: Likewise.
67251         * lib/unistr/u8-chr.c: Likewise.
67252         * lib/unistr/u8-cmp.c: Likewise.
67253         * lib/unistr/u8-cpy-alloc.c: Likewise.
67254         * lib/unistr/u8-cpy.c: Likewise.
67255         * lib/unistr/u8-endswith.c: Likewise.
67256         * lib/unistr/u8-mblen.c: Likewise.
67257         * lib/unistr/u8-mbsnlen.c: Likewise.
67258         * lib/unistr/u8-mbtouc-aux.c: Likewise.
67259         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
67260         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
67261         * lib/unistr/u8-mbtouc.c: Likewise.
67262         * lib/unistr/u8-mbtoucr.c: Likewise.
67263         * lib/unistr/u8-move.c: Likewise.
67264         * lib/unistr/u8-next.c: Likewise.
67265         * lib/unistr/u8-prev.c: Likewise.
67266         * lib/unistr/u8-set.c: Likewise.
67267         * lib/unistr/u8-startswith.c: Likewise.
67268         * lib/unistr/u8-stpcpy.c: Likewise.
67269         * lib/unistr/u8-stpncpy.c: Likewise.
67270         * lib/unistr/u8-strcat.c: Likewise.
67271         * lib/unistr/u8-strchr.c: Likewise.
67272         * lib/unistr/u8-strcmp.c: Likewise.
67273         * lib/unistr/u8-strcpy.c: Likewise.
67274         * lib/unistr/u8-strcspn.c: Likewise.
67275         * lib/unistr/u8-strdup.c: Likewise.
67276         * lib/unistr/u8-strlen.c: Likewise.
67277         * lib/unistr/u8-strmblen.c: Likewise.
67278         * lib/unistr/u8-strmbtouc.c: Likewise.
67279         * lib/unistr/u8-strncat.c: Likewise.
67280         * lib/unistr/u8-strncmp.c: Likewise.
67281         * lib/unistr/u8-strncpy.c: Likewise.
67282         * lib/unistr/u8-strnlen.c: Likewise.
67283         * lib/unistr/u8-strpbrk.c: Likewise.
67284         * lib/unistr/u8-strrchr.c: Likewise.
67285         * lib/unistr/u8-strspn.c: Likewise.
67286         * lib/unistr/u8-strstr.c: Likewise.
67287         * lib/unistr/u8-strtok.c: Likewise.
67288         * lib/unistr/u8-to-u16.c: Likewise.
67289         * lib/unistr/u8-to-u32.c: Likewise.
67290         * lib/unistr/u8-uctomb-aux.c: Likewise.
67291         * lib/unistr/u8-uctomb.c: Likewise.
67292         * lib/unitypes.h: Likewise.
67293         * lib/uniwidth.h: Likewise.
67294         * lib/uniwidth/cjk.h: Likewise.
67295         * lib/uniwidth/u16-strwidth.c: Likewise.
67296         * lib/uniwidth/u16-width.c: Likewise.
67297         * lib/uniwidth/u32-strwidth.c: Likewise.
67298         * lib/uniwidth/u32-width.c: Likewise.
67299         * lib/uniwidth/u8-strwidth.c: Likewise.
67300         * lib/uniwidth/u8-width.c: Likewise.
67301         * lib/uniwidth/width.c: Likewise.
67302
67303 2007-10-07  Bruno Haible  <bruno@clisp.org>
67304
67305         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
67306         The file is still under LGPL (see modules/inttypes).
67307
67308 2007-10-06  Bruno Haible  <bruno@clisp.org>
67309
67310         * modules/trunc (Dependencies): Add 'extensions'.
67311         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
67312         Reported by Ben Pfaff <blp@gnu.org>.
67313
67314 2007-10-06  Bruno Haible  <bruno@clisp.org>
67315
67316         * modules/freopen-tests: New file.
67317         * tests/test-freopen.c: New file.
67318
67319         * modules/fopen-tests: New file.
67320         * tests/test-fopen.c: New file.
67321
67322         * modules/fopen: New file.
67323         * lib/fopen.c: New file.
67324         * m4/fopen.m4: New file.
67325         * modules/freopen: New file.
67326         * lib/freopen.c: New file.
67327         * m4/freopen.m4: New file.
67328         * lib/stdio.in.h (fopen, freopen): New declarations.
67329         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
67330         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
67331         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
67332         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
67333         * doc/functions/fopen.texi: Mention the 'fopen' module.
67334         * doc/functions/freopen.texi: Mention the 'freopen' module.
67335
67336 2007-10-06  Bruno Haible  <bruno@clisp.org>
67337
67338         * modules/open-tests: New file.
67339         * tests/test-open.c: New file.
67340
67341         * modules/open: New file.
67342         * lib/open.c: New file.
67343         * m4/open.m4: New file.
67344         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
67345         lib/open.c does.
67346         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
67347         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
67348         macros.
67349         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
67350         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
67351         REPLACE_OPEN.
67352         * doc/functions/open.texi: Mention the 'open' module.
67353
67354 2007-10-04  Bruno Haible  <bruno@clisp.org>
67355
67356         * modules/ceill-tests: New file.
67357         * tests/test-ceill.c: New file.
67358
67359         * modules/ceill: New file.
67360         * lib/ceill.c: Replace entire file.
67361         * m4/ceill.m4: New file.
67362         * lib/math.in.h (ceill): Replace declaration.
67363         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
67364         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
67365         * doc/functions/ceill.texi: Mention the 'ceill' module.
67366         * modules/mathl (Files): Remove lib/ceill.c.
67367         (Depends-on): Add ceill.
67368
67369 2007-10-04  Bruno Haible  <bruno@clisp.org>
67370
67371         * modules/ceilf-tests: New file.
67372         * tests/test-ceilf.c: New file.
67373
67374         * modules/ceilf: New file.
67375         * lib/ceil.c: New file.
67376         * lib/ceilf.c: New file.
67377         * m4/ceilf.m4: New file.
67378         * lib/math.in.h (ceilf): New declaration.
67379         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
67380         HAVE_DECL_CEILF.
67381         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
67382         HAVE_DECL_CEILF.
67383         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
67384
67385 2007-10-04  Bruno Haible  <bruno@clisp.org>
67386
67387         * modules/floorl-tests: New file.
67388         * tests/test-floorl.c: New file.
67389
67390         * modules/floorl: New file.
67391         * lib/floorl.c: Replace entire file.
67392         * m4/floorl.m4: New file.
67393         * lib/math.in.h (floorl): Replace declaration.
67394         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
67395         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
67396         * doc/functions/floorl.texi: Mention the 'floorl' module.
67397         * modules/mathl (Files): Remove lib/floorl.c.
67398         (Depends-on): Add floorl.
67399
67400 2007-10-04  Bruno Haible  <bruno@clisp.org>
67401
67402         * modules/floorf-tests: New file.
67403         * tests/test-floorf.c: New file.
67404
67405         * modules/floorf: New file.
67406         * lib/floor.c: New file.
67407         * lib/floorf.c: New file.
67408         * m4/floorf.m4: New file.
67409         * lib/math.in.h (floorf): New declaration.
67410         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
67411         HAVE_DECL_FLOORF.
67412         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
67413         HAVE_DECL_FLOORF.
67414         * doc/functions/floorf.texi: Mention the 'floorf' module.
67415
67416 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
67417             Bruno Haible  <bruno@clisp.org>
67418
67419         Advertise for the Git server instead of the CVS server.
67420         * doc/gnulib-intro.texi (Steady Development): Mention the Git
67421         repository instead of the CVS one.
67422         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
67423         about all VCS systems generically.
67424         * doc/gnulib.texi (Introduction): Capitalize `Git'.
67425
67426 2007-10-04  Bruno Haible  <bruno@clisp.org>
67427
67428         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
67429         means.
67430         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
67431
67432 2007-10-04  Bruno Haible  <bruno@clisp.org>
67433
67434         * modules/truncl-tests: New file.
67435         * tests/test-truncl.c: New file.
67436
67437         * modules/truncl: New file.
67438         * lib/truncl.c: New file.
67439         * m4/truncl.m4: New file.
67440         * lib/math.in.h (truncl): New declaration.
67441         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
67442         HAVE_DECL_TRUNCL.
67443         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
67444         HAVE_DECL_TRUNCL.
67445         * doc/functions/truncl.texi: Mention the 'truncl' module.
67446
67447 2007-10-04  Bruno Haible  <bruno@clisp.org>
67448
67449         * modules/truncf-tests: New file.
67450         * tests/test-truncf.c: New file.
67451
67452         * modules/truncf: New file.
67453         * lib/trunc.c: Make paramerizable through USE_* macros.
67454         * lib/truncf.c: New file.
67455         * m4/truncf.m4: New file.
67456         * lib/math.in.h (truncf): New declaration.
67457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
67458         HAVE_DECL_TRUNCF.
67459         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
67460         HAVE_DECL_TRUNCF.
67461         * doc/functions/truncf.texi: Mention the 'truncf' module.
67462
67463 2007-10-03  Bruno Haible  <bruno@clisp.org>
67464
67465         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
67466         augmentation also for tests modules.
67467         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
67468         * modules/atexit-tests (Makefile.am): Likewise.
67469         * modules/binary-io-tests (Makefile.am): Likewise.
67470         * modules/c-strcase-tests (Makefile.am): Likewise.
67471         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
67472         * modules/canonicalize-tests (Makefile.am): Likewise.
67473         * modules/closein-tests (Makefile.am): Likewise.
67474         * modules/fprintf-posix-tests (Makefile.am): Likewise.
67475         * modules/freadahead-tests (Makefile.am): Likewise.
67476         * modules/fseek-tests (Makefile.am): Likewise.
67477         * modules/fseeko-tests (Makefile.am): Likewise.
67478         * modules/ftell-tests (Makefile.am): Likewise.
67479         * modules/ftello-tests (Makefile.am): Likewise.
67480         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
67481         * modules/isnanl-tests (Makefile.am): Likewise.
67482         * modules/lseek-tests (Makefile.am): Likewise.
67483         * modules/mbscasecmp-tests (Makefile.am): Likewise.
67484         * modules/mbscasestr-tests (Makefile.am): Likewise.
67485         * modules/mbschr-tests (Makefile.am): Likewise.
67486         * modules/mbscspn-tests (Makefile.am): Likewise.
67487         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
67488         * modules/mbspbrk-tests (Makefile.am): Likewise.
67489         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
67490         * modules/mbsrchr-tests (Makefile.am): Likewise.
67491         * modules/mbsspn-tests (Makefile.am): Likewise.
67492         * modules/mbsstr-tests (Makefile.am): Likewise.
67493         * modules/printf-posix-tests (Makefile.am): Likewise.
67494         * modules/snprintf-posix-tests (Makefile.am): Likewise.
67495         * modules/sprintf-posix-tests (Makefile.am): Likewise.
67496         * modules/tsearch-tests (Makefile.am): Likewise.
67497         * modules/uniname/uniname-tests (Makefile.am): Likewise.
67498         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
67499         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
67500         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
67501         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
67502         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
67503         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
67504         * modules/vprintf-posix-tests (Makefile.am): Likewise.
67505         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
67506         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
67507         * modules/xstrtoimax-tests (Makefile.am): Likewise.
67508         * modules/xstrtol-tests (Makefile.am): Likewise.
67509         * modules/xstrtoumax-tests (Makefile.am): Likewise.
67510         * modules/yesno-tests (Makefile.am): Likewise.
67511
67512 2007-10-03  Bruno Haible  <bruno@clisp.org>
67513
67514         * modules/trunc-tests: New file.
67515         * tests/test-trunc.c: New file.
67516
67517         * modules/trunc: New file.
67518         * lib/trunc.c: New file.
67519         * m4/trunc.m4: New file.
67520         * lib/math.in.h (trunc): New declaration.
67521         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
67522         HAVE_DECL_TRUNC.
67523         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
67524         HAVE_DECL_TRUNC.
67525         * doc/functions/trunc.texi: Mention the 'trunc' module.
67526
67527 2007-10-03  Bruno Haible  <bruno@clisp.org>
67528
67529         * tests/test-fpending.c: New file, mostly copied
67530         from coreutils/lib/t-fpending.c.
67531         * modules/fpending-tests: New file.
67532
67533 2007-10-03  Bruno Haible  <bruno@clisp.org>
67534
67535         Port the stdio extensions to QNX (untested).
67536         * lib/fseterr.c (fseterr): Add support for QNX.
67537         * lib/fbufmode.c (fbufmode): Likewise.
67538         * lib/freadable.c (freadable): Likewise.
67539         * lib/fwritable.c (fwritable): Likewise.
67540         * lib/freading.c (freading): Likewise.
67541         * lib/fwriting.c (fwriting): Likewise.
67542         * lib/freadahead.c (freadahed): Likewise.
67543         * lib/fpurge.c (fpurge): Likewise.
67544         * lib/fseeko.c (rpl_fseeko): Likewise.
67545
67546 2007-10-03  Bruno Haible  <bruno@clisp.org>
67547             Jim Meyering  <jim@meyering.net>
67548             Eric Blake  <ebb9@byu.net>
67549
67550         * doc/relocatable.texi: Use @command instead of @program.
67551
67552 2007-10-02  Jim Meyering  <jim@meyering.net>
67553
67554         Perform one more "_.h" -> ".in.h" substitution.
67555         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
67556         instead of unistd_.h here, too.
67557
67558 2007-10-01  Bruno Haible  <bruno@clisp.org>
67559
67560         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
67561         Needed for the alloca-opt module.
67562
67563 2007-09-30  Bruno Haible  <bruno@clisp.org>
67564
67565         * lib/alloca.in.h: Renamed from lib/alloca_.h.
67566         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
67567         alloca_.h.
67568         * lib/argz.in.h: Renamed from lib/argz_.h.
67569         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
67570         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
67571         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
67572         byteswap_.h.
67573         * lib/dirent.in.h: Renamed from lib/dirent_.h.
67574         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
67575         dirent_.h.
67576         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
67577         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
67578         fcntl_.h.
67579         * lib/float.in.h: Renamed from lib/float_.h.
67580         * modules/float (Files, Makefile.am): Use float.in.h instead of
67581         float_.h.
67582         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
67583         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
67584         fnmatch_.h.
67585         * lib/getopt.in.h: Renamed from lib/getopt_.h.
67586         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
67587         getopt_.h.
67588         * lib/glob.in.h: Renamed from lib/glob_.h.
67589         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
67590         * lib/iconv.in.h: Renamed from lib/iconv_.h.
67591         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
67592         iconv_.h.
67593         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
67594         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
67595         inttypes_.h.
67596         * lib/locale.in.h: Renamed from lib/locale_.h.
67597         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
67598         locale_.h.
67599         * lib/math.in.h: Renamed from lib/math_.h.
67600         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
67601         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
67602         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
67603         of netinet_in_.h. Add dependency.
67604         * lib/poll.in.h: Renamed from lib/poll_.h.
67605         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
67606         * lib/search.in.h: Renamed from lib/search_.h.
67607         * modules/search (Files, Makefile.am): Use search.in.h instead of
67608         search_.h.
67609         * lib/signal.in.h: Renamed from lib/signal_.h.
67610         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
67611         _signal.h.
67612         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
67613         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
67614         stdbool_.h.
67615         * lib/stdint.in.h: Renamed from lib/stdint_.h.
67616         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
67617         stdint_.h.
67618         * lib/stdio.in.h: Renamed from lib/stdio_.h.
67619         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
67620         stdio_.h.
67621         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
67622         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
67623         stdlib_.h.
67624         * lib/string.in.h: Renamed from lib/string_.h.
67625         * modules/string (Files, Makefile.am): Use string.in.h instead of
67626         string_.h.
67627         * doc/gnulib-tool.texi (Initial import): Update.
67628         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
67629         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
67630         of sys_select_.h. Add dependency.
67631         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
67632         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
67633         of sys_socket_.h.
67634         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
67635         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
67636         sys_stat_.h.
67637         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
67638         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
67639         sys_time_.h.
67640         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
67641         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
67642         sysexits_.h.
67643         * lib/time.in.h: Renamed from lib/time_.h.
67644         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
67645         * lib/unistd.in.h: Renamed from lib/unistd_.h.
67646         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
67647         unistd_.h.
67648         * lib/wchar.in.h: Renamed from lib/wchar_.h.
67649         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
67650         wchar_.h.
67651         * lib/wctype.in.h: Renamed from lib/wctype_.h.
67652         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
67653         wctype_.h.
67654         * build-aux/bootstrap (slurp): Update.
67655         * lib/.cppi-disable: Update.
67656
67657 2007-09-30  Bruno Haible  <bruno@clisp.org>
67658
67659         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
67660         Needed on BeOS.
67661
67662 2007-09-30  Bruno Haible  <bruno@clisp.org>
67663
67664         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
67665
67666 2007-09-29  Bruno Haible  <bruno@clisp.org>
67667
67668         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
67669
67670 2007-09-29  Bruno Haible  <bruno@clisp.org>
67671
67672         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
67673         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
67674         * build-aux/install-reloc: Compile also areadlink.c.
67675         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
67676
67677 2007-09-29  Bruno Haible  <bruno@clisp.org>
67678
67679         * gnulib-tool (func_emit_initmacro_done): Indentation.
67680
67681 2007-09-29  Bruno Haible  <bruno@clisp.org>
67682
67683         * README: Add CVS checkout update instructions.
67684         Info from Bob Proulx <bob@proulx.com>.
67685
67686 2007-09-28  Eric Blake  <ebb9@byu.net>
67687
67688         Provide move-if-change.
67689         * build-aux/move-if-change: New file, based on best practice
67690         rather than any canonical upstream location.
67691
67692 2007-09-28  Jim Meyering  <jim@meyering.net>
67693
67694         Fix canonicalize loop-detection corner case.
67695         Do not attempt to stat the symlink values stored via seen_triple.
67696         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
67697         on linux-2.6.18, (but not 2.6.22).
67698         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
67699         triple_compare.  The former compares dev,ino,filename, while the latter
67700         would actually stat dirname(filename) when dev and ino were equal.
67701         * lib/hash-triple.c: Install <string.h>.
67702         (STREQ): Define.
67703         (triple_compare_ino_str): New function.
67704         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
67705
67706 2007-09-28  Eric Blake  <ebb9@byu.net>
67707
67708         Enforce that AC_REPLACE_FUNCS files exist.
67709         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
67710         override check for typos.
67711
67712         Fix test-closein on Solaris 10.
67713         * tests/test-closein.c (main): Don't assume stdin can be inherited
67714         closed on all systems.
67715         * tests/test-closein.sh: Likewise.
67716         Reported by Piotr Tarnowski.
67717
67718 2007-09-28  Jim Meyering  <jim@meyering.net>
67719
67720         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
67721
67722 2007-09-27  Jim Meyering  <jim@meyering.net>
67723
67724         canonicalize: Avoid a false-positive cycle failure.
67725         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
67726         Sort.  Remove cycle-check.
67727         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
67728         not cycle-check.h.
67729         (seen_triple): New function.
67730         (canonicalize_filename_mode): Use it instead of cycle-check.
67731         * tests/test-canonicalize.c: Add a test for this bug.
67732         * tests/test-canonicalize.sh: Set up and run the test.
67733
67734         New module, file-set, from coreutils.
67735         * modules/file-set: Define it.
67736         * lib/file-set.c, lib/file-set.h: Implement.
67737
67738         New module, hash-triple, from coreutils.
67739         * modules/hash-triple: Define it.
67740         * lib/hash-triple.c, lib/hash-triple.h: Implement.
67741
67742 2007-09-25  Eric Blake  <ebb9@byu.net>
67743
67744         Fix strerror on Interix.
67745         * lib/string_.h (strerror): Declare replacement.
67746         * doc/functions/strerror.texi (strerror): Document the Interix
67747         shortcoming.
67748         * modules/string (Makefile.am): Support new hooks.
67749         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
67750         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
67751         gl_FUNC_STRERROR_SEPARATE.
67752         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
67753         * lib/strerror.c (rpl_strerror): Provide replacement.
67754         * modules/strerror (Depends-on): Add string.
67755         (configure.ac): Detect use of module.
67756         * tests/test-strerror.c: New file.
67757         * modules/strerror-tests: New test module.
67758         * modules/argp (Depends-on): Add strerror.
67759         * modules/error (Depends-on): Likewise.
67760         Reported by Martin Koeppe.
67761
67762 2007-09-24  Bruno Haible  <bruno@clisp.org>
67763
67764         * README: Update git instructions.
67765
67766 2007-09-24  Eric Blake  <ebb9@byu.net>
67767
67768         Revert fpending breakage from 2007-09-08.
67769         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
67770         __fpending.c.
67771
67772 2007-09-24  Jim Meyering  <jim@meyering.net>
67773
67774         filenamecat.c: Add a test.
67775         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
67776         showing how the function works when DIR is the empty string.
67777
67778 2007-09-21  Simon Josefsson  <simon@josefsson.org>
67779
67780         * tests/test-canonicalize.sh: Turn on executable bit.
67781
67782 2007-09-19  Eric Blake  <ebb9@byu.net>
67783
67784         * README: Update CVS instructions.
67785
67786 2007-09-18  Bruno Haible  <bruno@clisp.org>
67787
67788         * modules/areadlink: New file.
67789         * lib/areadlink.h (areadlink): New declaration.
67790         * lib/areadlink.c: New file, based on lib/xreadlink.c.
67791
67792 2007-09-17  Jim Meyering  <jim@meyering.net>
67793
67794         * lib/savewd.c (ESTALE) [!defined]: Define.
67795         Reported to be required on Interix by Martin Koeppe.
67796
67797 2007-09-17  Bruno Haible  <bruno@clisp.org>
67798
67799         * gnulib-tool (func_version): Use $version.
67800
67801 2007-09-16  Bruno Haible  <bruno@clisp.org>
67802
67803         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
67804         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
67805         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
67806         Reported by Greg Schafer <gschafer@zip.com.au>.
67807
67808 2007-09-15  Bruno Haible  <bruno@clisp.org>
67809
67810         * gnulib-tool (sed): Try a little harder to make bash understand the
67811         alias.
67812         Reported by Bruce Korb <bruce.korb@gmail.com>.
67813
67814 2007-09-13  Eric Blake  <ebb9@byu.net>
67815
67816         * ChangeLog: Remove conflict markers.
67817
67818 2007-09-13  Simon Josefsson  <simon@josefsson.org>
67819
67820         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
67821         Reported by Bruno Haible <bruno@clisp.org>.
67822
67823 2007-09-12  Bruno Haible  <bruno@clisp.org>
67824
67825         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
67826         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
67827         is not defined.
67828
67829 2007-09-12  Eric Blake  <ebb9@byu.net>
67830
67831         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
67832         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
67833         Autoconf definition.
67834         * modules/euidaccess (Depends-on): Add extensions, for
67835         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
67836         * modules/fnmatch (Depends-on): Likewise.
67837         * modules/getaddrinfo (Depends-on): Likewise.
67838         * modules/getdelim (Depends-on): Likewise.
67839         * modules/getline (Depends-on): Likewise.
67840         * modules/getsubopt (Depends-on): Likewise.
67841         * modules/gettext (Depends-on): Likewise.
67842         * modules/group-member (Depends-on): Likewise.
67843         * modules/mbchar (Depends-on): Likewise.
67844         * modules/memmem (Depends-on): Likewise.
67845         * modules/mempcpy (Depends-on): Likewise.
67846         * modules/memrchr (Depends-on): Likewise.
67847         * modules/pagealign_alloc (Depends-on): Likewise.
67848         * modules/readutmp (Depends-on): Likewise.
67849         * modules/stpcpy (Depends-on): Likewise.
67850         * modules/stpncpy (Depends-on): Likewise.
67851         * modules/strchrnul (Depends-on): Likewise.
67852         * modules/strndup (Depends-on): Likewise.
67853         * modules/strsep (Depends-on): Likewise.
67854         * modules/strverscmp (Depends-on): Likewise.
67855         * modules/vasprintf (Depends-on): Likewise.
67856         * modules/wcwidth (Depends-on): Likewise.
67857         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
67858         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
67859         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
67860         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
67861         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
67862         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67863         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
67864         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
67865         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
67866         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
67867         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
67868         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
67869         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
67870         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
67871         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
67872         * m4/readutmp.m4 (gl_READUTMP): Likewise.
67873         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67874         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
67875         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67876         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
67877         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
67878         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
67879         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
67880         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
67881         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
67882         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67883         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
67884         so that lock.m4 can be used in gettext without extensions module.
67885
67886 2007-09-11  Bruno Haible  <bruno@clisp.org>
67887
67888         * m4/isc-posix.m4: Remove file.
67889         Suggested by Eric Blake.
67890
67891 2007-09-11  Eric Blake  <ebb9@byu.net>
67892
67893         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
67894
67895 2007-09-10  Bruno Haible  <bruno@clisp.org>
67896
67897         * posix-modules: Fix typo in error message.
67898         Reported by Matt <mkraai@beckman.com>.
67899
67900 2007-09-09  Bruno Haible  <bruno@clisp.org>
67901
67902         * doc/functions/getdelim.texi: Update list of platforms lacking the
67903         function.
67904         * doc/functions/getline.texi: Likewise.
67905
67906 2007-09-09  Jim Meyering  <jim@meyering.net>
67907
67908         * lib/hash.c (hash_initialize): Detect calloc failure.
67909         Reported by Bruno Haible.
67910
67911 2007-09-09  Bruno Haible  <bruno@clisp.org>
67912
67913         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
67914         malloc or realloc fails.
67915
67916 2007-09-09  Bruno Haible  <bruno@clisp.org>
67917
67918         * modules/getcwd (Depends-on): Add malloc-posix.
67919         * modules/glob (Depends-on): Likewise.
67920         * modules/putenv (Depends-on): Likewise.
67921         * modules/strdup (Depends-on): Likewise.
67922         * modules/getdelim (Depends-on): Add realloc-posix.
67923         * modules/read-file (Depends-on): Likewise.
67924
67925 2007-09-09  Bruno Haible  <bruno@clisp.org>
67926
67927         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
67928         (gl_FUNC_MALLOC_POSIX): Require it.
67929         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
67930         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
67931         * modules/realloc (Files): Add m4/malloc.m4.
67932         * modules/calloc (Files): Likewise.
67933
67934 2007-09-09  Bruno Haible  <bruno@clisp.org>
67935
67936         * modules/malloc-posix: New file.
67937         * modules/malloc (Depends-on): Add malloc-posix.
67938         * lib/malloc.c: Include errno.h.
67939         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
67940         and a POSIX-compatible malloc into a single function. Set ENOMEM
67941         when returning NULL.
67942         * m4/malloc.m4: New file.
67943         * doc/functions/malloc.texi: Mention the malloc-posix module.
67944         * lib/stdlib_.h (malloc): New declaration.
67945         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67946         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
67947         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
67948         and HAVE_MALLOC_POSIX.
67949
67950 2007-09-09  Bruno Haible  <bruno@clisp.org>
67951
67952         * modules/realloc-posix: New file.
67953         * modules/realloc (Depends-on): Add realloc-posix.
67954         * lib/realloc.c: Include errno.h.
67955         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
67956         and a POSIX-compatible realloc into a single function. Set ENOMEM
67957         when returning NULL.
67958         * m4/realloc.m4: New file.
67959         * doc/functions/realloc.texi: Mention the realloc-posix module.
67960         * lib/stdlib_.h (realloc): New declaration.
67961         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67962         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
67963         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
67964         and HAVE_REALLOC_POSIX.
67965
67966 2007-09-09  Bruno Haible  <bruno@clisp.org>
67967
67968         * modules/calloc-posix: New file.
67969         * modules/calloc (Depends-on): Add calloc-posix.
67970         * lib/calloc.c: Include errno.h.
67971         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
67972         and a POSIX-compatible calloc into a single function. Set ENOMEM
67973         when returning NULL.
67974         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
67975         * doc/functions/calloc.texi: Mention the calloc-posix module.
67976         * lib/stdlib_.h (calloc): New declaration.
67977         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67978         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
67979         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
67980         and HAVE_CALLOC_POSIX.
67981
67982 2007-09-09  Bruno Haible  <bruno@clisp.org>
67983
67984         Allow for modules to show an arbitrary notice.
67985         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
67986         * gnulib-tool: New option --extract-notice.
67987         (func_usage): Document it.
67988         (sed_extract_prog): Update.
67989         (func_get_notice): New function.
67990         (func_modules_notice): New function.
67991         (func_import, func_create_testdir): Invoke it.
67992         Suggested by Jim Meyering.
67993
67994 2007-09-09  Bruno Haible  <bruno@clisp.org>
67995
67996         * gnulib-tool: New options --verbose, --quiet.
67997         (func_usage): Document them.
67998         (verbose): New variable.
67999         (func_execute_command): New function.
68000         (func_import): Don't show the module list and the file list if
68001         $verbose < 0.
68002         (func_create_testdir): Likewise. Use func_execute_command.
68003         (func_create_megatestdir): Use func_execute_command.
68004
68005 2007-09-08  Bruno Haible  <bruno@clisp.org>
68006
68007         * gnulib-tool (func_import): Prefer rsync over wget when available,
68008         for fetching the PO files.
68009
68010 2007-09-08  Bruno Haible  <bruno@clisp.org>
68011
68012         * posix-modules: New file. Portions copied from gnulib-tool.
68013         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
68014
68015 2007-09-08  Jim Meyering  <jim@meyering.net>
68016
68017         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
68018         * lib/fpending.h: Rename from __fpending.h.
68019         * lib/fpending.c: Rename from __fpending.c.
68020         Include "fpending.h", not "__fpending.h".
68021         * lib/__fpending.h, lib/__fpending.c: Remove files.
68022         * modules/fpending (Files): Reflect new file names.
68023         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
68024
68025 2007-09-08  Bruno Haible  <bruno@clisp.org>
68026
68027         * m4/inttypes-h.m4: Remove stub file.
68028
68029 2007-09-07  Simon Josefsson  <simon@josefsson.org>
68030
68031         * doc/headers/stdint.texi: Discuss #include_next issue.
68032
68033 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
68034
68035         * build-aux/bootstrap: Remove obsolete comment about wget --help.
68036
68037 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68038
68039         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
68040         in variable name.
68041
68042 2007-09-03  Jim Meyering  <jim@meyering.net>
68043
68044         New module: git-version-gen.
68045         * modules/git-version-gen: New file.
68046
68047         Import changes from coreutils for bootstrap script.
68048
68049         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
68050
68051         bootstrap: uses rsync to download the .po files
68052         * build-aux/bootstrap (po_download_command_format): New global.
68053         (download_po_files): Use rsync.
68054         (update_po_files): Don't remove .po files after download,
68055         so future rsync runs can take advantage of the copies.
68056
68057         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
68058
68059         Solve the unnecessary-.po-file-regeneration problem once and for all.
68060         * build-aux/bootstrap (download_po_files): New function, renamed from
68061         get_translations.  Now, downloads, but doesn't update LINGUAS.
68062         (update_po_files): New function.
68063
68064         bootstrap: Ignore more.
68065         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
68066         uniwidth to e.g., lib/.gitignore.
68067         (slurp): Handle the sys_stat_.h -> sys mapping, too.
68068
68069         * build-aux/bootstrap: New setting: vc_ignore.
68070         (insert_sorted_if_absent): Create $file if absent.
68071         Adapt to new, possibly empty, list: $vc_ignore.
68072
68073         bootstrap: generate more ignorable names
68074         * build-aux/bootstrap (slurp): When generating ignorable names,
68075         also map .sin to .sed, .gperf to .c, and .y to .c.
68076
68077 2007-09-03  Jim Meyering  <jim@meyering.net>
68078
68079         * build-aux/git-version-gen: New file, from coreutils.  For details, see
68080         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
68081
68082 2007-09-02  Bruno Haible  <bruno@clisp.org>
68083
68084         Fix mis-recognition of 'mcs' on QNX 6.
68085         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
68086         output contains the string "Mono".
68087         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
68088         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
68089
68090 2007-09-01  Bruno Haible  <bruno@clisp.org>
68091
68092         Fix collision between uniwidth/* and linebreak modules.
68093         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
68094         u32_width): Remove declarations.
68095         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
68096         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
68097         streq3, streq2, streq1, streq0): Remove functions.
68098         (STREQ): Remove macro.
68099         (is_cjk_encoding): Remove function.
68100         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
68101         (uc_width, u8_width, u16_width, u32_width): Remove functions.
68102         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
68103         * NEWS: Document the change.
68104
68105 2007-09-01  Bruno Haible  <bruno@clisp.org>
68106
68107         * lib/streq.h: Add double-inclusion guard.
68108
68109 2007-09-01  Karl Berry  <karl@gnu.org>
68110
68111         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
68112
68113 2007-08-28  Jim Meyering  <jim@meyering.net>
68114
68115         Rename mreadlink_with_size to areadlink_with_size.
68116         * NEWS: Document the change.
68117         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
68118         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
68119         * lib/mreadlink.h: Rename this to...
68120         * lib/areadlink.h: ...this.
68121         * modules/mreadlink-with-size: Rename this to...
68122         * modules/areadlink-with-size: ...this.
68123         * lib/canonicalize.c: Reflect the renaming.
68124         * modules/canonicalize: Likewise.
68125
68126 2007-08-26  Bruno Haible  <bruno@clisp.org>
68127
68128         * gnulib-tool (func_import): When deciding which files to remove,
68129         consider also dangling symbolic links.
68130         Reported by Eric Blake.
68131
68132 2007-08-26  Bruno Haible  <bruno@clisp.org>
68133
68134         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
68135
68136 2007-08-23  Simon Josefsson  <simon@josefsson.org>
68137
68138         * lib/readline.c: Don't include getline.h, the prototype is now
68139         found in stdio.h.
68140
68141 2007-08-23  Jim Meyering  <jim@meyering.net>
68142
68143         Getdelim touchup.
68144         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
68145         around the funlockfile call, since funlockfile never sets errno.
68146         Don't set errno upon failed realloc.
68147
68148 2007-08-22  Eric Blake  <ebb9@byu.net>
68149
68150         Getline touchups.
68151         * lib/getdelim.c (getdelim): Revert regression that required *n to
68152         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
68153         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
68154         getdelim, rather than whether implementation is missing.
68155         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
68156         * lib/stdio_.h (getline): Also declare if replacement is
68157         required.
68158         * doc/functions/getdelim.texi: New file.
68159         * doc/functions/getline.texi: Likewise.
68160         * doc/gnulib.texi (Function Substitutes): Add new files.
68161         Reported by Bruno Haible.
68162
68163 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
68164
68165         * users.txt: Add Guile.
68166
68167 2007-08-22  Eric Blake  <ebb9@byu.net>
68168
68169         * tests/test-getdelim.c (main): Use remove, not unlink.
68170         * tests/test-getline.c (main): Likewise.
68171
68172         Move getline and getdelim into stdio.h, per POSIX 200x.
68173         * modules/getline (Files): Remove getline.h.
68174         (Depends-on): Add stdio.
68175         (configure.ac): Add module indicator.
68176         * modules/getdelim (Files): Remove getdelim.h.
68177         (Depends-on): Add stdio.
68178         (configure.ac): Add module indicator.
68179         * modules/stdio (Makefile.am): Work with new indicators.
68180         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
68181         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
68182         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
68183         * lib/getdelim.h: Delete.
68184         * lib/getline.h: Delete.
68185         * lib/stdio_.h (getdelim, getline): Declare.
68186         * modules/getdelim-tests: New module.
68187         * modules/getline-tests: Likewise.
68188         * tests/test-getdelim.c: New file.
68189         * tests/test-getline.c: Likewise.
68190         * NEWS: Document the change.
68191         * lib/getline.c: Update choice of header.
68192         * lib/csharpcomp.c: Likewise.
68193         * lib/getpass.c: Likewise.
68194         * lib/javacomp.c: Likewise.
68195         * lib/javaversion.c: Likewise.
68196         * lib/yesno.c: Likewise.
68197         * lib/getdelim.c: Likewise.
68198         (getdelim): Set errno on failure, and avoid memory leak.
68199
68200 2007-08-19  Bruno Haible  <bruno@clisp.org>
68201
68202         * modules/closein (Depends-on): Add freadahead.
68203         * lib/closein.c: Include freadahead.h.
68204         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
68205         is zero.
68206
68207 2007-08-19  Bruno Haible  <bruno@clisp.org>
68208
68209         * modules/freadahead-tests: New file.
68210         * tests/test-freadahead.sh: New file.
68211         * tests/test-freadahead.c: New file.
68212
68213         * modules/freadahead: New file.
68214         * lib/freadahead.h: New file.
68215         * lib/freadahead.c: New file.
68216         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
68217         fbufmode, fpurge, freadable, fwritable.
68218
68219 2007-08-19  Eric Blake  <ebb9@byu.net>
68220
68221         Test yesno in combination with closein.
68222         * lib/yesno.c (yesno): Document use of stdin.
68223         * modules/yesno-tests (Files): New module.
68224         * tests/test-yesno.c (main): New file.
68225         * tests/test-yesno.sh: Likewise.
68226
68227 2007-08-19  Bruno Haible  <bruno@clisp.org>
68228
68229         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
68230         * lib/fseeko.c (rpl_fseeko): Likewise.
68231         * lib/fseterr.c (fseterr): Likewise.
68232
68233 2007-08-19  Bruno Haible  <bruno@clisp.org>
68234
68235         * tests/test-lseek.c (main): Disable a test for BeOS.
68236         * doc/functions/lseek.texi: Document the BeOS bug.
68237
68238 2007-08-19  Bruno Haible  <bruno@clisp.org>
68239             Eric Blake  <ebb9@byu.net>
68240
68241         * lib/lseek.c: Include <sys/stat.h>.
68242         (rpl_lseek): Add workaround code also for Unix platforms.
68243         Needed for BeOS.
68244         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
68245         * doc/functions/lseek.texi: Document BeOS definiency.
68246
68247 2007-08-18  Bruno Haible  <bruno@clisp.org>
68248
68249         * modules/fstrcmp-tests: New file.
68250         * tests/test-fstrcmp.c: New file.
68251
68252 2007-08-18  Bruno Haible  <bruno@clisp.org>
68253
68254         * modules/fstrcmp: New file, from GNU gettext with modifications.
68255         * lib/fstrcmp.h: New file, from GNU gettext.
68256         * lib/fstrcmp.c: New file, from GNU gettext.
68257         * MODULES.html.sh (String handling): Add fstrcmp.
68258
68259 2007-08-18  Bruno Haible  <bruno@clisp.org>
68260
68261         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
68262         'bool'.
68263         (diag, compareseq): Remove const from the ctxt argument.
68264         (USE_HEURISTIC): Undefine at the end.
68265
68266 2007-08-18  Jim Meyering  <jim@meyering.net>
68267
68268         New file: lib/idcache.h
68269         * NEWS: Mention the addition.
68270         * modules/idcache (Files): Add lib/idcache.h
68271         * lib/idcache.c: Include "idcache.h".
68272         Don't include <sys/types.h>.
68273         Add a FIXME comment.
68274         Move file-scoped "static" declarations to the top.
68275         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
68276
68277 2007-08-17  Bruno Haible  <bruno@clisp.org>
68278         and Paul Eggert  <eggert@cs.ucla.edu>
68279
68280         * MODULES.html.sh: Add diffseq.
68281         * modules/diffseq: New file.
68282         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
68283         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
68284
68285 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68286
68287         Import changes from coreutils for bootstrap script.
68288
68289         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
68290
68291         * build-aux/bootstrap (slurp): Work even in environments where
68292         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
68293         current code does not slurp files whose names start with ".", and
68294         this looks like it might be a troublesome area.
68295
68296         2007-07-11  Jim Meyering  <jim@meyering.net>
68297
68298         If there's a GPL vN copyright comment, require that N == 3.
68299
68300         2007-07-08  Jim Meyering  <jim@meyering.net>
68301
68302         Run the coreutils-specific code only if tests/Makefile.am.in exists.
68303         * build-aux/bootstrap (mam_template): Move definition out of loop.
68304
68305         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
68306
68307         * build-aux/bootstrap (symlink_to_dir): Rename function from
68308         symlink_to_gnulib.  Add a directory parameter.  Update all
68309         callers.
68310         (cp_mark_as_generated): Also check for -- and link to -- files in
68311         gl/.
68312
68313         2007-07-08  Jim Meyering  <jim@meyering.net>
68314
68315         Adapt to deeper hierarchy in gnulib.
68316         * build-aux/bootstrap (symlink_to_dir): If the destination
68317         directory doesn't exist, create it. This is required at least for
68318         "lib/uniwidth/cjk.h".
68319
68320         2007-05-15  Jim Meyering  <jim@meyering.net>
68321
68322         * build-aux/bootstrap: Now that generated Makefile.am files
68323         are no longer under version control, they must be created at
68324         bootstrap time.
68325
68326 2007-08-14  Ben Pfaff  <blp@gnu.org>
68327
68328         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
68329
68330 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68331
68332         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
68333         given the changes below.
68334         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
68335         even on hosts that have padding bits beyond the supported 64.
68336
68337 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
68338
68339         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
68340         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
68341         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
68342         depends on it.
68343         (xstrtol_error): Remove.
68344         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
68345         but with a different signature.
68346         (ATTRIBUTE_NORETURN, __attribute__): New macros.
68347         * lib/xstrtol-error.c: Include exitfail.h.
68348         (xstrtol_fatal): New function, with a different signature from the
68349         old xstrtol_error, so that the caller need not worry about passing
68350         in an exit status, or about storage management of the option argument.
68351         (xstrtol_error): Now a static function.  Redo signature to
68352         implement xstrtol_fatal.  Output the correct number of hyphens in
68353         front of the option so that the caller need not worry about
68354         storage management.
68355         (N_): New macro.
68356         (_): Remove; not used now.
68357         * modules/xstrtol: Depend on getopt.
68358         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
68359         of old STRTOL_FATAL_ERROR macro.
68360         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
68361         of test program.
68362         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
68363         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
68364
68365 2007-08-08  Eric Blake  <ebb9@byu.net>
68366
68367         * lib/xstrtol-error.c: Add missing include.
68368
68369         Move xstrtol messages into gnulib domain, when --pobase is used.
68370         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
68371         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
68372         * modules/xstrtol (Files): Distribute new file.
68373         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
68374         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
68375         * tests/test-xstrtol.c: ...into new file.
68376         * tests/test-xstrtoul.c: Also test xstrtoul.
68377         * tests/test-xstrtoimax.c: Also test xstrtoimax.
68378         * tests/test-xstrtoumax.c: Also test xstrtoumax.
68379         * tests/test-xstrtol.sh: Drive the tests.
68380         * tests/test-xstrtoimax.sh: Likewise.
68381         * tests/test-xstrtoumax.sh: Likewise.
68382         * modules/xstrtol-tests: New module.
68383         * modules/xstrtoimax-tests: Likewise.
68384         * modules/xstrtoumax-tests: Likewise.
68385
68386 2007-08-08  Jim Meyering  <jim@meyering.net>
68387
68388         New function: mfile_name_concat.
68389         * lib/filenamecat.c (mfile_name_concat): New function, just like
68390         file_name_concat, but return NULL upon failure rather than exiting
68391         with a diagnostic.
68392         * lib/filenamecat.h: Declare it.
68393
68394 2007-08-07  Bruno Haible  <bruno@clisp.org>
68395
68396         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
68397         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
68398         warning from gcc.
68399         Reported by Eric Blake.
68400
68401 2007-08-07  Simon Josefsson  <simon@josefsson.org>
68402
68403         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
68404         * modules/crypto/arcfour (License): Likewise.
68405         * modules/crypto/des-tests (License): Likewise.
68406         * modules/crypto/gc-arctwo-tests (License): Likewise.
68407         * modules/crypto/gc-des-tests (License): Likewise.
68408         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
68409         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
68410         * modules/crypto/gc-md2-tests (License): Likewise.
68411         * modules/crypto/gc-md4-tests (License): Likewise.
68412         * modules/crypto/gc-md5-tests (License): Likewise.
68413         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
68414         * modules/crypto/gc-rijndael-tests (License): Likewise.
68415         * modules/crypto/gc-sha1-tests (License): Likewise.
68416         * modules/crypto/gc-tests (License): Likewise.
68417         * modules/crypto/hmac-md5 (License): Likewise.
68418         * modules/crypto/hmac-sha1 (License): Likewise.
68419         * modules/crypto/md2-tests (License): Likewise.
68420         * modules/crypto/md4-tests (License): Likewise.
68421         * modules/crypto/md5 (License): Likewise.
68422         * modules/crypto/rijndael (License): Likewise.
68423         * modules/crypto/sha1 (License): Likewise.
68424         * modules/memxor (License): Likewise.
68425
68426 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68427         and Bruno Haible  <bruno@clisp.org>
68428
68429         * NEWS: Describe interface changes to human, xstrtol.
68430         * lib/human.h: Include <xstrtol.h>.
68431         (human_options): Return enum strtol_error, not int.  Remove
68432         bool arg; take int * instead.
68433         * lib/human.c: Don't include "gettext.h".
68434         (_): Remove; no longer used.
68435         Don't include <xstrtol.h>, since human.h does it.
68436         (human_options): Adjust to abovementioned interface changes.
68437         Do not report error to stderr; that's now the caller's
68438         responsibility.
68439         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
68440         interface change.
68441         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
68442         Str, Argument_type_string.  All uses changed.  Put " argument"
68443         in diagnostics to make them clearer.  Change wording of suffix
68444         message for clarity.
68445         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
68446         Argument_type_string.
68447         (STRTOL_FATAL_WARN): Remove; no longer used.
68448         * modules/human (Depends-on): Remove gettext-h.
68449
68450 2007-08-06  Simon Josefsson  <simon@josefsson.org>
68451
68452         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
68453
68454 2007-07-31  Bruno Haible  <bruno@clisp.org>
68455
68456         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
68457         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
68458         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
68459
68460 2007-07-31  Bruno Haible  <bruno@clisp.org>
68461
68462         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
68463         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
68464
68465 2007-07-30  Bruno Haible  <bruno@clisp.org>
68466
68467         * modules/base64 (License): Use the synonymous term "LGPLv2+".
68468         * modules/c-ctype (License): Likewise.
68469         * modules/c-strcase (License): Likewise.
68470         * modules/check-version (License): Likewise.
68471         * modules/iconv (License): Likewise.
68472         * modules/iconv_open (License): Likewise.
68473         * modules/read-file (License): Likewise.
68474         * modules/striconv (License): Likewise.
68475         * modules/strverscmp (License): Likewise.
68476         * modules/vasprintf (License): Likewise.
68477         * modules/crypto/des (License): Likewise.
68478         * modules/crypto/gc (License): Likewise.
68479         * modules/crypto/gc-arcfour (License): Likewise.
68480         * modules/crypto/gc-arctwo (License): Likewise.
68481         * modules/crypto/gc-des (License): Likewise.
68482         * modules/crypto/gc-hmac-md5 (License): Likewise.
68483         * modules/crypto/gc-hmac-sha1 (License): Likewise.
68484         * modules/crypto/gc-md2 (License): Likewise.
68485         * modules/crypto/gc-md4 (License): Likewise.
68486         * modules/crypto/gc-md5 (License): Likewise.
68487         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
68488         * modules/crypto/gc-random (License): Likewise.
68489         * modules/crypto/gc-rijndael (License): Likewise.
68490         * modules/crypto/gc-sha1 (License): Likewise.
68491         * modules/crypto/md2 (License): Likewise.
68492         * modules/crypto/md4 (License): Likewise.
68493
68494 2007-07-30  Jim Meyering  <jim@meyering.net>
68495
68496         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
68497         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
68498         it has valid stat data.  This bug would cause du not to count the
68499         sizes of inaccessible directories.
68500         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
68501         in <http://bugzilla.redhat.com/250077>.
68502
68503 2007-07-25  Peter O'Gorman  <peter@pogma.com>
68504             Bruno Haible  <bruno@clisp.org>
68505
68506         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
68507         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
68508         #include_next, gives a diagnostic about it, but reports no error in
68509         the exit code.
68510         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
68511
68512 2007-07-24  Ben Pfaff  <blp@gnu.org>
68513
68514         Improve name: "count-one-bits" is better than "popcount".
68515         * MODULES.html.sh: Update name.
68516         * lib/popcount.h: Renamed lib/count-one-bits.h.
68517         (popcount): Renamed count_one_bits.
68518         (popcountl): Renamed count_one_bits_l.
68519         (popcountll): Renamed count_one_bits_ll.
68520         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
68521         * modules/popcount: Renamed module/count-one-bits.
68522         * modules/popcount-tests: Renamed module/count-one-bits-tests.
68523         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
68524
68525 2007-07-23  Ben Pfaff  <blp@gnu.org>
68526
68527         * lib/popcount.h (popcount32): Reduce size of constants, to allow
68528         better code generation, and add U to large constants to avoid
68529         warnings, in non-GCC case.
68530         Suggested by Bruno Haible.
68531
68532 2007-07-23  Ben Pfaff  <blp@gnu.org>
68533
68534         * lib/popcount.h: Use verify_true instead of if...abort.
68535         * modules/popcount: Depend on verify module.
68536         Suggested by Jim Meyering.
68537
68538 2007-07-23  Bruno Haible  <bruno@clisp.org>
68539
68540         * gnulib-tool (func_import): Create a .cvsignore file also when the
68541         directory is not yet in CVS but the toplevel directory is. When
68542         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
68543         Reported by Karl Berry.
68544
68545 2007-07-22  Ben Pfaff  <blp@gnu.org>
68546
68547         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
68548         case.
68549         Suggested by Eric Blake.
68550
68551 2007-07-22  Ben Pfaff  <blp@gnu.org>
68552
68553         New module: popcount.
68554         * MODULES.html.sh: Add popcount.
68555         * modules/popcount: New file.
68556         * modules/popcount-tests: New file.
68557         * tests/test-popcount.c: New file.
68558         * lib/popcount.h: New file.
68559         * m4/popcount.m4: New file.
68560
68561 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
68562
68563         * build-aux/announce-gen: Update to GPLv3.
68564
68565         * build-aux/config.guess: Update from config.
68566
68567 2007-07-21  Bruno Haible  <bruno@clisp.org>
68568
68569         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
68570         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
68571
68572 2007-07-20  Jim Meyering  <jim@meyering.net>
68573
68574         * check-module: Diagnose a self-dependency.
68575
68576 2007-07-19  Bruno Haible  <bruno@clisp.org>
68577
68578         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
68579         empty.
68580         Reported by Eric Blake.
68581
68582 2007-07-18  Bruno Haible  <bruno@clisp.org>
68583
68584         * gnulib-tool: New options --po-base, --po-domain.
68585         (func_usage): Document them.
68586         (pobase, po_domain): New variables.
68587         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
68588         DEFAULT_TEXT_DOMAIN.
68589         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
68590         (func_import): Consider pobase and po_domain. Create a po/ directory.
68591         (func_create_testdir): Set pobase and po_domain to empty.
68592         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
68593         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
68594
68595 2007-07-18  Bruno Haible  <bruno@clisp.org>
68596
68597         * gnulib-tool (func_get_automake_snippet): Synthesize also an
68598         EXTRA_DIST augmentation for files in build-aux/.
68599
68600 2007-07-16  Bruno Haible  <bruno@clisp.org>
68601
68602         * modules/lseek (License): Use the synonymous term "LGPLv2+".
68603         * modules/getdelim (License): Likewise.
68604
68605 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68606
68607         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
68608         * modules/d-type (License): Likewise.
68609         * modules/extensions (License): Likewise.
68610         * modules/fnmatch (License): Likewise.
68611         * modules/fseeko (License): Likewise.
68612         * modules/getaddrinfo (License): Likewise.
68613         * modules/getline (License): Likewise.
68614         * modules/getlogin_r (License): Likewise.
68615         * modules/getpass (License): Likewise.
68616         * modules/gettimeofday (License): Likewise.
68617         * modules/glob (License): Likewise.
68618         * modules/inet_ntop (License): Likewise.
68619         * modules/malloc (License): Likewise.
68620         * modules/malloca (License): Likewise.
68621         * modules/memmem (License): Likewise.
68622         * modules/mempcpy (License): Likewise.
68623         * modules/memset (License): Likewise.
68624         * modules/minmax (License): Likewise.
68625         * modules/mktime (License): Likewise.
68626         * modules/netinet_in (License): Likewise.
68627         * modules/pathmax (License): Likewise.
68628         * modules/poll (License): Likewise.
68629         * modules/regex (License): Likewise.
68630         * modules/snprintf (License): Likewise.
68631         * modules/stdbool (License): Likewise.
68632         * modules/stdint (License): Likewise.
68633         * modules/stdio (License): Likewise.
68634         * modules/strcase (License): Likewise.
68635         * modules/strcasestr (License): Likewise.
68636         * modules/strdup (License): Likewise.
68637         * modules/string (License): Likewise.
68638         * modules/strndup (License): Likewise.
68639         * modules/strnlen (License): Likewise.
68640         * modules/strpbrk (License): Likewise.
68641         * modules/strptime (License): Likewise.
68642         * modules/strsep (License): Likewise.
68643         * modules/sys_select (License): Likewise.
68644         * modules/sys_socket (License): Likewise.
68645         * modules/sys_stat (License): Likewise.
68646         * modules/sys_time (License): Likewise.
68647         * modules/time (License): Likewise.
68648         * modules/time_r (License): Likewise.
68649         * modules/timegm (License): Likewise.
68650         * modules/unistd (License): Likewise.
68651         * modules/vsnprintf (License): Likewise.
68652         * modules/wctype (License): Likewise.
68653
68654 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68655
68656         * modules/argz (License): LGPLv2+.
68657
68658 2007-07-15  Karl Berry  <karl@gnu.org>
68659
68660         * doc/gnulib.texi: revise node structure per new fdl.texi.
68661
68662 2007-07-14  Bruno Haible  <bruno@clisp.org>
68663
68664         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
68665         the output file.
68666         * lib/uniname/uninames.h: Regenerated.
68667
68668 2007-07-14  Karl Berry  <karl@gnu.org>
68669
68670         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
68671         omitting sectioning and index commands.
68672
68673 2007-07-13  Bruno Haible  <bruno@clisp.org>
68674
68675         New gnulib-tool option --more-symlinks.
68676         * gnulib-tool (func_usage): Document --more-symlinks.
68677         (do_copyrights): New variable.
68678         Recognize option --more-symlinks.
68679         (func_import): Don't add a copyright notice transform to
68680         sed_transform_lib_file if do_copyrights is empty.
68681
68682 2007-07-13  Bruno Haible  <bruno@clisp.org>
68683
68684         * lib/vasnprintf.c (decimal_point_char): Define also if
68685         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
68686         && !NEED_PRINTF_DIRECTIVE_A.
68687         Reported by Clemens Koller <clemens.koller@anagramm.de> via
68688         Gary V. Vaughan <gary@gnu.org>.
68689
68690 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
68691
68692         * lib/inttypes_.h: Undo previous change, since it was fixed
68693         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
68694
68695 2007-07-13  Bruno Haible  <bruno@clisp.org>
68696
68697         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
68698         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
68699
68700 2007-07-13  Jim Meyering  <jim@meyering.net>
68701
68702         df: Don't fail for Tru64's "file-on-file mount".
68703         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
68704         so we fall through and use statfs instead.  Details here:
68705         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
68706         Reported by Albert Chin.
68707
68708 2007-07-13  Bruno Haible  <bruno@clisp.org>
68709
68710         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
68711         * modules/configmake (License): Likewise.
68712         * modules/gettext (License): Likewise.
68713         * modules/gettext-h (License): Likewise.
68714         * modules/include_next (License): Likewise.
68715         * modules/link-warning (License): Likewise.
68716         * modules/localcharset (License): Likewise.
68717         * modules/localename (License): Likewise.
68718         * modules/lock (License): Likewise.
68719         * modules/relocatable-lib-lgpl (License): Likewise.
68720         * modules/size_max (License): Likewise.
68721         * modules/vasnprintf (License): Likewise.
68722         * modules/wchar (License): Likewise.
68723         * modules/xsize (License): Likewise.
68724
68725 2007-07-13  Bruno Haible  <bruno@clisp.org>
68726
68727         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
68728         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
68729
68730 2007-07-12  Bruno Haible  <bruno@clisp.org>
68731
68732         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
68733         in the modules files.
68734
68735 2007-07-11  Karl Berry  <karl@gnu.org>
68736
68737         * MODULES.html.sh (func_module): use
68738          sed -e '\|^'"${includefile}"'$|d'
68739          instead of /.../d, to avoid errors on $includefile's containing /.
68740
68741 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68742
68743         * gnulib-tool (func_import): Avoid duplication of --avoid
68744         statements
68745         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
68746         names to `_' in variable names.
68747
68748 2007-07-10  Eric Blake  <ebb9@byu.net>
68749
68750         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
68751         * NEWS: Document this change.
68752
68753 2007-07-08  Bruno Haible  <bruno@clisp.org>
68754
68755         Update to Unicode 5.0.
68756         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
68757         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
68758         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
68759         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
68760         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
68761         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
68762         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
68763         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
68764         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
68765         U+10A3F, U+1D242..U+1D244.
68766         (nonspacing_table_ind): Update.
68767         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
68768         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
68769
68770 2007-07-08  Bruno Haible  <bruno@clisp.org>
68771
68772         Update to Unicode 5.0.
68773         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
68774         code transform. Extend the name index field of unicode_name_to_code and
68775         unicode_code_to_name from 16 to 24 bits.
68776         * lib/uniname/uniname.c (unicode_character_name,
68777         unicode_name_character): Add the range 0x12xxx to the code transform.
68778         * lib/uniname/uninames.h: Regenerated.
68779         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
68780
68781 2007-07-07  Bruno Haible  <bruno@clisp.org>
68782
68783         * modules/wcwidth-tests: New file.
68784         * tests/test-wcwidth.c: New file.
68785
68786         Work around MacOS X wcwidth() bug.
68787         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
68788         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
68789         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
68790         original wcwidth in non-UTF-8 locales.
68791         * modules/wcwidth (Depends-on): Add localcharset, streq,
68792         uniwidth/width.
68793         * doc/functions/wcwidth.texi: Update.
68794
68795 2007-07-07  Bruno Haible  <bruno@clisp.org>
68796
68797         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
68798         (wcwidth): New declaration.
68799         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
68800         macros.
68801         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
68802         here. Prepare for creating <wchar.h> unconditionally.
68803         * modules/wchar (Depends-on): Add link-warning.
68804         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
68805         REPLACE_WCWIDTH, and GL_LINK_WARNING.
68806         * lib/wcwidth.h: Remove file.
68807         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
68808         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
68809         * modules/wcwidth (Files): Remove lib/wcwidth.h.
68810         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
68811         (Include): Replace wcwidth.h with <wchar.h>.
68812         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
68813         * lib/mbchar.h: Don't include wcwidth.h.
68814         * lib/mbswidth.c: Likewise.
68815         * NEWS: Mention the change.
68816
68817 2007-07-07  Bruno Haible  <bruno@clisp.org>
68818
68819         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
68820         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
68821         definition with an external declaration.
68822         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
68823         defined as a function. Remove AC_C_INLINE requirement.
68824         * modules/wcwidth (Files): Add lib/wcwidth.c.
68825         (Makefile.am): Remove redundant statement.
68826
68827 2007-07-07  Bruno Haible  <bruno@clisp.org>
68828
68829         * MODULES.html.sh (Unicode string functions): Add the new modules.
68830
68831         * tests/uniwidth/test-u32-strwidth.c: New file.
68832         * modules/uniwidth/u32-strwidth-tests: New file.
68833
68834         * lib/uniwidth/u32-strwidth.c: New file.
68835         * modules/uniwidth/u32-strwidth: New file.
68836
68837         * tests/uniwidth/test-u16-strwidth.c: New file.
68838         * modules/uniwidth/u16-strwidth-tests: New file.
68839
68840         * lib/uniwidth/u16-strwidth.c: New file.
68841         * modules/uniwidth/u16-strwidth: New file.
68842
68843         * tests/uniwidth/test-u8-strwidth.c: New file.
68844         * modules/uniwidth/u8-strwidth-tests: New file.
68845
68846         * lib/uniwidth/u8-strwidth.c: New file.
68847         * modules/uniwidth/u8-strwidth: New file.
68848
68849         * tests/uniwidth/test-u32-width.c: New file.
68850         * modules/uniwidth/u32-width-tests: New file.
68851
68852         * lib/uniwidth/u32-width.c: New file.
68853         * modules/uniwidth/u32-width: New file.
68854
68855         * tests/uniwidth/test-u16-width.c: New file.
68856         * modules/uniwidth/u16-width-tests: New file.
68857
68858         * lib/uniwidth/u16-width.c: New file.
68859         * modules/uniwidth/u16-width: New file.
68860
68861         * tests/uniwidth/test-u8-width.c: New file.
68862         * modules/uniwidth/u8-width-tests: New file.
68863
68864         * lib/uniwidth/u8-width.c: New file.
68865         * modules/uniwidth/u8-width: New file.
68866
68867         * tests/uniwidth/test-uc_width.c: New file.
68868         * modules/uniwidth/width-tests: New file.
68869
68870         * lib/uniwidth/width.c: New file, from GNU libiconv.
68871         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
68872         * modules/uniwidth/width: New file.
68873
68874         * lib/uniwidth.h: New file, from GNU libiconv.
68875         * modules/uniwidth/base: New file.
68876
68877 2007-07-07  Bruno Haible  <bruno@clisp.org>
68878
68879         * lib/uniname.h: New file, from GNU gettext.
68880         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
68881         * lib/uniname/uninames.h: New file, from GNU gettext.
68882         * lib/uniname/uniname.c: New file, from GNU gettext.
68883         * tests/uniname/test-uninames.sh: New file.
68884         * tests/uniname/test-uninames.c: New file, from GNU gettext.
68885         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
68886         * modules/uniname/base: New file.
68887         * modules/uniname/uniname: New file.
68888         * modules/uniname/uniname-tests: New file.
68889         * MODULES.html.sh (Unicode string functions): Add the new modules.
68890
68891 2007-07-06  Bruno Haible  <bruno@clisp.org>
68892
68893         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
68894
68895 2007-07-06  Bruno Haible  <bruno@clisp.org>
68896
68897         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
68898         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
68899         includes <cygwin/sys_time.h> which includes <sys/select.h> which
68900         include <sys/time.h>.
68901         Reported by Eric Blake.
68902
68903 2007-07-06  Eric Blake  <ebb9@byu.net>
68904
68905         Fix testing canonicalize on cygwin.
68906         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68907         Revert patch from 2007-06-19.
68908         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
68909         canonicalize module is also in use.
68910         * tests/test-canonicalize.c: New file.
68911         * tests/test-canonicalize.sh: Likewise.
68912         * modules/canonicalize-tests: Likewise.
68913
68914 2007-07-06  Jim Meyering  <jim@meyering.net>
68915
68916         * lib/getugroups.c (getugroups): Detect getgrent failure.
68917         Adjust comment to reflect reality: this function may return -1.
68918
68919 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
68920
68921         * build-aux/bootstrap (TP_URL,get_translations): Update to use
68922         the new TP address.
68923         (usage): Fix typo
68924         (gnulib_mk): New variable.
68925
68926 2007-07-05  Jim Meyering  <jim@meyering.net>
68927
68928         Don't let endgrent clobber errno, no matter how improbable.
68929         * lib/getugroups.c (getugroups): Save and restore errno around
68930         endgrent call.
68931
68932         Close the group DB even when failing with 2^31 or more members.
68933         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
68934
68935 2007-07-04  Jim Meyering  <jim@meyering.net>
68936
68937         * lib/getugroups.h: New file.
68938         * lib/getugroups.c: Include "getugroups.h".
68939         Remove uses of "register" keyword.
68940         Move local variable, "cp", down into scope where used.
68941         Give "username" parameter the "const" attribute.
68942         * modules/getugroups (Files): Add lib/getugroups.h
68943
68944 2007-07-04  Karl Berry  <karl@gnu.org>
68945
68946         * MODULES.html.sh (func_all_modules): Complete rename of
68947         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
68948
68949 2007-07-02  Bruno Haible  <bruno@clisp.org>
68950
68951         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
68952         mode, when inttypes.h comes from gnulib.
68953         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
68954
68955 2007-07-02  Simon Josefsson  <simon@josefsson.org>
68956
68957         * NEWS: Mention lgpl module name change.
68958
68959         * modules/lgpl-2.1: Renamed from lgpl.
68960
68961         * NEWS: Mention gpl module name change.
68962
68963         * modules/gpl-3.0: New file, based on gpl-2.0.
68964
68965         * modules/gpl-2.0: Renamed from gpl.
68966
68967         * modules/gpl: Fix filename, doc/gpl.texi is now found at
68968         doc/gpl-2.0.texi.
68969
68970 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
68971
68972         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
68973         #define __STDC_LIMIT_MACROS temporarily while including
68974         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
68975         Problem reported by Joel E. Denny in
68976         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
68977
68978 2007-07-01  Bruno Haible  <bruno@clisp.org>
68979
68980         * lib/unistdio.h: New file.
68981         * lib/unistdio/u-asnprintf.h: New file.
68982         * lib/unistdio/u-asprintf.h: New file.
68983         * lib/unistdio/u-printf-args.c: New file.
68984         * lib/unistdio/u-printf-args.h: New file.
68985         * lib/unistdio/u-printf-parse.h: New file.
68986         * lib/unistdio/u-snprintf.h: New file.
68987         * lib/unistdio/u-sprintf.h: New file.
68988         * lib/unistdio/u-vasprintf.h: New file.
68989         * lib/unistdio/u-vsnprintf.h: New file.
68990         * lib/unistdio/u-vsprintf.h: New file.
68991         * lib/unistdio/ulc-asnprintf.c: New file.
68992         * lib/unistdio/ulc-asprintf.c: New file.
68993         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
68994         * lib/unistdio/ulc-printf-parse.c: New file.
68995         * lib/unistdio/ulc-snprintf.c: New file.
68996         * lib/unistdio/ulc-sprintf.c: New file.
68997         * lib/unistdio/ulc-vasnprintf.c: New file.
68998         * lib/unistdio/ulc-vasprintf.c: New file.
68999         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
69000         * lib/unistdio/ulc-vsnprintf.c: New file.
69001         * lib/unistdio/ulc-vsprintf.c: New file.
69002         * lib/unistdio/u8-asnprintf.c: New file.
69003         * lib/unistdio/u8-asprintf.c: New file.
69004         * lib/unistdio/u8-printf-parse.c: New file.
69005         * lib/unistdio/u8-snprintf.c: New file.
69006         * lib/unistdio/u8-sprintf.c: New file.
69007         * lib/unistdio/u8-vasnprintf.c: New file.
69008         * lib/unistdio/u8-vasprintf.c: New file.
69009         * lib/unistdio/u8-vsnprintf.c: New file.
69010         * lib/unistdio/u8-vsprintf.c: New file.
69011         * lib/unistdio/u8-u8-asnprintf.c: New file.
69012         * lib/unistdio/u8-u8-asprintf.c: New file.
69013         * lib/unistdio/u8-u8-snprintf.c: New file.
69014         * lib/unistdio/u8-u8-sprintf.c: New file.
69015         * lib/unistdio/u8-u8-vasnprintf.c: New file.
69016         * lib/unistdio/u8-u8-vasprintf.c: New file.
69017         * lib/unistdio/u8-u8-vsnprintf.c: New file.
69018         * lib/unistdio/u8-u8-vsprintf.c: New file.
69019         * lib/unistdio/u16-asnprintf.c: New file.
69020         * lib/unistdio/u16-asprintf.c: New file.
69021         * lib/unistdio/u16-printf-parse.c: New file.
69022         * lib/unistdio/u16-snprintf.c: New file.
69023         * lib/unistdio/u16-sprintf.c: New file.
69024         * lib/unistdio/u16-vasnprintf.c: New file.
69025         * lib/unistdio/u16-vasprintf.c: New file.
69026         * lib/unistdio/u16-vsnprintf.c: New file.
69027         * lib/unistdio/u16-vsprintf.c: New file.
69028         * lib/unistdio/u16-u16-asnprintf.c: New file.
69029         * lib/unistdio/u16-u16-asprintf.c: New file.
69030         * lib/unistdio/u16-u16-snprintf.c: New file.
69031         * lib/unistdio/u16-u16-sprintf.c: New file.
69032         * lib/unistdio/u16-u16-vasnprintf.c: New file.
69033         * lib/unistdio/u16-u16-vasprintf.c: New file.
69034         * lib/unistdio/u16-u16-vsnprintf.c: New file.
69035         * lib/unistdio/u16-u16-vsprintf.c: New file.
69036         * lib/unistdio/u32-asnprintf.c: New file.
69037         * lib/unistdio/u32-asprintf.c: New file.
69038         * lib/unistdio/u32-printf-parse.c: New file.
69039         * lib/unistdio/u32-snprintf.c: New file.
69040         * lib/unistdio/u32-sprintf.c: New file.
69041         * lib/unistdio/u32-vasnprintf.c: New file.
69042         * lib/unistdio/u32-vasprintf.c: New file.
69043         * lib/unistdio/u32-vsnprintf.c: New file.
69044         * lib/unistdio/u32-vsprintf.c: New file.
69045         * lib/unistdio/u32-u32-asnprintf.c: New file.
69046         * lib/unistdio/u32-u32-asprintf.c: New file.
69047         * lib/unistdio/u32-u32-snprintf.c: New file.
69048         * lib/unistdio/u32-u32-sprintf.c: New file.
69049         * lib/unistdio/u32-u32-vasnprintf.c: New file.
69050         * lib/unistdio/u32-u32-vasprintf.c: New file.
69051         * lib/unistdio/u32-u32-vsnprintf.c: New file.
69052         * lib/unistdio/u32-u32-vsprintf.c: New file.
69053         * tests/unistdio/test-ulc-asnprintf1.c: New file.
69054         * tests/unistdio/test-ulc-asnprintf1.h: New file.
69055         * tests/unistdio/test-ulc-printf1.h: New file.
69056         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
69057         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
69058         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
69059         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
69060         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
69061         * tests/unistdio/test-ulc-vasprintf1.c: New file.
69062         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
69063         * tests/unistdio/test-ulc-vsprintf1.c: New file.
69064         * tests/unistdio/test-u8-asnprintf1.c: New file.
69065         * tests/unistdio/test-u8-asnprintf1.h: New file.
69066         * tests/unistdio/test-u8-printf1.h: New file.
69067         * tests/unistdio/test-u8-vasnprintf1.c: New file.
69068         * tests/unistdio/test-u8-vasnprintf2.c: New file.
69069         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
69070         * tests/unistdio/test-u8-vasnprintf3.c: New file.
69071         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
69072         * tests/unistdio/test-u8-vasprintf1.c: New file.
69073         * tests/unistdio/test-u8-vsnprintf1.c: New file.
69074         * tests/unistdio/test-u8-vsprintf1.c: New file.
69075         * tests/unistdio/test-u16-asnprintf1.c: New file.
69076         * tests/unistdio/test-u16-asnprintf1.h: New file.
69077         * tests/unistdio/test-u16-printf1.h: New file.
69078         * tests/unistdio/test-u16-vasnprintf1.c: New file.
69079         * tests/unistdio/test-u16-vasnprintf2.c: New file.
69080         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
69081         * tests/unistdio/test-u16-vasnprintf3.c: New file.
69082         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
69083         * tests/unistdio/test-u16-vasprintf1.c: New file.
69084         * tests/unistdio/test-u16-vsnprintf1.c: New file.
69085         * tests/unistdio/test-u16-vsprintf1.c: New file.
69086         * tests/unistdio/test-u32-asnprintf1.c: New file.
69087         * tests/unistdio/test-u32-asnprintf1.h: New file.
69088         * tests/unistdio/test-u32-printf1.h: New file.
69089         * tests/unistdio/test-u32-vasnprintf1.c: New file.
69090         * tests/unistdio/test-u32-vasnprintf2.c: New file.
69091         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
69092         * tests/unistdio/test-u32-vasnprintf3.c: New file.
69093         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
69094         * tests/unistdio/test-u32-vasprintf1.c: New file.
69095         * tests/unistdio/test-u32-vsnprintf1.c: New file.
69096         * tests/unistdio/test-u32-vsprintf1.c: New file.
69097         * modules/unistdio/base: New file.
69098         * modules/unistdio/u-printf-args: New file.
69099         * modules/unistdio/ulc-asnprintf: New file.
69100         * modules/unistdio/ulc-asprintf: New file.
69101         * modules/unistdio/ulc-fprintf: New file.
69102         * modules/unistdio/ulc-printf-parse: New file.
69103         * modules/unistdio/ulc-snprintf: New file.
69104         * modules/unistdio/ulc-sprintf: New file.
69105         * modules/unistdio/ulc-vasnprintf: New file.
69106         * modules/unistdio/ulc-vasprintf: New file.
69107         * modules/unistdio/ulc-vfprintf: New file.
69108         * modules/unistdio/ulc-vsnprintf: New file.
69109         * modules/unistdio/ulc-vsprintf: New file.
69110         * modules/unistdio/u8-asnprintf: New file.
69111         * modules/unistdio/u8-asprintf: New file.
69112         * modules/unistdio/u8-printf-parse: New file.
69113         * modules/unistdio/u8-snprintf: New file.
69114         * modules/unistdio/u8-sprintf: New file.
69115         * modules/unistdio/u8-vasnprintf: New file.
69116         * modules/unistdio/u8-vasprintf: New file.
69117         * modules/unistdio/u8-vsnprintf: New file.
69118         * modules/unistdio/u8-vsprintf: New file.
69119         * modules/unistdio/u8-u8-asnprintf: New file.
69120         * modules/unistdio/u8-u8-asprintf: New file.
69121         * modules/unistdio/u8-u8-snprintf: New file.
69122         * modules/unistdio/u8-u8-sprintf: New file.
69123         * modules/unistdio/u8-u8-vasnprintf: New file.
69124         * modules/unistdio/u8-u8-vasprintf: New file.
69125         * modules/unistdio/u8-u8-vsnprintf: New file.
69126         * modules/unistdio/u8-u8-vsprintf: New file.
69127         * modules/unistdio/u16-asnprintf: New file.
69128         * modules/unistdio/u16-asprintf: New file.
69129         * modules/unistdio/u16-printf-parse: New file.
69130         * modules/unistdio/u16-snprintf: New file.
69131         * modules/unistdio/u16-sprintf: New file.
69132         * modules/unistdio/u16-vasnprintf: New file.
69133         * modules/unistdio/u16-vasprintf: New file.
69134         * modules/unistdio/u16-vsnprintf: New file.
69135         * modules/unistdio/u16-vsprintf: New file.
69136         * modules/unistdio/u16-u16-asnprintf: New file.
69137         * modules/unistdio/u16-u16-asprintf: New file.
69138         * modules/unistdio/u16-u16-snprintf: New file.
69139         * modules/unistdio/u16-u16-sprintf: New file.
69140         * modules/unistdio/u16-u16-vasnprintf: New file.
69141         * modules/unistdio/u16-u16-vasprintf: New file.
69142         * modules/unistdio/u16-u16-vsnprintf: New file.
69143         * modules/unistdio/u16-u16-vsprintf: New file.
69144         * modules/unistdio/u32-asnprintf: New file.
69145         * modules/unistdio/u32-asprintf: New file.
69146         * modules/unistdio/u32-printf-parse: New file.
69147         * modules/unistdio/u32-snprintf: New file.
69148         * modules/unistdio/u32-sprintf: New file.
69149         * modules/unistdio/u32-vasnprintf: New file.
69150         * modules/unistdio/u32-vasprintf: New file.
69151         * modules/unistdio/u32-vsnprintf: New file.
69152         * modules/unistdio/u32-vsprintf: New file.
69153         * modules/unistdio/u32-u32-asnprintf: New file.
69154         * modules/unistdio/u32-u32-asprintf: New file.
69155         * modules/unistdio/u32-u32-snprintf: New file.
69156         * modules/unistdio/u32-u32-sprintf: New file.
69157         * modules/unistdio/u32-u32-vasnprintf: New file.
69158         * modules/unistdio/u32-u32-vasprintf: New file.
69159         * modules/unistdio/u32-u32-vsnprintf: New file.
69160         * modules/unistdio/u32-u32-vsprintf: New file.
69161         * modules/unistdio/ulc-asnprintf-tests: New file.
69162         * modules/unistdio/ulc-vasnprintf-tests: New file.
69163         * modules/unistdio/ulc-vasprintf-tests: New file.
69164         * modules/unistdio/ulc-vsnprintf-tests: New file.
69165         * modules/unistdio/ulc-vsprintf-tests: New file.
69166         * modules/unistdio/u8-asnprintf-tests: New file.
69167         * modules/unistdio/u8-vasnprintf-tests: New file.
69168         * modules/unistdio/u8-vasprintf-tests: New file.
69169         * modules/unistdio/u8-vsnprintf-tests: New file.
69170         * modules/unistdio/u8-vsprintf-tests: New file.
69171         * modules/unistdio/u16-asnprintf-tests: New file.
69172         * modules/unistdio/u16-vasnprintf-tests: New file.
69173         * modules/unistdio/u16-vasprintf-tests: New file.
69174         * modules/unistdio/u16-vsnprintf-tests: New file.
69175         * modules/unistdio/u16-vsprintf-tests: New file.
69176         * modules/unistdio/u32-asnprintf-tests: New file.
69177         * modules/unistdio/u32-vasnprintf-tests: New file.
69178         * modules/unistdio/u32-vasprintf-tests: New file.
69179         * modules/unistdio/u32-vsnprintf-tests: New file.
69180         * modules/unistdio/u32-vsprintf-tests: New file.
69181         * MODULES.html.sh (Unicode string functions): Add the new modules.
69182
69183 2007-07-01  Bruno Haible  <bruno@clisp.org>
69184
69185         * lib/sprintf.c (sprintf): Limit the available length estimation,
69186         to avoid address wraparound.
69187         * lib/vsprintf.c (vsprintf): Likewise.
69188         * modules/sprintf-posix (Dependencies): Add stdint.
69189         * modules/vsprintf-posix (Dependencies): Likewise.
69190
69191 2007-07-01  Bruno Haible  <bruno@clisp.org>
69192
69193         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
69194         Windows PATH as well. Conservative double-quoting. Comments.
69195
69196 2007-07-01  Bruno Haible  <bruno@clisp.org>
69197             Eric Blake  <ebb9@byu.net>
69198             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69199
69200         * gnulib-tool (self_abspathname): Fix algorithm to cope with
69201         empty components in $PATH, denoting '.'.
69202
69203 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69204
69205         * gnulib-tool: Fix indentation.
69206         (func_create_megatestdir): Likewise.
69207         Report by Bruno Haible.
69208
69209 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69210
69211         Sync from Automake.
69212         * build-aux/gnupload: Fix shell portability issues with for loops.
69213         Report by Karl Berry.
69214
69215 2007-06-29  Simon Josefsson  <simon@josefsson.org>
69216
69217         * build-aux/maint.mk (POURL): Use translationproject.org.
69218
69219 2007-06-27  Simon Josefsson  <simon@josefsson.org>
69220             Bruno Haible  <bruno@clisp.org>
69221
69222         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
69223         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
69224         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
69225         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
69226         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
69227
69228 2007-06-27  Bruno Haible  <bruno@clisp.org>
69229
69230         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
69231         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
69232
69233 2007-06-26  Karl Berry  <karl@gnu.org>
69234
69235         * MODULES.html.sh: remove xreadlink-with-size.
69236
69237 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
69238
69239         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
69240         method that I hope also handles the double-include problem noted
69241         by Bruno Haible in
69242         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
69243
69244 2007-06-23  Bruno Haible  <bruno@clisp.org>
69245
69246         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69247         Don't let the 'mostlyclean' target fail if the last subdirectory could
69248         not be removed.
69249         Reported by Karl Berry.
69250
69251 2007-06-23  Bruno Haible  <bruno@clisp.org>
69252
69253         * gnulib-tool (echo): Add a speedier workaround for ksh.
69254         * tests/test-echo.sh: Likewise.
69255
69256 2007-06-23  Bruno Haible  <bruno@clisp.org>
69257
69258         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
69259         * tests/test-echo.sh: Likewise.
69260
69261 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69262
69263         * gnulib-tool (IFS): Initialize early, so we don't set it to
69264         empty later.
69265         (self_abspathname): Rewrite algorithm to set it, reindent.
69266         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
69267         (func_create_megatestdir): Merge some sed scripts.
69268
69269 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
69270
69271         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
69272         exposed by Sun Studio 11 cc on Solaris 8.
69273
69274 2007-06-22  Bruno Haible  <bruno@clisp.org>
69275
69276         * gnulib-tool (echo): Ensure the echo primitive does not interpret
69277         backslashes.
69278         * tests/test-echo.sh: New file.
69279
69280 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69281
69282         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
69283         simplify `sed_replace_build_aux' scripts, they are portable but
69284         echoing them with `echo' is not.
69285         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
69286
69287 2007-06-21  Karl Berry  <karl@gnu.org>
69288
69289         * config/srclist.txt: guess we can't handle the licenses via
69290         srclist at the moment.
69291
69292 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
69293
69294         * MODULES.html.sh: Add include_next.
69295         * modules/include_next: New file.
69296
69297 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
69298
69299         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
69300         INCLUDE_NEXT.
69301         (gl_CHECK_NEXT_HEADERS): New macro.
69302         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
69303         the obsolescent gl_ABSOLUTE_HEADER.
69304         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
69305         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
69306         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
69307         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
69308         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
69309         * m4/math_h.m4 (gl_MATH_H): Likewise.
69310         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
69311         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
69312         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
69313         * m4/stdint.m4 (gl_STDINT_H): Likewise.
69314         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
69315         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
69316         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
69317         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
69318         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
69319         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
69320         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
69321         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
69322         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
69323         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
69324         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
69325         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
69326         * m4/inttypes.m4 (gl_INTTYPES_H): Define
69327         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
69328         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
69329         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
69330         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
69331         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
69332         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
69333         * lib/float_.h: Likewise.
69334         * lib/inttypes_.h: Likewise.
69335         * lib/math_.h: Likewise.
69336         * lib/search_.h: Likewise.
69337         * lib/signal_.h: Likewise.
69338         * lib/stdint_.h: Likewise.
69339         * lib/stdio_.h: Likewise.
69340         * lib/stdlib_.h: Likewise.
69341         * lib/string_.h: Likewise.
69342         * lib/sys_stat_.h: Likewise.
69343         * lib/sys_time_.h: Likewise.
69344         * lib/time_.h: Likewise.
69345         * lib/unistd_.h: Likewise.
69346         * lib/wchar_.h: Likewise.
69347         * lib/wctype_.h: Likewise.
69348         * lib/dirent_.h: Likewise.
69349         * lib/iconv_.h: Likewise.
69350         * lib/locale_.h: Likewise.
69351         * lib/netinet_in_.h: Likewise.
69352         * lib/sys_select_.h: Likewise.
69353         * lib/sys_socket_.h: Likewise.
69354         * lib/sysexits_.h: Likewise.
69355         * modules/fcntl (Depends-on): Depend on include_next, not
69356         absolute_header.
69357         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
69358         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
69359         * modules/fchdir: Likewise.
69360         * modules/float: Likewise.
69361         * modules/iconv_open: Likewise.
69362         * modules/inttypes: Likewise.
69363         * modules/locale: Likewise.
69364         * modules/math: Likewise.
69365         * modules/netinet_in: Likewise.
69366         * modules/search: Likewise.
69367         * modules/signal: Likewise.
69368         * modules/stdint: Likewise.
69369         * modules/stdio: Likewise.
69370         * modules/stdlib: Likewise.
69371         * modules/string: Likewise.
69372         * modules/sys_select: Likewise.
69373         * modules/sys_socket: Likewise.
69374         * modules/sys_stat: Likewise.
69375         * modules/sys_time: Likewise.
69376         * modules/sysexits: Likewise.
69377         * modules/time: Likewise.
69378         * modules/unistd: Likewise.
69379         * modules/wchar: Likewise.
69380         * modules/wctype: Likewise.
69381         * modules/sys_stat: Change maintainer to "all".
69382         * modules/unistd: Likewise.
69383
69384 2007-06-20  Karl Berry  <karl@gnu.org>
69385
69386         * config/srclist.txt: track www changes in license files.
69387
69388 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
69389
69390         * build-aux/bootstrap: Remove stray dot.
69391         Make sure build_aux settings are honored when linking
69392         gnulib_extra_files.
69393
69394 2007-06-19  Eric Blake  <ebb9@byu.net>
69395
69396         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
69397         Allow compilation on cygwin.
69398
69399 2007-06-19  Jim Meyering  <jim@meyering.net>
69400
69401         xreadlink-with-size: Remove module.  No longer used.
69402         Ex-callers now use xreadlink or mreadlink-with-size.
69403         * modules/xreadlink-with-size: Remove module.
69404         * lib/xreadlink-with-size.c: Remove file.
69405         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
69406         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
69407         just before the function definition *is* accurate.
69408
69409         Eliminate one way canonicalize_filename_mode could exit.
69410         * lib/canonicalize.c (canonicalize_filename_mode):
69411         Use mreadlink_with_size, not xreadlink_with_size.
69412
69413 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
69414
69415         Detect porting problems to FreeBSD/arm, which has time_t wider than
69416         long int.  Original problem reported for GNU diff by Xin Li in
69417         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
69418         * modules/getdate (Depends-on): Add intprops, verify.
69419         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
69420         is an integer type no wider than long int.
69421
69422 2007-06-18  Jim Meyering  <jim@meyering.net>
69423
69424         New module: mreadlink-with-size.
69425         * MODULES.html.sh: Add mreadlink-with-size.
69426         * modules/mreadlink-with-size: New module
69427         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
69428         not xreadlink-with-size.
69429         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
69430
69431 2007-06-16  Bruno Haible  <bruno@clisp.org>
69432
69433         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
69434         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
69435         Reported by Gary V. Vaughan <gary@gnu.org>.
69436
69437 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
69438
69439         Revamp lchown so that it lives in unistd.h where it belongs.
69440         * lib/lchown.h: Remove.
69441         * lib/dirchownmod.c: Don't include lib/lchown.h.
69442         * lib/fchownat.c: Likewise.
69443         * lib/openat.c: Likewise.
69444         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
69445         does not follow symlinks.
69446         (EOPNOTSUPP): Define if not defined.
69447         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
69448         is defined to 0.
69449         (lchown): New decl.
69450         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
69451         Do not check for lchown decl.
69452         Set REPLACE_LCHOWN.
69453         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
69454         REPLACE_LCHOWN.
69455         * modules/chown: Make it clear it follows symlinks.
69456         * modules/lchown: Make it clear it doesn't follow symlinks.
69457         (Files): Remove lib/lchown.h
69458         (Depends-on): Add unistd.
69459         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
69460         (Include): Include <unistd.h>, not "lchown.h".
69461         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
69462         REPLACE_LCHOWN.
69463
69464 2007-06-15  Jim Meyering  <jim@meyering.net>
69465
69466         Change license (GPL to LGPL) of fsusage and dependents.
69467         * modules/fsusage (License): Change to LGPL.
69468         * modules/full-read (License): Likewise.
69469         * modules/full-write (License): Likewise.
69470         * modules/safe-read (License): Likewise.
69471         * modules/safe-write (License): Likewise.
69472
69473 2007-06-14  Ben Pfaff  <blp@gnu.org>
69474
69475         Missing part of allocsa -> malloca transition.
69476         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
69477         gl_MALLOCA.
69478
69479 2007-06-12  Bruno Haible  <bruno@clisp.org>
69480
69481         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
69482         to ia64, x86_64, i386.
69483         Reported by Eric Blake.
69484
69485 2007-06-12  Bruno Haible  <bruno@clisp.org>
69486
69487         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
69488         cross-compiling to x86_64.
69489
69490 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
69491
69492         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
69493         glitch reported by Ralf Wildenhues in
69494         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
69495
69496         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
69497         Vin Shelton.
69498
69499 2007-06-11  Bruno Haible  <bruno@clisp.org>
69500
69501         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
69502         replacement string.
69503         Reported by Eric Blake.
69504
69505 2007-06-10  Bruno Haible  <bruno@clisp.org>
69506
69507         Prepare vasnprintf code for use with Unicode strings.
69508         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
69509         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
69510         TYPE_U32_STRING.
69511         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
69512         a_u32_string variants.
69513         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
69514         * lib/printf-args.c: Don't include config.h and the specification
69515         header if PRINTF_FETCHARGS is already defined.
69516         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
69517         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
69518         TYPE_U16_STRING, TYPE_U32_STRING.
69519         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
69520         u16_directive, u16_directives, u32_directive, u32_directives): New
69521         types.
69522         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
69523         New declarations.
69524         * lib/printf-parse.c: Don't include config.h and the specification
69525         header if PRINTF_PARSE is already defined. Eliminate the set of
69526         parameters for WIDE_CHAR_VERSION; the user of this file must provide
69527         them now. Include c-ctype.h.
69528         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
69529         directive and CHAR_T_ONLY_ASCII.
69530         * lib/vasnprintf.c: Don't include config.h and the specification header
69531         if VASNPRINTF is already defined.
69532         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
69533         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
69534         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
69535         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
69536         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
69537         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
69538         code accordingly.
69539         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
69540         pad_ourselves also in this case, with the 'c' and 's' directives, and
69541         with a different notion of "width".
69542         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
69543
69544 2007-06-10  Bruno Haible  <bruno@clisp.org>
69545
69546         * modules/unistr/u32-mbsnlen: New file.
69547         * lib/unistr/u32-mbsnlen.c: New file.
69548
69549         * modules/unistr/u16-mbsnlen: New file.
69550         * lib/unistr/u16-mbsnlen.c: New file.
69551
69552         * modules/unistr/u8-mbsnlen: New file.
69553         * lib/unistr/u8-mbsnlen.c: New file.
69554
69555         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
69556         declarations.
69557
69558 2007-06-10  Bruno Haible  <bruno@clisp.org>
69559
69560         * lib/string_.h (mbsnlen): New declaration.
69561         * lib/mbsnlen.c: New file.
69562         * m4/mbsnlen.m4: New file.
69563         * modules/mbsnlen: New file.
69564         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
69565         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
69566         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
69567
69568 2007-06-10  Bruno Haible  <bruno@clisp.org>
69569
69570         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
69571
69572 2007-06-10  Bruno Haible  <bruno@clisp.org>
69573
69574         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
69575         * lib/mbuiter.h: Likewise.
69576
69577 2007-06-10  Bruno Haible  <bruno@clisp.org>
69578
69579         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
69580         declaration.
69581
69582 2007-06-10  Karl Berry  <karl@gnu.org>
69583
69584         * config/srclist.txt: remove gettext entries, Bruno prefers
69585         to update individually.
69586
69587 2007-06-10  Bruno Haible  <bruno@clisp.org>
69588
69589         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
69590         'maxlen'. Ensure only length + width bytes are allocated, not
69591         length + 1 + width.
69592
69593 2007-06-09  Bruno Haible  <bruno@clisp.org>
69594
69595         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
69596         (CHAR_T): Remove macro.
69597         (VASNPRINTF): Update.
69598
69599 2007-06-09  Bruno Haible  <bruno@clisp.org>
69600
69601         * MODULES.html.sh (Unicode string functions): Add the new modules.
69602
69603         * modules/uniconv/u32-conv-to-enc: New file.
69604         * lib/uniconv/u32-conv-to-enc.c: New file.
69605         * modules/uniconv/u32-conv-to-enc-tests: New file.
69606         * tests/uniconv/test-u32-conv-to-enc.c: New file.
69607
69608         * modules/uniconv/u16-conv-to-enc: New file.
69609         * lib/uniconv/u16-conv-to-enc.c: New file.
69610         * lib/uniconv/u-conv-to-enc.h: New file.
69611         * modules/uniconv/u16-conv-to-enc-tests: New file.
69612         * tests/uniconv/test-u16-conv-to-enc.c: New file.
69613
69614         * modules/uniconv/u8-conv-to-enc: New file.
69615         * lib/uniconv/u8-conv-to-enc.c: New file.
69616         * modules/uniconv/u8-conv-to-enc-tests: New file.
69617         * tests/uniconv/test-u8-conv-to-enc.c: New file.
69618
69619         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
69620         u32_conv_to_encoding): New declarations.
69621
69622 2007-06-09  Bruno Haible  <bruno@clisp.org>
69623
69624         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
69625
69626 2007-06-09  Bruno Haible  <bruno@clisp.org>
69627
69628         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
69629         * modules/malloca: Renamed from modules/allocsa, updated.
69630         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
69631         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
69632         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
69633         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
69634         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
69635         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
69636         * modules/xmalloca: Renamed from modules/xallocsa, updated.
69637         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
69638         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
69639         * modules/c-strcasestr (Depends-on): Update.
69640         * lib/c-strcasestr.c: Update.
69641         * modules/c-strstr (Depends-on): Update.
69642         * lib/c-strstr.c: Update.
69643         * modules/canonicalize-lgpl (Depends-on): Update.
69644         * lib/canonicalize-lgpl.c: Update.
69645         * modules/clean-temp (Depends-on): Update.
69646         * lib/clean-temp.c: Update.
69647         * modules/csharpcomp (Depends-on): Update.
69648         * lib/csharpcomp.c: Update.
69649         * modules/csharpexec (Depends-on): Update.
69650         * lib/csharpexec.c: Update.
69651         * modules/javacomp (Depends-on): Update.
69652         * lib/javacomp.c: Update.
69653         * modules/javaexec (Depends-on): Update.
69654         * lib/javaexec.c: Update.
69655         * modules/mbscasestr (Depends-on): Update.
69656         * lib/mbscasestr.c: Update.
69657         * modules/mbsstr (Depends-on): Update.
69658         * lib/mbsstr.c: Update.
69659         * modules/setenv (Depends-on): Update.
69660         * lib/setenv.c: Update.
69661         * modules/strcasestr (Depends-on): Update.
69662         * lib/strcasestr.c: Update.
69663         * modules/striconveha (Depends-on): Update.
69664         * lib/striconveha.c: Update.
69665         * modules/relocatable-prog-wrapper (Files): Update.
69666         * lib/relocwrapper.c: Update.
69667         * build-aux/install-reloc: Update.
69668         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
69669
69670 2007-06-08  Bruno Haible  <bruno@clisp.org>
69671
69672         Port to uClibc.
69673         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
69674         * lib/fpurge.c (fpurge): Likewise.
69675         * lib/freading.c (freading): Likewise.
69676         * lib/fseeko.c (rpl_fseeko): Likewise.
69677         * lib/fseterr.c (fseterr): Likewise.
69678         * lib/fwriting.c (fwriting): Likewise.
69679         * tests/test-fflush.c (main): Avoid a failure on uClibc.
69680
69681 2007-06-08  Bruno Haible  <bruno@clisp.org>
69682
69683         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
69684         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
69685         * modules/gettext (Files): Add m4/intlmacosx.m4.
69686
69687 2007-06-07  Bruno Haible  <bruno@clisp.org>
69688
69689         * modules/localename-tests: New file.
69690         * tests/test-localename.c: New file.
69691
69692         New module 'localename'.
69693         * lib/localename.h: New file.
69694         * lib/localename.c: New file, from GNU gettext.
69695         * m4/localename.m4: New file.
69696         * modules/localename: New file.
69697
69698 2007-06-07  Bruno Haible  <bruno@clisp.org>
69699
69700         Work around the lack of <wchar.h> on some builds of uClibc.
69701         * doc/headers/wchar.texi: Update.
69702         * lib/wchar_.h: Include <wchar.h> only if it exists.
69703         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
69704         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
69705         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
69706         doesn't exist.
69707         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
69708         * modules/mbfile (Depends-on): Add wchar.
69709         * modules/mbiter (Depends-on): Likewise.
69710         * modules/mbuiter (Depends-on): Likewise.
69711         Reported by Simon Josefsson.
69712
69713 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
69714
69715         Work around problem reported by Steven M. Schweda in
69716         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
69717         Tru64 5.1B with the Compaq compiler environment installed declares
69718         an 'isblank' function but does not define it in the C library.
69719         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
69720         * lib/regex_internal.h (isblank): Likewise.
69721         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
69722         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69723
69724 2007-06-05  Bruno Haible  <bruno@clisp.org>
69725
69726         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
69727         ia64.
69728         * modules/printf-safe: New file.
69729         * modules/fprintf-posix (Depends-on): Add printf-safe.
69730         * modules/printf-posix (Depends-on): Likewise.
69731         * modules/snprintf-posix (Depends-on): Likewise.
69732         * modules/sprintf-posix (Depends-on): Likewise.
69733         * modules/vasnprintf-posix (Depends-on): Likewise.
69734         * modules/vasprintf-posix (Depends-on): Likewise.
69735         * modules/vfprintf-posix (Depends-on): Likewise.
69736         * modules/vprintf-posix (Depends-on): Likewise.
69737         * modules/vsnprintf-posix (Depends-on): Likewise.
69738         * modules/vsprintf-posix (Depends-on): Likewise.
69739         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
69740         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
69741         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
69742         "no" on i386, x86_64, ia64.
69743         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
69744         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69745         on i386, x86_64, ia64.
69746         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
69747         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69748         on i386, x86_64, ia64.
69749         * tests/test-vasnprintf-posix.c: Include float.h.
69750         (LDBL80_WORDS): New macro.
69751         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69752         on i386, x86_64, ia64.
69753         * tests/test-vasprintf-posix.c: Include float.h.
69754         (LDBL80_WORDS): New macro.
69755         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69756         on i386, x86_64, ia64.
69757         * tests/test-snprintf-posix.c: Include float.h.
69758         * tests/test-sprintf-posix.c: Likewise.
69759         * tests/test-vsnprintf-posix.c: Likewise.
69760         * tests/test-vsprintf-posix.c: Likewise.
69761
69762 2007-06-05  Bruno Haible  <bruno@clisp.org>
69763
69764         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
69765         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
69766         non-IEEE numbers on i386, x86_64, ia64.
69767         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
69768         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
69769         * tests/test-isnanl.h: Include float.h.
69770         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
69771
69772 2007-06-05  Bruno Haible  <bruno@clisp.org>
69773
69774         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
69775         also the %a / %A. Handle the %a / %A code before this extra handling.
69776
69777 2007-06-05  Bruno Haible  <bruno@clisp.org>
69778
69779         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
69780         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
69781
69782 2007-06-05  Bruno Haible  <bruno@clisp.org>
69783
69784         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
69785         typo in variable name.
69786
69787 2007-06-05  Eric Blake  <ebb9@byu.net>
69788
69789         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
69790         Reported by Simon Josefsson.
69791
69792 2007-06-04  Bruno Haible  <bruno@clisp.org>
69793
69794         Avoid test failures on some PowerPC platforms.
69795         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
69796         Define differently for PowerPC.
69797         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
69798         Reported by Gary V. Vaughan <gary@gnu.org>.
69799
69800 2007-06-02  Bruno Haible  <bruno@clisp.org>
69801
69802         Fix test-stdint failure on FreeBSD/ia64.
69803         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
69804         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
69805         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
69806         * doc/headers/stdint.texi: Update.
69807
69808 2007-06-01  Bruno Haible  <bruno@clisp.org>
69809
69810         * tests/test-binary-io.c (main): Pass a third argument to open().
69811         Reported by Gary V. Vaughan <gary@gnu.org>.
69812
69813 2007-06-01  Bruno Haible  <bruno@clisp.org>
69814
69815         * doc/functions/frexpl.texi: Update for mingw.
69816
69817 2007-06-01  Bruno Haible  <bruno@clisp.org>
69818
69819         * tests/test-lseek.c (main): Disable test of errno for invalid third
69820         argument.
69821         * doc/functions/lseek.texi: Update.
69822         Reported by Gary V. Vaughan <gary@gnu.org>.
69823
69824 2007-05-28  Bruno Haible  <bruno@clisp.org>
69825
69826         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
69827
69828 2007-05-31  Eric Blake  <ebb9@byu.net>
69829
69830         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
69831         cross compiling.
69832
69833 2007-05-30  Eric Blake  <ebb9@byu.net>
69834         and Bruno Haible  <bruno@clisp.org>
69835
69836         Work around mingw test failures exposed by m4-1.4.9b.
69837         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
69838         * tests/test-unistd.c: Disable uid_t and git_t tests for the
69839         moment.
69840
69841 2007-05-30  Bruno Haible  <bruno@clisp.org>
69842
69843         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
69844         assuming that they are closed. Needed on HP-UX 11.
69845
69846 2007-05-29  Bruno Haible  <bruno@clisp.org>
69847
69848         Fix a problem with #include_next.
69849         * lib/dirent_.h: Split the double-inclusion guard.
69850         * lib/fcntl_.h: Likewise.
69851         * lib/float_.h: Likewise.
69852         * lib/iconv_.h: Likewise.
69853         * lib/inttypes_.h: Likewise.
69854         * lib/locale_.h: Likewise.
69855         * lib/math_.h: Likewise.
69856         * lib/netinet_in_.h: Likewise.
69857         * lib/search_.h: Likewise.
69858         * lib/signal_.h: Likewise.
69859         * lib/stdint_.h: Likewise.
69860         * lib/stdio_.h: Likewise.
69861         * lib/stdlib_.h: Likewise.
69862         * lib/string_.h: Likewise.
69863         * lib/sys_select_.h: Likewise.
69864         * lib/sys_socket_.h: Likewise.
69865         * lib/sys_stat_.h: Likewise.
69866         * lib/sys_time_.h: Likewise.
69867         * lib/sysexits_.h: Likewise.
69868         * lib/time_.h: Likewise.
69869         * lib/unistd_.h: Likewise.
69870         * lib/wchar_.h: Likewise.
69871         * lib/wctype_.h: Likewise.
69872
69873 2007-05-29  Bruno Haible  <bruno@clisp.org>
69874
69875         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
69876         for the moment.
69877
69878 2007-05-29  Bruno Haible  <bruno@clisp.org>
69879
69880         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
69881         invocation.
69882         Reported by Eric Blake.
69883
69884 2007-05-29  Bruno Haible  <bruno@clisp.org>
69885
69886         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
69887         compiling case.
69888
69889 2007-05-29  Eric Blake  <ebb9@byu.net>
69890             Bruno Haible  <bruno@clisp.org>
69891
69892         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
69893         cross compiles.
69894
69895 2007-05-28  Eric Blake  <ebb9@byu.net>
69896
69897         * modules/closein-tests (test_closein_LDADD): Support test on
69898         cygwin with libtool.
69899
69900 2007-05-28  Bruno Haible  <bruno@clisp.org>
69901
69902         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
69903         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
69904         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
69905         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
69906         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
69907         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
69908         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
69909         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
69910         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
69911
69912 2007-05-28  Eric Blake  <ebb9@byu.net>
69913
69914         Unconditionally include <config.h> in unit tests.
69915         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
69916         * tests/test-allocsa.c, tests/test-arcfour.c,
69917         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
69918         tests/test-array_list.c, tests/test-array_oset.c,
69919         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
69920         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
69921         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
69922         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
69923         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
69924         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
69925         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
69926         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
69927         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
69928         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
69929         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
69930         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
69931         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
69932         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
69933         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
69934         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
69935         test-md5.c, test-memmem.c, test-printf-posix.c,
69936         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
69937         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
69938         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
69939         test-strcasestr.c, test-striconv.c, test-striconveh.c,
69940         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
69941         test-vasnprintf-posix2.c, test-vasnprintf.c,
69942         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
69943         test-vfprintf-posix.c, test-vprintf-posix.c,
69944         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
69945         test-xvasprintf.c: Likewise.
69946
69947 2007-05-28  Bruno Haible  <bruno@clisp.org>
69948
69949         * gnulib-tool (func_import): Remember the --with-tests command-line
69950         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
69951         Reported by Eric Blake.
69952
69953 2007-05-28  Bruno Haible  <bruno@clisp.org>
69954
69955         * modules/ftell-tests: New file.
69956         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
69957         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
69958
69959         * lib/ftell.c: New file.
69960         * modules/ftell: New file.
69961         * m4/ftell.m4: New file.
69962         * doc/functions/ftell.texi: Update.
69963         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
69964         REPLACE_FTELL.
69965         * lib/stdio_.h (rpl_ftell): New declaration.
69966         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
69967         REPLACE_FTELL.
69968
69969 2007-05-28  Eric Blake  <ebb9@byu.net>
69970
69971         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
69972
69973 2007-05-28  Bruno Haible  <bruno@clisp.org>
69974
69975         * modules/fseek-tests: New file.
69976         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
69977         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
69978
69979         * lib/fseek.c: New file.
69980         * modules/fseek: New file.
69981         * m4/fseek.m4: New file.
69982         * doc/functions/fseek.texi: Update.
69983         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
69984         REPLACE_FSEEK.
69985         * lib/stdio_.h (rpl_fseek): New declaration.
69986         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
69987         REPLACE_FSEEK.
69988
69989 2007-05-28  Bruno Haible  <bruno@clisp.org>
69990
69991         * lib/stdio_.h (fflush): More comments.
69992
69993 2007-05-28  Bruno Haible  <bruno@clisp.org>
69994
69995         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
69996         runtime test.
69997
69998 2007-05-28  Eric Blake  <ebb9@byu.net>
69999
70000         Improve lseek module.
70001         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
70002         * lib/unistd_.h (lseek): Scale back link warning message.
70003         * tests/test-lseek.c: Beef up test.
70004         * tests/test-lseek.sh: Exercise more facets of lseek.
70005         Reported by Bruno Haible.
70006
70007 2007-05-28  Bruno Haible  <bruno@clisp.org>
70008
70009         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
70010         to define.
70011
70012 2007-05-27  Bruno Haible  <bruno@clisp.org>
70013
70014         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
70015
70016 2007-05-27  Bruno Haible  <bruno@clisp.org>
70017
70018         * modules/openmp: New file.
70019         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
70020         Noah Misch.
70021
70022 2007-05-26  Bruno Haible  <bruno@clisp.org>
70023
70024         * modules/chdir-long (Depends-on): Add fchdir.
70025         * modules/chdir-safer (Depends-on): Likewise.
70026         * modules/fts (Depends-on): Likewise.
70027         * modules/fts-lgpl (Depends-on): Likewise.
70028         * modules/openat (Depends-on): Likewise.
70029         * modules/savewd (Depends-on): Likewise.
70030
70031 2007-05-24  Eric Blake  <ebb9@byu.net>
70032
70033         Fix lseek on mingw.
70034         * modules/lseek: New module.
70035         * m4/lseek.m4: New file.
70036         * lib/lseek.c: New file.
70037         * modules/lseek-tests: New file.
70038         * tests/test-lseek.c: New file.
70039         * tests/test-lseek.sh: New file.
70040         * MODULES.html.sh: Document lseek module.
70041         * modules/fflush (Depends-on): Add lseek, fseeko.
70042         * modules/fseeko (Depends-on): Likewise.
70043         * modules/ftello (Depends-on): Likewise.
70044         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
70045         broken.
70046         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
70047         broken.
70048         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
70049         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
70050         * lib/ftello.c (rpl_ftello): Likewise.
70051         * tests/test-fseeko.c (main): Test this.
70052         * tests/test-fseeko.sh: Likewise.
70053         * tests/test-ftello.c (main): Likewise.
70054         * tests/test-ftello.sh: Likewise.
70055         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
70056         implies replacing fseek.
70057         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
70058         HAVE_FTELLO.
70059         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
70060         * modules/unistd (Makefile.am): Likewise.
70061         * lib/unistd_.h (lseek): Declare a replacement.
70062         * doc/functions/lseek.texi (lseek): Document this fix.
70063         * doc/functions/fseek.texi (fseek): Likewise.
70064         * doc/functions/ftell.texi (ftell): Likewise.
70065
70066 2007-05-24  Bruno Haible  <bruno@clisp.org>
70067
70068         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
70069         in the printed representation of a NaN.
70070         * tests/test-vasprintf-posix.c (test_function): Likewise.
70071         * tests/test-snprintf-posix.h (test_function): Likewise.
70072         * tests/test-sprintf-posix.h (test_function): Likewise.
70073         Reported by Eric Blake.
70074
70075 2007-05-23  Eric Blake  <ebb9@byu.net>
70076
70077         Fix fseeko/ftello on cygwin 1.5.24.
70078         * doc/functions/fseeko.texi (fseeko): Document the fix.
70079         * doc/functions/ftello.texi (ftello): Document the fix.
70080         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
70081         * doc/functions/stdout.text (stdout): New file.
70082         * doc/functions/stderr.text (stderr): New file.
70083         * doc/gnulib.texi (Function Substitutes): Use new files.
70084         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
70085         prior to 1.7.0.
70086         * tests/test-ftello.c (main): Likewise for ftello.
70087         * tests/test-fseeko.sh: New file.
70088         * tests/test-ftello.sh: New file.
70089         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
70090         with seekable stdin.
70091         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
70092         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
70093         (gl_REPLACE_FSEEKO): New macro.
70094         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
70095         * modules/fseeko (Files): Distribute fseeko.c.
70096         * modules/ftello (Files): Distribute ftello.c.
70097         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
70098         mode.
70099         * lib/ftello.c (rpl_ftello): New file.
70100         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
70101         fseeko, ftello.
70102         (gl_STDIN_LARGE_OFFSET): New macro.
70103         * modules/stdio (Makefile.am): Perform the replacement.
70104         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
70105
70106 2007-05-23  Bruno Haible  <bruno@clisp.org>
70107
70108         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
70109         GNULIB_POSIXCHECK is defined.
70110
70111 2007-05-21  Bruno Haible  <bruno@clisp.org>
70112
70113         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
70114         Check also the output for NaN arguments. When cross-compiling, guess
70115         no on IRIX.
70116         * lib/vasnprintf.c: Update comments.
70117         * tests/test-vasnprintf-posix.c (strisnan): New function.
70118         (test_function): Use it.
70119         * tests/test-vasprintf-posix.c (strisnan): New function.
70120         (test_function): Use it.
70121         * tests/test-snprintf-posix.h (strisnan): New function.
70122         (test_function): Use it.
70123         * tests/test-sprintf-posix.h (strisnan): New function.
70124         (test_function): Use it.
70125         Reported by Eric Blake.
70126
70127 2007-05-20  Bruno Haible  <bruno@clisp.org>
70128
70129         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
70130         numbers that fails on BeOS.
70131         * doc/functions/frexpl.texi: Update.
70132
70133 2007-05-20  Jim Meyering  <jim@meyering.net>
70134
70135         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
70136         forced upon us by glibc-2.6.
70137
70138 2007-05-20  Bruno Haible  <bruno@clisp.org>
70139
70140         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
70141         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
70142         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
70143         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
70144         NEED_PRINTF_INFINITE.
70145         (is_infinitel): New function.
70146         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
70147         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
70148         gl_PREREQ_VASNPRINTF_INFINITE.
70149         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
70150         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70151         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
70152         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
70153         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
70154         gl_PREREQ_VASNPRINTF_INFINITE.
70155         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70156         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70157         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70158         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70159         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70160         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70161         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70162         * doc/functions/fprintf.texi: Update.
70163         * doc/functions/printf.texi: Update.
70164         * doc/functions/snprintf.texi: Update.
70165         * doc/functions/sprintf.texi: Update.
70166         * doc/functions/vfprintf.texi: Update.
70167         * doc/functions/vprintf.texi: Update.
70168         * doc/functions/vsnprintf.texi: Update.
70169         * doc/functions/vsprintf.texi: Update.
70170
70171 2007-05-20  Bruno Haible  <bruno@clisp.org>
70172
70173         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
70174         was not found in libc.
70175         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
70176
70177 2007-05-20  Bruno Haible  <bruno@clisp.org>
70178
70179         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
70180         printed as "-nan" instead of "nan".
70181         * tests/test-vasprintf-posix.c (test_function): Likewise.
70182         * tests/test-snprintf-posix.h (test_function): Likewise.
70183         * tests/test-sprintf-posix.h (test_function): Likewise.
70184         Needed for HP-UX 11.
70185
70186 2007-05-20  Jim Meyering  <jim@meyering.net>
70187
70188         Fix buggy test for the fchownat-deref bug.
70189         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
70190         symlink required for the run-test.  Without it, this test would
70191         always declare that fchownat doesn't work, and client code would
70192         unnecessarily use the replacement function with fixed libc.
70193         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
70194         Reported by Greg Schafer.
70195
70196 2007-05-19  Bruno Haible  <bruno@clisp.org>
70197
70198         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
70199         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
70200         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
70201         Needed for IRIX 6.5 and Solaris 2.5.1.
70202
70203 2007-05-19  Bruno Haible  <bruno@clisp.org>
70204
70205         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
70206         (test_function): Skip tests involving -0.0 on platforms where
70207         -0.0 = 0.0.
70208         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
70209         (test_function): Skip tests involving -0.0 on platforms where
70210         -0.0 = 0.0.
70211         * tests/test-snprintf-posix.h (have_minus_zero): New function.
70212         (test_function): Skip tests involving -0.0 on platforms where
70213         -0.0 = 0.0.
70214         * tests/test-sprintf-posix.h (have_minus_zero): New function.
70215         (test_function): Skip tests involving -0.0 on platforms where
70216         -0.0 = 0.0.
70217         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
70218         tests.
70219         * tests/test-printf-posix.h (test_function): Likewise.
70220         * tests/test-printf-posix.output: Remove all -0.0 related results.
70221         Needed for IRIX 6.5.
70222
70223 2007-05-19  Bruno Haible  <bruno@clisp.org>
70224
70225         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
70226         printed as "nan0x7fffffff" instead of "nan".
70227         * tests/test-vasprintf-posix.c (test_function): Likewise.
70228         * tests/test-snprintf-posix.h (test_function): Likewise.
70229         * tests/test-sprintf-posix.h (test_function): Likewise.
70230         * tests/test-fprintf-posix.h (NaN): Remove macro.
70231         (test_function): Remove all NaN related tests.
70232         * tests/test-printf-posix.h (NaN): Remove macro.
70233         (test_function): Remove all NaN related tests.
70234         * tests/test-printf-posix.output: Remove all NaN related results.
70235         Needed for IRIX 6.5.
70236
70237 2007-05-19  Bruno Haible  <bruno@clisp.org>
70238
70239         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
70240         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
70241
70242 2007-05-19  Bruno Haible  <bruno@clisp.org>
70243
70244         * lib/float_.h: New file.
70245         * m4/float_h.m4: New file.
70246         * modules/float: New file.
70247         * modules/isnanl (Dependencies): Add float.
70248         * modules/isnanl-nolibm (Dependencies): Likewise.
70249         * modules/mathl (Dependencies): Likewise.
70250         * modules/printf-frexpl (Dependencies): Likewise.
70251         * modules/signbit (Dependencies): Likewise.
70252         * modules/vasnprintf (Dependencies): Likewise.
70253         * doc/headers/float.texi: Update.
70254
70255 2007-05-19  Jim Meyering  <jim@meyering.net>
70256
70257         * lib/utimens.c (gl_futimens): Rename from futimens,
70258         now that glibc-2.6 declares futimens.
70259         * lib/utimens.h: Likewise.
70260
70261 2007-05-19  Bruno Haible  <bruno@clisp.org>
70262
70263         Avoid test failures on mingw.
70264         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
70265         * tests/test-printf-posix.sh: Likewise.
70266         * tests/test-vfprintf-posix.sh: Likewise.
70267         * tests/test-vprintf-posix.sh: Likewise.
70268
70269 2007-05-19  Bruno Haible  <bruno@clisp.org>
70270
70271         Fix *printf result for NaN, Inf, -0.0 on mingw.
70272         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
70273         * lib/vasnprintf.c: Include math.h and isnan.h.
70274         (is_infinite_or_zero): New function.
70275         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
70276         values in the %f, %F, %e, %E, %g, %G directives.
70277         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
70278         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70279         gl_PRINTF_INFINITE and test its result. Invoke
70280         gl_PREREQ_VASNPRINTF_INFINITE.
70281         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70282         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70283         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70284         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70285         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70286         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70287         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70288         * doc/functions/fprintf.texi: Update.
70289         * doc/functions/printf.texi: Update.
70290         * doc/functions/snprintf.texi: Update.
70291         * doc/functions/sprintf.texi: Update.
70292         * doc/functions/vfprintf.texi: Update.
70293         * doc/functions/vprintf.texi: Update.
70294         * doc/functions/vsnprintf.texi: Update.
70295         * doc/functions/vsprintf.texi: Update.
70296
70297 2007-05-19  Bruno Haible  <bruno@clisp.org>
70298
70299         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
70300         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
70301         Instead of multiplying with 10^k, set extra_zeroes to k.
70302         (scale10_round_long_double): Remove function.
70303
70304 2007-05-18  Bruno Haible  <bruno@clisp.org>
70305
70306         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
70307         introduced on 2007-05-06.
70308
70309 2007-05-18  Bruno Haible  <bruno@clisp.org>
70310
70311         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
70312         %g directives.
70313         * tests/test-vasprintf-posix.c (test_function): Likewise.
70314         * tests/test-snprintf-posix.h (test_function): Likewise.
70315         * tests/test-sprintf-posix.h (test_function): Likewise.
70316
70317 2007-05-18  Bruno Haible  <bruno@clisp.org>
70318
70319         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
70320         (strmatch): New function.
70321         (test_function): Test the %f directive on numbers of various exponents.
70322         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
70323         (strmatch): New function.
70324         (test_function): Test the %f directive on numbers of various exponents.
70325         * tests/test-snprintf-posix.h (strmatch): New function.
70326         (test_function): Test the %f directive on numbers of various exponents.
70327         * tests/test-sprintf-posix.h (strmatch): New function.
70328         (test_function): Test the %f directive on numbers of various exponents.
70329         * tests/test-snprintf-posix.c (SIZEOF): New macro.
70330         * tests/test-sprintf-posix.c (SIZEOF): New macro.
70331         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
70332         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
70333
70334 2007-05-18  Bruno Haible  <bruno@clisp.org>
70335
70336         Add support for 'long double' number output.
70337         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
70338         * lib/vasnprintf.c: Include math.h and float+.h.
70339         (mp_limb_t): New type.
70340         (GMP_LIMB_BITS): New macro.
70341         (mp_twolimb_t): New type.
70342         (GMP_TWOLIMB_BITS): New macro.
70343         (mpn_t): New type.
70344         (multiply, divide, convert_to_decimal, decode_long_double,
70345         scale10_round_long_double, scale10_round_decimal_long_double,
70346         floorlog10l): New functions.
70347         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
70348         for the %f, %F, %e, %E, %g, %G directives.
70349         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
70350         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70351         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
70352         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
70353         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70354         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70355         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70356         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70357         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70358         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70359         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70360         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
70361         * modules/snprintf-posix (Depends-on): Likewise.
70362         * modules/sprintf-posix (Depends-on): Likewise.
70363         * modules/vasnprintf-posix (Depends-on): Likewise.
70364         * modules/vasprintf-posix (Depends-on): Likewise.
70365         * modules/vfprintf-posix (Depends-on): Likewise.
70366         * modules/vsnprintf-posix (Depends-on): Likewise.
70367         * modules/vsprintf-posix (Depends-on): Likewise.
70368         * modules/vasnprintf (Files): Add lib/float+.h.
70369         * doc/functions/fprintf.texi: Update.
70370         * doc/functions/printf.texi: Update.
70371         * doc/functions/snprintf.texi: Update.
70372         * doc/functions/sprintf.texi: Update.
70373         * doc/functions/vfprintf.texi: Update.
70374         * doc/functions/vprintf.texi: Update.
70375         * doc/functions/vsnprintf.texi: Update.
70376         * doc/functions/vsprintf.texi: Update.
70377
70378 2007-05-18  Bruno Haible  <bruno@clisp.org>
70379
70380         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
70381
70382 2007-05-18  Bruno Haible  <bruno@clisp.org>
70383
70384         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
70385         for printing 64-bit integers. Needed for mingw.
70386
70387 2007-05-18  Bruno Haible  <bruno@clisp.org>
70388
70389         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
70390         gl_FUNC_FREXPL_WORKS.
70391         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
70392
70393 2007-05-18  Bruno Haible  <bruno@clisp.org>
70394
70395         * modules/frexpl-nolibm-tests: New file.
70396
70397         * modules/frexpl-nolibm: New file.
70398         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
70399
70400 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
70401
70402         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
70403         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
70404         GCC 4.2, which otherwise issues a lot of warnings.
70405         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
70406         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
70407         Likewise.
70408         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
70409         * modules/iconv_open (iconv.h): Likewise.
70410         * modules/locale (locale.h): Likewise.
70411         * modules/netinet_in (netinet/in.h): Likewise.
70412         * modules/sys_select (sys_select.h): Likewise.
70413         * modules/sys_socket (sys/socket.h): Likewise.
70414         * modules/sys_stat (sys/stat.h): Likewise.
70415         * modules/sysexits (sysexits.h): Likewise.
70416         * modules/unistd (unistd.h): Likewise.
70417
70418 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70419
70420         * modules/closein-tests (Makefile.am): Distribute
70421         `test-closein.sh'.
70422
70423 2007-05-17  Bruno Haible  <bruno@clisp.org>
70424
70425         * tests/test-printf-posix.output: Renamed from
70426         tests/test-fprintf-posix.out.
70427         * modules/fprintf-posix-tests: Update.
70428         * modules/printf-posix-tests: Update.
70429         * modules/vfprintf-posix-tests: Update.
70430         * modules/vprintf-posix-tests: Update.
70431         * tests/test-fprintf-posix.sh: Update.
70432         * tests/test-printf-posix.sh: Update.
70433         * tests/test-vfprintf-posix.sh: Update.
70434         * tests/test-vprintf-posix.sh: Update.
70435         Reported by Ralf Wildenhues.
70436
70437 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
70438
70439         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
70440         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
70441         GCC 4.2, which otherwise issues a lot of warnings.
70442         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
70443         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
70444         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
70445         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
70446         it should no longer be needed.
70447         * lib/string_.h: Likewise.
70448         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
70449         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
70450         * modules/inttypes (inttypes.h): Likewise.
70451         * modules/math (math.h): Likewise.
70452         * modules/search (search.h): Likewise.
70453         * modules/signal (signal.h): Likewise.
70454         * modules/stdint (stdint.h): Likewise.
70455         * modules/stdio (stdio.h): Likewise.
70456         * modules/stdlib (stdlib.h): Likewise.
70457         * modules/string (string.h): Likewise.
70458         * modules/sys_time (sys/time.h): Likewise.
70459         * modules/time (time.h): Likewise.
70460         * modules/wchar (wchar.h): Likewise.
70461         * modules/wctype (wtype.h): Likewise.
70462
70463 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
70464
70465         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
70466
70467 2007-05-13  Bruno Haible  <bruno@clisp.org>
70468
70469         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
70470         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
70471         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
70472         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
70473         (gl_PREREQ_STRTOK_R): Don't require it here.
70474
70475 2007-05-13  Bruno Haible  <bruno@clisp.org>
70476
70477         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
70478         when used in C++ mode.
70479
70480 2007-05-12  Bruno Haible  <bruno@clisp.org>
70481
70482         * lib/linebuffer.h: Tweak doc.
70483         * lib/linebuffer.c: Likewise.
70484
70485 2007-05-12  James Youngman  <jay@gnu.org>
70486
70487         * lib/linebuffer.c (readlinebuffer_delim): New function,
70488         like readlinebuffer, but use a caller-specified delimiter.
70489         (readlinebuffer): Just call readlinebuffer_delim with '\n'
70490         as the delimiter.
70491         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
70492
70493 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
70494
70495         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
70496         * modules/openat (Files): Remove openat-die.c.
70497         (Depends-on): Add openat-die.
70498         * modules/openat-die: New module.
70499
70500 2007-05-06  Bruno Haible  <bruno@clisp.org>
70501
70502         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
70503         Update with info about Cygwin.
70504         * doc/functions/fprintf.texi: Update.
70505         * doc/functions/printf.texi: Update.
70506         * doc/functions/snprintf.texi: Update.
70507         * doc/functions/sprintf.texi: Update.
70508         * doc/functions/vfprintf.texi: Update.
70509         * doc/functions/vprintf.texi: Update.
70510         * doc/functions/vsnprintf.texi: Update.
70511         * doc/functions/vsprintf.texi: Update.
70512         Reported by Eric Blake.
70513
70514 2007-05-06  Bruno Haible  <bruno@clisp.org>
70515
70516         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
70517         padding ourselves for the floating-point directives.
70518         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
70519         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
70520         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70521         gl_PRINTF_FLAG_ZERO and test its result. Invoke
70522         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
70523         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70524         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
70525         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70526         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70527         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70528         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70529         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70530         * tests/test-snprintf-posix.h (test_function): Also check the width
70531         and some flags in the %f directive.
70532         * tests/test-sprintf-posix.h (test_function): Likewise.
70533         * tests/test-vasnprintf-posix.c (test_function): Likewise.
70534         * tests/test-vasprintf-posix.c (test_function): Likewise.
70535         * doc/functions/fprintf.texi: Update.
70536         * doc/functions/printf.texi: Update.
70537         * doc/functions/snprintf.texi: Update.
70538         * doc/functions/sprintf.texi: Update.
70539         * doc/functions/vfprintf.texi: Update.
70540         * doc/functions/vprintf.texi: Update.
70541         * doc/functions/vsnprintf.texi: Update.
70542         * doc/functions/vsprintf.texi: Update.
70543
70544 2007-05-06  Bruno Haible  <bruno@clisp.org>
70545
70546         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
70547         pass the ' flag character to sprintf or snprintf.
70548         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
70549         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
70550         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70551         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
70552         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
70553         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70554         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
70555         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70556         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70557         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70558         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70559         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70560         * tests/test-snprintf-posix.h (test_function): Also check the grouping
70561         flag.
70562         * tests/test-sprintf-posix.h (test_function): Likewise.
70563         * tests/test-vasnprintf-posix.c (test_function): Likewise.
70564         * tests/test-vasprintf-posix.c (test_function): Likewise.
70565         * doc/functions/fprintf.texi: Update.
70566         * doc/functions/printf.texi: Update.
70567         * doc/functions/snprintf.texi: Update.
70568         * doc/functions/sprintf.texi: Update.
70569         * doc/functions/vfprintf.texi: Update.
70570         * doc/functions/vprintf.texi: Update.
70571         * doc/functions/vsnprintf.texi: Update.
70572         * doc/functions/vsprintf.texi: Update.
70573
70574 2007-05-01  Bruno Haible  <bruno@clisp.org>
70575
70576         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
70577
70578 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
70579
70580         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
70581         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
70582
70583 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
70584
70585         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
70586         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
70587         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
70588
70589 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
70590
70591         * lib/argp-help.c (struct hol_entry): New member `ord'.
70592         (HOL_ENTRY_PTRCMP): Use ord for comparison
70593         (hol_sort): Initialize ord.
70594
70595 2007-05-01  Bruno Haible  <bruno@clisp.org>
70596
70597         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
70598         Reported by Eric Blake.
70599         * doc/gnulib.texi (Function Substitutes): Update.
70600
70601 2007-05-01  Bruno Haible  <bruno@clisp.org>
70602
70603         * doc/functions.texi: Remove file, now redundant through
70604         doc/functions/*.texi.
70605
70606 2007-05-01  Bruno Haible  <bruno@clisp.org>
70607
70608         * modules/argp (Depends-on): Add sleep.
70609
70610 2007-05-01  Bruno Haible  <bruno@clisp.org>
70611
70612         * modules/sleep-tests: New file.
70613         * tests/test-sleep.c: New file.
70614
70615         * modules/sleep: New file.
70616         * lib/sleep.c: New file.
70617         * m4/sleep.m4: New file.
70618         * lib/unistd_.h (sleep): New declaration.
70619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
70620         HAVE_SLEEP.
70621         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
70622         * doc/functions/sleep.texi: Document the sleep module.
70623
70624 2007-05-01  Bruno Haible  <bruno@clisp.org>
70625
70626         * lib/sigprocmask.h: Remove file.
70627         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
70628         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
70629         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
70630         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
70631         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
70632         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
70633         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
70634         HAVE_SIGSET_T as a shell variable.
70635         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
70636         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
70637         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
70638         (Depends-on): Add signal. Remove verify.
70639         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
70640         (Include): Mention <signal.h> instead of sigprocmask.h.
70641         * NEWS: Mention the change.
70642         * lib/fatal-signal.c: Don't include sigprocmask.h.
70643
70644 2007-05-01  Bruno Haible  <bruno@clisp.org>
70645
70646         * modules/signal: New file.
70647         * lib/signal_.h: New file.
70648         * m4/signal_h.m4: New file.
70649
70650 2007-05-01  Bruno Haible  <bruno@clisp.org>
70651
70652         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
70653         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
70654         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
70655         HAVE_WCTYPE_CTMP_BUG into wctype.h.
70656
70657 2007-05-01  Bruno Haible  <bruno@clisp.org>
70658
70659         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
70660         configure time.
70661         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
70662         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
70663         * modules/sys_stat (Makefile.am): Substitute their values into
70664         sys/stat.h.
70665
70666 2007-05-01  Bruno Haible  <bruno@clisp.org>
70667
70668         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
70669         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
70670         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
70671
70672 2007-05-01  Bruno Haible  <bruno@clisp.org>
70673
70674         * doc/header/assert.texi: Undo last change: don't mention the gnulib
70675         'assert' module here.
70676
70677 2007-05-01  Bruno Haible  <bruno@clisp.org>
70678
70679         * doc/functions/*.texi: New files.
70680         * doc/functions/google-ranking.txt: New file.
70681         * doc/gnulib.texi (Function Substitutes): New chapter.
70682         (ctime, inet_ntoa): Remove sections.
70683         * doc/ctime.texi: Remove file.
70684         * doc/inet_ntoa.texi: Remove file.
70685         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
70686         dependencies.
70687         (%.info): New rule, specifying a --reference-limit.
70688
70689 2007-05-01  Bruno Haible  <bruno@clisp.org>
70690
70691         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
70692
70693 2007-05-01  Bruno Haible  <bruno@clisp.org>
70694
70695         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
70696         the portability of 'mkdir' to mingw systems.
70697
70698 2007-05-01  Bruno Haible  <bruno@clisp.org>
70699
70700         * doc/headers/google-ranking.txt: New file.
70701
70702 2007-04-30  Eric Blake  <ebb9@byu.net>
70703
70704         Prefer fseeko to fseek.
70705         * modules/getpass (Depends-on): Add fseeko.
70706         * lib/getpass.c (getpass): Use fseeko, not fseek.
70707
70708 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
70709
70710         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
70711         assumes the sorting is stable, while most qsort implementations
70712         are not.  Use argument addresses to ensure they never compare as
70713         equal.
70714
70715         * tests/test-argp-2.sh (usage-indent test): Fix output
70716         (func_compare): Restore diff options
70717         * tests/test-argp.c: Restore #include "progname.h"
70718
70719 2007-04-29  Bruno Haible  <bruno@clisp.org>
70720
70721         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
70722         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70723         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
70724         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70725         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
70726         (configure.ac): Define CHECK_SNPRINTF_POSIX.
70727         (TESTS, check_PROGRAMS): Add test-snprintf.
70728         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
70729         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
70730         (TESTS, check_PROGRAMS): Add test-vsnprintf.
70731         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
70732         assertions that fail on HP-UX, OSF/1, or IRIX.
70733         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
70734
70735 2007-04-29  Bruno Haible  <bruno@clisp.org>
70736
70737         * MODULES.html.sh (posix_functions): Remove 'contents'.
70738
70739 2007-04-29  Karl Berry  <karl@gnu.org>
70740
70741         * config/srclist.txt (gendocs_template_min): new entry.
70742
70743 2007-04-29  Bruno Haible  <bruno@clisp.org>
70744
70745         Work around fpurge bug on BSD systems.
70746         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
70747         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
70748         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
70749         fpurge to rpl_fpurge if the system already has this function.
70750         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
70751         the case where the system already has this function. Correct invariants
70752         on BSD systems.
70753         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
70754         BSD systems.
70755
70756 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
70757
70758         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
70759         proposed by Sven Verdoolaege.
70760
70761         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
70762         options.
70763         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
70764         (usage and help tests): Update
70765
70766 2007-04-29  Bruno Haible  <bruno@clisp.org>
70767
70768         * tests/test-fflush.c (main): Use a file of size 17, not 10.
70769         Print more information in case of failure. Disable a test on BeOS.
70770
70771 2007-04-29  Bruno Haible  <bruno@clisp.org>
70772
70773         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
70774         This helps debugging on systems on which no gdb is available.
70775
70776 2007-04-29  Bruno Haible  <bruno@clisp.org>
70777
70778         * lib/freading.h: Improve comments.
70779         * lib/fwriting.h: Likewise.
70780         * tests/test-freading.c (main): Don't check freading immediately after
70781         repositioning. Needed for glibc.
70782
70783 2007-04-29  Bruno Haible  <bruno@clisp.org>
70784
70785         * lib/freading.c (freading): Trivial simplification.
70786
70787 2007-04-28  Bruno Haible  <bruno@clisp.org>
70788
70789         * tests/test-fwriting.c (main): Also test the interaction between
70790         fflush and fwriting.
70791         * modules/fwriting-tests (Depends-on): Add fflush.
70792
70793         * tests/test-freading.c (main): Also test the interaction between
70794         fflush and freading.
70795         * modules/freading-tests (Depends-on): Add fflush.
70796
70797 2007-04-28  Bruno Haible  <bruno@clisp.org>
70798
70799         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
70800         fseeko and ftello.
70801         Suggested by Eric Blake.
70802
70803 2007-04-28  Jim Meyering  <jim@meyering.net>
70804
70805         Avoid false-negative in gl_STDINT_H's C99 conformance test.
70806         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
70807         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
70808
70809 2007-04-27  Eric Blake  <ebb9@byu.net>
70810
70811         * doc/headers/assert.texi (assert.h): Document assert module use.
70812
70813 2007-04-27  Bruno Haible  <bruno@clisp.org>
70814
70815         * doc/headers/*.texi: New files.
70816         * doc/gnulib.texi (Header File Substitutes): New chapter.
70817         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
70818         dependencies.
70819         (standards.info ,standards.html, standards.dvi): Update dependencies.
70820         (mostlyclean, clean): New targets.
70821
70822 2007-04-27  Bruno Haible  <bruno@clisp.org>
70823
70824         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
70825         * modules/sysexits (Files, Makefile.am): Update.
70826
70827         * lib/sys_socket_.h: Renamed from lib/socket_.h.
70828         * modules/sys_socket (Files, Makefile.am): Update.
70829
70830         * lib/sys_stat_.h: Renamed from lib/stat_.h.
70831         * modules/sys_stat (Files, Makefile.am): Update.
70832
70833 2007-04-27  Eric Blake  <ebb9@byu.net>
70834
70835         * lib/freading.h: Improve comments.
70836         * lib/fwriting.h: Likewise.
70837         * lib/fflush.c: Likewise.
70838
70839         Fix closein for mingw.
70840         * modules/closein-tests: Add tests for closein.
70841         * tests/test-closein.c: New file.
70842         * tests/test-closein.sh: Likewise.
70843         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
70844         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
70845
70846 2007-04-27  Bruno Haible  <bruno@clisp.org>
70847
70848         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
70849         version is < 6.
70850         * lib/math_.h [__DECC]: Likewise.
70851         * lib/stdio_.h [__DECC]: Likewise.
70852         * lib/stdlib_.h [__DECC]: Likewise.
70853         * lib/string_.h [__DECC]: Likewise.
70854         * lib/time_.h [__DECC]: Likewise.
70855         * lib/wchar_.h [__DECC]: Likewise.
70856         * lib/wctype_.h [__DECC]: Likewise.
70857
70858 2007-04-27  Bruno Haible  <bruno@clisp.org>
70859
70860         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
70861
70862 2007-04-27  Bruno Haible  <bruno@clisp.org>
70863
70864         * lib/fflush.c: Add comments.
70865         * modules/fpurge-tests (Depends-on): Add fflush.
70866         * modules/freadable-tests (Depends-on): Likewise.
70867         * modules/fwritable-tests (Depends-on): Likewise.
70868
70869 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
70870
70871         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
70872         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
70873         Report by Bruno Haible <bruno@clisp.org>.
70874
70875 2007-04-26  Eric Blake  <ebb9@byu.net>
70876
70877         Fix fflush on mingw.
70878         * modules/fflush (Depends-on): Add freading.
70879         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
70880         but unread data.
70881
70882 2007-04-26  Eric Blake  <ebb9@byu.net>
70883         and Bruno Haible  <bruno@clisp.org>
70884
70885         Implement freading and fwriting.
70886         * lib/freading.c: New file.
70887         * lib/freading.h: Likewise.
70888         * m4/freading.m4: Likewise.
70889         * modules/freading: Likewise.
70890         * modules/freading-tests: Likewise.
70891         * tests/test-freading.c: Likewise.
70892         * lib/fwriting.c: New file.
70893         * lib/fwriting.h: Likewise.
70894         * m4/fwriting.m4: Likewise.
70895         * modules/fwriting: Likewise.
70896         * modules/fwriting-tests: Likewise.
70897         * tests/test-fwriting.c: Likewise.
70898         * MODULES.html.sh (File stream based Input/Output): Mention them.
70899
70900 2007-04-26  Bruno Haible  <bruno@clisp.org>
70901
70902         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
70903         'long' when we assume it.
70904         Suggested by Eric Blake.
70905
70906 2007-04-26  Bruno Haible  <bruno@clisp.org>
70907
70908         Ensure fseeko, ftello are declared on glibc systems.
70909         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
70910         * modules/fseeko (configure.ac-early): Likewise.
70911         * modules/ftello (configure.ac-early): Likewise.
70912         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
70913         AC_FUNC_FSEEKO for this.
70914         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
70915         (gl_CHECK_FSEEKO): Remove macro.
70916
70917 2007-04-26  Bruno Haible  <bruno@clisp.org>
70918
70919         * tests/test-fflush.c (main): Also check the ftell result after
70920         fflush and fseek/fseeko.
70921         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
70922         file descriptor position cache in the stream.
70923         * lib/fseeko.c (rpl_fseeko): Likewise.
70924
70925 2007-04-26  Bruno Haible  <bruno@clisp.org>
70926
70927         * modules/fflush-tests (Depends-on): Add fseeko.
70928
70929 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
70930             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70931
70932         * lib/argz_.h: ensure error_t definition is obtained in same
70933         mechanism system argz.h would have.
70934         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
70935         argz facilities are known bad.  Err on the side of caution if
70936         cross-compiling.
70937
70938 2007-04-25  Eric Blake  <ebb9@byu.net>
70939
70940         * lib/fpurge.c (includes): Use stdlib.h for free.
70941         * tests/test-fflush.c (main): Also test fflush-fseeko.
70942
70943 2007-04-25  Bruno Haible  <bruno@clisp.org>
70944
70945         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
70946         * lib/fseeko.c: New file.
70947         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
70948         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
70949         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
70950         gl_FUNC_FSEEKO.
70951         (gl_FUNC_FSEEKO): Invoke it.
70952         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
70953         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
70954         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
70955
70956 2007-04-25  Bruno Haible  <bruno@clisp.org>
70957
70958         * modules/fflush (Depends-on): Add ftello.
70959
70960 2007-04-25  Bruno Haible  <bruno@clisp.org>
70961
70962         * modules/ftello-tests: New file.
70963         * tests/test-ftello.c: New file.
70964
70965         * modules/ftello: New file.
70966         * m4/ftello.m4: New file.
70967         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
70968         HAVE_FTELLO.
70969         * lib/stdio_.h (ftello): New declaration.
70970         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
70971         HAVE_FTELLO.
70972
70973 2007-04-25  Bruno Haible  <bruno@clisp.org>
70974
70975         * modules/fseeko-tests: New file.
70976         * tests/test-fseeko.c: New file.
70977
70978         * modules/fseeko: New file.
70979         * m4/fseeko.m4: New file.
70980         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
70981         HAVE_FSEEKO.
70982         * lib/stdio_.h (fseeko): New declaration.
70983         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
70984         HAVE_FSEEKO.
70985
70986 2007-04-25  Bruno Haible  <bruno@clisp.org>
70987
70988         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
70989
70990 2007-04-25  Bruno Haible  <bruno@clisp.org>
70991
70992         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
70993         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
70994         * tests/test-unistd.c: Likewise.
70995         * tests/test-fcntl.c: Likewise.
70996
70997 2007-04-23  Eric Blake  <ebb9@byu.net>
70998
70999         * lib/fflush.c: Fix missing include.
71000         Reported by Bruno Haible.
71001
71002 2007-04-23  Bruno Haible  <bruno@clisp.org>
71003
71004         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
71005         Reported by Eric Blake.
71006
71007 2007-04-23  Bruno Haible  <bruno@clisp.org>
71008
71009         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
71010
71011 2007-04-23  Bruno Haible  <bruno@clisp.org>
71012
71013         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
71014
71015 2007-04-23  Bruno Haible  <bruno@clisp.org>
71016
71017         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
71018         Needed on HP-UX 11.
71019
71020 2007-04-16  Eric Blake  <ebb9@byu.net>
71021
71022         Make fflush rely on fpurge.
71023         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
71024         open coding all variants.
71025         * modules/fflush (Depends-on): Add fpurge and unistd.
71026         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
71027         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
71028
71029         Fix --with-tests compilation on cygwin.
71030         * modules/argmatch-tests (Makefile.am): List gnulib library first
71031         in LDADD.
71032         * modules/argp-tests (Makefile.am): Likewise.
71033         * modules/array-list-tests (Makefile.am): Likewise.
71034         * modules/array-oset-tests (Makefile.am): Likewise.
71035         * modules/avltree-list-tests (Makefile.am): Likewise.
71036         * modules/avltree-oset-tests (Makefile.am): Likewise.
71037         * modules/avltreehash-list-tests (Makefile.am): Likewise.
71038         * modules/carray-list-tests (Makefile.am): Likewise.
71039         * modules/dirname-tests (Makefile.am): Likewise.
71040         * modules/frexp-tests (Makefile.am): Likewise.
71041         * modules/isnanl-tests (Makefile.am): Likewise.
71042         * modules/linked-list-tests (Makefile.am): Likewise.
71043         * modules/linkedhash-list-tests (Makefile.am): Likewise.
71044         * modules/lock-tests (Makefile.am): Likewise.
71045         * modules/rbtree-list-tests (Makefile.am): Likewise.
71046         * modules/rbtree-oset-tests (Makefile.am): Likewise.
71047         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
71048         * modules/tls-tests (Makefile.am): Likewise.
71049         * modules/tsearch-tests (Makefile.am): Likewise.
71050         * modules/xvasprintf-tests (Makefile.am): Likewise.
71051
71052         Fix fpurge for cygwin.
71053         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
71054         value.
71055         * modules/fpurge-tests (Depends-on): Clean up trash.
71056
71057 2007-04-16  Simon Josefsson  <simon@josefsson.org>
71058
71059         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
71060
71061         * m4/autobuild.m4: Re-indent.
71062
71063 2007-04-13  Bruno Haible  <bruno@clisp.org>
71064
71065         * modules/fpurge-tests: New file.
71066         * tests/test-fpurge.c: New file.
71067
71068         * modules/fpurge: New file.
71069         * lib/fpurge.h: New file.
71070         * lib/fpurge.c: New file.
71071         * m4/fpurge.m4: New file.
71072
71073 2007-04-13  Bruno Haible  <bruno@clisp.org>
71074
71075         * modules/fbufmode-tests: New file.
71076         * tests/test-fbufmode.c: New file.
71077
71078         * modules/fbufmode: New file.
71079         * lib/fbufmode.h: New file.
71080         * lib/fbufmode.c: New file.
71081         * m4/fbufmode.m4: New file.
71082
71083 2007-04-13  Bruno Haible  <bruno@clisp.org>
71084
71085         * modules/fwritable-tests: New file.
71086         * tests/test-fwritable.c: New file.
71087
71088         * modules/fwritable: New file.
71089         * lib/fwritable.h: New file.
71090         * lib/fwritable.c: New file.
71091         * m4/fwritable.m4: New file.
71092
71093 2007-04-13  Bruno Haible  <bruno@clisp.org>
71094
71095         * modules/freadable-tests: New file.
71096         * tests/test-freadable.c: New file.
71097
71098         * modules/freadable: New file.
71099         * lib/freadable.h: New file.
71100         * lib/freadable.c: New file.
71101         * m4/freadable.m4: New file.
71102
71103 2007-04-13  Bruno Haible  <bruno@clisp.org>
71104
71105         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
71106         MOSTLYCLEANFILES.
71107
71108 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71109
71110         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
71111         gzip bootstrap.conf to avoid dragging in i18n machinery.
71112         (gnulib_tool_option): Use it.
71113
71114 2007-04-13  Bruno Haible  <bruno@clisp.org>
71115
71116         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
71117         %F directives.
71118         * tests/test-vasprintf-posix.c (test_function): Likewise.
71119         * tests/test-snprintf-posix.h (test_function): Likewise.
71120         * tests/test-sprintf-posix.h (test_function): Likewise.
71121         * tests/test-fprintf-posix.h (test_function): Likewise.
71122         * tests/test-printf-posix.h (test_function): Likewise.
71123         * tests/test-fprintf-posix.out: Likewise.
71124
71125 2007-04-13  Bruno Haible  <bruno@clisp.org>
71126
71127         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
71128         * modules/tls-tests (configure.ac): Likewise.
71129         Reported by Arto C. Nirkko <anirkko@insel.ch>.
71130
71131 2007-04-13  Bruno Haible  <bruno@clisp.org>
71132
71133         * lib/tls.c (glthread_tls_get): Fix return type.
71134         Patch by Arto C. Nirkko <anirkko@insel.ch>.
71135
71136 2007-04-12  Eric Blake  <ebb9@byu.net>
71137
71138         * modules/gettime (Depends-on): Remove gettime.
71139         Reported by Dmitry V. Levin.
71140
71141 2007-04-12  Bruno Haible  <bruno@clisp.org>
71142
71143         * modules/fflush (Include): Mention <stdio.h>.
71144         * modules/strtoimax (Include): Mention <inttypes.h>.
71145         * modules/strtoumax (Include): Likewise.
71146
71147 2007-04-12  Eric Blake  <ebb9@byu.net>
71148
71149         * .cvsignore: New file.
71150         * .gitignore: Likewise.
71151
71152 2007-04-12  Bruno Haible  <bruno@clisp.org>
71153
71154         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
71155         not before, since $(LDADD) often contains libgnu.a.
71156         * modules/striconv-tests (test_striconv_LDADD): Likewise.
71157         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
71158         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
71159         Needed on Cygwin.
71160
71161 2007-04-12  Eric Blake  <ebb9@byu.net>
71162
71163         Work around glibc's failure to flush stdin on fclose.
71164         * lib/closein.c (close_stdin): Flush stdin before closing.
71165
71166         Work around glibc's failure to reset seekable stdin on exit.
71167         * modules/closein: New module.
71168         * lib/closein.c: New file.
71169         * lib/closein.h: Likewise.
71170         * m4/closein.m4: Likewise.
71171         * MODULES.html.sh (File stream based Input/Output): Document it.
71172
71173 2007-04-12  Simon Josefsson  <simon@josefsson.org>
71174
71175         * gnulib-tool: Rename generated 'autobuild' script to
71176         'do-autobuild' in --create-megatestdir output.
71177
71178         * doc/gnulib.texi (Build robot for gnulib): Fix.
71179
71180 2007-04-12  Simon Josefsson  <simon@josefsson.org>
71181
71182         * modules/sysexits (Depends-on): Add absolute-header.
71183
71184 2007-04-12  Eric Blake  <ebb9@byu.net>
71185
71186         No need to preserve errno on success.
71187         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
71188         Reported by Bruno Haible.
71189
71190 2007-04-12  Simon Josefsson  <simon@josefsson.org>
71191
71192         * MODULES.html.sh (Support for maintaining and releasing
71193         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
71194
71195 2007-04-12  Simon Josefsson  <simon@josefsson.org>
71196
71197         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
71198
71199 2007-04-12  Simon Josefsson  <simon@josefsson.org>
71200
71201         * modules/autobuild: New module.
71202
71203         * m4/autobuild.m4: New file.
71204
71205 2007-04-11  Bruno Haible  <bruno@clisp.org>
71206
71207         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
71208         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
71209         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
71210         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
71211         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
71212         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
71213         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
71214         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
71215         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
71216         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
71217         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
71218         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
71219         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
71220         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
71221         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
71222         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
71223         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
71224         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
71225         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
71226         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
71227         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
71228         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
71229         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
71230         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
71231         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
71232         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
71233         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
71234         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
71235         Reported by Eric Blake.
71236
71237 2007-04-11  Bruno Haible  <bruno@clisp.org>
71238
71239         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
71240
71241 2007-04-10  Bruno Haible  <bruno@clisp.org>
71242
71243         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
71244         for NaN and Infinity. Needed on FreeBSD 6.1.
71245         * tests/test-vasnprintf-posix.c (test_function): Undo last change
71246         regarding results for "%010a" of Infinity and NaN.
71247         * tests/test-vasprintf-posix.c (test_function): Likewise.
71248         * tests/test-snprintf-posix.h (test_function): Likewise.
71249         * tests/test-sprintf-posix.h (test_function): Likewise.
71250         * tests/test-fprintf-posix.h (test_function): Likewise.
71251         * tests/test-printf-posix.h (test_function): Likewise.
71252         * tests/test-fprintf-posix.out: Likewise.
71253
71254 2007-04-10  Bruno Haible  <bruno@clisp.org>
71255
71256         * modules/locale-tests: New file.
71257         * tests/test-locale.c: New file.
71258
71259         * modules/locale: New file.
71260         * lib/locale_.h: New file.
71261         * m4/locale_h.m4: New file.
71262
71263 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
71264             Bruno Haible  <bruno@clisp.org>
71265
71266         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
71267         be determined, test for availability of the copysignf, copysign,
71268         copysignl functions.
71269         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
71270         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
71271         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
71272
71273 2007-04-09  Eric Blake  <ebb9@byu.net>
71274
71275         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
71276         * modules/stdio (Makefile.am): Support fflush.
71277         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
71278         * modules/fflush: New file.
71279         * lib/fflush.c: Likewise.
71280         * m4/fflush.m4: Likewise.
71281         * modules/fflush-tests: New test.
71282         * tests/test-fflush.c: Likewise.
71283         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
71284
71285 2007-04-06  Bruno Haible  <bruno@clisp.org>
71286
71287         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
71288         (VASNPRINTF): Use signbit for faster determination whether to print a
71289         minus sign.
71290         * modules/vasnprintf (Files): Remove lib/float+.h.
71291         * modules/fprintf-posix (Depends-on): Add signbit.
71292         * modules/snprintf-posix (Depends-on): Likewise.
71293         * modules/sprintf-posix (Depends-on): Likewise.
71294         * modules/vasnprintf-posix (Depends-on): Likewise.
71295         * modules/vasprintf-posix (Depends-on): Likewise.
71296         * modules/vfprintf-posix (Depends-on): Likewise.
71297         * modules/vsnprintf-posix (Depends-on): Likewise.
71298         * modules/vsprintf-posix (Depends-on): Likewise.
71299
71300 2007-04-06  Bruno Haible  <bruno@clisp.org>
71301
71302         * tests/test-frexp.c (main): Test also the sign bit of zero results.
71303         * tests/test-frexpl.c (main): Likewise.
71304         * tests/test-ldexpl.c (main): Likewise.
71305         * modules/frexp-tests (Depends-on): Add signbit.
71306         * modules/frexpl-tests (Depdends-on): Likewise.
71307         * modules/ldexpl-tests (Depdends-on): Likewise.
71308
71309 2007-04-06  Bruno Haible  <bruno@clisp.org>
71310
71311         * modules/signbit-tests: New file.
71312         * tests/test-signbit.c: New file.
71313
71314         * modules/signbit: New file.
71315         * lib/signbitf.c: New file.
71316         * lib/signbitd.c: New file.
71317         * lib/signbitl.c: New file.
71318         * m4/signbit.m4: New file.
71319         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
71320         (signbit): New macro.
71321         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
71322         REPLACE_SIGNBIT.
71323         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
71324         REPLACE_FREXPL into math.h.
71325
71326 2007-04-06  Bruno Haible  <bruno@clisp.org>
71327
71328         * modules/isnanf-nolibm-tests: New file.
71329         * tests/test-isnanf.c: New file.
71330
71331         * modules/isnanf-nolibm: New file.
71332         * lib/isnanf.h: New file.
71333         * lib/isnanf.c: New file.
71334         * lib/isnan.c: Consider the USE_FLOAT macro.
71335         * m4/isnanf.m4: New file.
71336
71337 2007-04-06  Bruno Haible  <bruno@clisp.org>
71338
71339         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
71340         (Link): New section.
71341
71342         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
71343
71344 2007-04-06  Bruno Haible  <bruno@clisp.org>
71345
71346         Assume the 'long double' type.
71347         * m4/longdouble.m4: Remove file.
71348         * config/srclist.txt: Don't mention longdouble.m4.
71349         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
71350         * lib/float+.h: Likewise.
71351         * lib/frexp.c: Likewise.
71352         * lib/printf-args.h: Likewise.
71353         * lib/printf-args.c: Likewise.
71354         * lib/printf-frexp.c: Likewise.
71355         * lib/printf-parse.c: Likewise.
71356         * lib/vasnprintf.c: Likewise.
71357         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
71358         * m4/intl.m4: Likewise.
71359         * m4/isnanl.m4: Likewise.
71360         * m4/printf.m4: Likewise.
71361         * m4/printf-frexpl.m4: Likewise.
71362         * m4/vasnprintf.m4: Likewise.
71363         * modules/allocsa (Files): Remove m4/longdouble.m4.
71364         * modules/gettext (Files): Likewise.
71365         * modules/relocatable-prog-wrapper (Files): Likewise.
71366         * modules/vasnprintf (Files): Likewise.
71367         * modules/isnanl (Files): Likewise.
71368         (Include): Simplify.
71369         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
71370         (Include): Simplify.
71371         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
71372         (Include): Simplify.
71373         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
71374         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
71375         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
71376         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
71377         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
71378         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
71379         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
71380         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
71381         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
71382         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
71383         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
71384         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
71385         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
71386         * tests/test-isnanl.c: Likewise.
71387         * tests/test-snprintf-posix.h: Likewise.
71388         * tests/test-sprintf-posix.h: Likewise.
71389         * tests/test-vasnprintf-posix.c: Likewise.
71390         * tests/test-vasnprintf-posix2.c: Likewise.
71391         * tests/test-vasprintf-posix.c: Likewise.
71392
71393 2007-04-06  Bruno Haible  <bruno@clisp.org>
71394
71395         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
71396         * lib/math_.h [__DECC]: Include the overridden include file through
71397         #include_next, outside the double-inclusion guard.
71398         * lib/stdio_.h [__DECC]: Likewise.
71399         * lib/stdlib_.h [__DECC]: Likewise.
71400         * lib/string_.h [__DECC]: Likewise.
71401         * lib/time_.h [__DECC]: Likewise.
71402         * lib/wchar_.h [__DECC]: Likewise.
71403         * lib/wctype_.h [__DECC]: Likewise.
71404         * lib/inttypes_.h [__DECC]: Likewise.
71405         Reported by Albert Chin <china@thewrittenword.com> in
71406         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
71407
71408 2007-04-04  Eric Blake  <ebb9@byu.net>
71409
71410         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
71411         1.5.x.
71412
71413 2007-04-04  Bruno Haible  <bruno@clisp.org>
71414
71415         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
71416         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
71417
71418 2007-04-04  Bruno Haible  <bruno@clisp.org>
71419
71420         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
71421         results for "%010a" of Infinity and NaN.
71422         * tests/test-vasprintf-posix.c (test_function): Likewise.
71423         * tests/test-snprintf-posix.h (test_function): Likewise.
71424         * tests/test-sprintf-posix.h (test_function): Likewise.
71425         * tests/test-fprintf-posix.h (test_function): Remove these tests.
71426         * tests/test-printf-posix.h (test_function): Likewise.
71427         * tests/test-fprintf-posix.out: Update.
71428         Needed for FreeBSD 6.1.
71429
71430 2007-04-04  Bruno Haible  <bruno@clisp.org>
71431
71432         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
71433         directly used by the gnulib modules nor by gnulib-tool.
71434
71435 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
71436
71437         * DEPENDENCIES: Give overall description of version dependency
71438         desirability.  Use more-typical names for apps.
71439         Add shell, coreutils, diffutils, grep, tar, gzip.
71440
71441 2007-04-04  Simon Josefsson  <simon@josefsson.org>
71442
71443         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
71444
71445 2007-04-04  Karl Berry  <karl@gnu.org>
71446
71447         * MODULES.html.sh (func_module): missing '.
71448
71449 2007-04-03  Bruno Haible  <bruno@clisp.org>
71450
71451         * modules/argmatch-tests (Makefile.am): New variable
71452         test_argmatch_LDADD.
71453         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
71454         * modules/array-list-tests (Makefile.am): New variable
71455         test_array_list_LDADD.
71456         * modules/array-oset-tests (Makefile.am): New variable
71457         test_array_oset_LDADD.
71458         * modules/avltree-list-tests (Makefile.am): New variable
71459         test_avltree_list_LDADD.
71460         * modules/avltree-oset-tests (Makefile.am): New variable
71461         test_avltree_oset_LDADD.
71462         * modules/avltreehash-list-tests (Makefile.am): New variable
71463         test_avltreehash_list_LDADD.
71464         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
71465         test_canonicalize_lgpl_LDADD.
71466         * modules/carray-list-tests (Makefile.am): New variable
71467         test_carray_list_LDADD.
71468         * modules/dirname-tests (Makefile.am): New variable
71469         test_dirname_LDADD.
71470         * modules/linked-list-tests (Makefile.am): New variable
71471         test_linked_list_LDADD.
71472         * modules/linkedhash-list-tests (Makefile.am): New variable
71473         test_linkedhash_list_LDADD.
71474         * modules/rbtree-list-tests (Makefile.am): New variable
71475         test_rbtree_list_LDADD.
71476         * modules/rbtree-oset-tests (Makefile.am): New variable
71477         test_rbtree_oset_LDADD.
71478         * modules/rbtreehash-list-tests (Makefile.am): New variable
71479         test_rbtreehash_list_LDADD.
71480         * modules/xvasprintf-tests (Makefile.am): New variable
71481         test_xvasprintf_LDADD.
71482         Reported by Eric Blake.
71483
71484 2007-04-03  Eric Blake  <ebb9@byu.net>
71485
71486         * DEPENDENCIES: Weaken m4 requirements.
71487
71488 2007-04-03  Bruno Haible  <bruno@clisp.org>
71489
71490         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
71491         * modules/isnanl-tests (configure.ac): Likewise.
71492
71493 2007-04-03  Ben Pfaff  <blp@gnu.org>
71494
71495         * modules/iconv_open: Add $(srcdir)/ to source directory
71496         references in Makefile fragments that call gperf, to fix VPATH
71497         builds.
71498
71499 2007-04-03  Bruno Haible  <bruno@clisp.org>
71500
71501         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
71502         * lib/ldexpl.c: Undo last change.
71503
71504 2007-04-03  Bruno Haible  <bruno@clisp.org>
71505
71506         * modules/printf-frexpl (Depends-on): Undo last change.
71507         (Files): Add m4/ldexpl.m4.
71508
71509 2007-04-03  Bruno Haible  <bruno@clisp.org>
71510
71511         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
71512         * modules/isnanl (Link): New section.
71513
71514         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
71515         * modules/frexp (Link): New section.
71516
71517         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
71518         * modules/frexpl (Link): New section.
71519
71520         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
71521         * modules/ldexpl (Link): New section.
71522
71523 2007-04-03  Bruno Haible  <bruno@clisp.org>
71524
71525         * modules/TEMPLATE-EXTENDED: New file.
71526         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
71527
71528 2007-04-03  Bruno Haible  <bruno@clisp.org>
71529
71530         * DEPENDENCIES: New file.
71531         Suggested by Simon Josefsson.
71532
71533 2007-04-03  Bruno Haible  <bruno@clisp.org>
71534
71535         * doc/gnulib.texi: Escape @.
71536
71537 2007-04-03  James Youngman  <jay@gnu.org>
71538         and Paul Eggert  <eggert@cs.ucla.edu>
71539
71540         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
71541         birthtime on all systems that have birthtime, not just those which
71542         use st_birthtimensec rather than st_birthtim.  Putting zero in
71543         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
71544         that the birth time is not available for files on an NFS mount.
71545
71546 2007-04-03  Simon Josefsson  <simon@josefsson.org>
71547
71548         * modules/memxor: Move back from crypto/, suggested by Bruno.
71549         * modules/crypto/hmac-sha1: Fix memxor dependency.
71550
71551         * modules/crypto/gc: Moved from ../.
71552
71553 2007-04-02  Eric Blake  <ebb9@byu.net>
71554
71555         * lib/ldexpl.c (includes): Avoid libm.
71556
71557         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
71558
71559 2007-04-02  Bruno Haible  <bruno@clisp.org>
71560
71561         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
71562         on IRIX.
71563
71564 2007-04-02  Bruno Haible  <bruno@clisp.org>
71565
71566         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
71567         x86 or x86_64 platforms running MacOS X.
71568         Reported by Ryan Schmidt <@ryandesign.com>.
71569
71570 2007-04-02  Bruno Haible  <bruno@clisp.org>
71571
71572         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
71573         i386.
71574
71575 2007-04-01  Simon Josefsson  <simon@josefsson.org>
71576
71577         * modules/crypto/arcfour: Moved from ../.
71578         * modules/crypto/arcfour-tests: Moved from ../.
71579         * modules/crypto/arctwo: Moved from ../.
71580         * modules/crypto/arctwo-tests: Moved from ../.
71581         * modules/crypto/des: Moved from ../.
71582         * modules/crypto/des-tests: Moved from ../.
71583         * modules/crypto/gc-arcfour: Moved from ../.
71584         * modules/crypto/gc-arcfour-tests: Moved from ../.
71585         * modules/crypto/gc-arctwo: Moved from ../.
71586         * modules/crypto/gc-arctwo-tests: Moved from ../.
71587         * modules/crypto/gc-des: Moved from ../.
71588         * modules/crypto/gc-des-tests: Moved from ../.
71589         * modules/crypto/gc-hmac-md5: Moved from ../.
71590         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
71591         * modules/crypto/gc-hmac-sha1: Moved from ../.
71592         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
71593         * modules/crypto/gc-md2: Moved from ../.
71594         * modules/crypto/gc-md2-tests: Moved from ../.
71595         * modules/crypto/gc-md4: Moved from ../.
71596         * modules/crypto/gc-md4-tests: Moved from ../.
71597         * modules/crypto/gc-md5: Moved from ../.
71598         * modules/crypto/gc-md5-tests: Moved from ../.
71599         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
71600         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
71601         * modules/crypto/gc-random: Moved from ../.
71602         * modules/crypto/gc-rijndael: Moved from ../.
71603         * modules/crypto/gc-rijndael-tests: Moved from ../.
71604         * modules/crypto/gc-sha1: Moved from ../.
71605         * modules/crypto/gc-sha1-tests: Moved from ../.
71606         * modules/crypto/gc-tests: Moved from ../.
71607         * modules/crypto/hmac-md5: Moved from ../.
71608         * modules/crypto/hmac-md5-tests: Moved from ../.
71609         * modules/crypto/hmac-sha1: Moved from ../.
71610         * modules/crypto/hmac-sha1-tests: Moved from ../.
71611         * modules/crypto/md2: Moved from ../.
71612         * modules/crypto/md2-tests: Moved from ../.
71613         * modules/crypto/md4: Moved from ../.
71614         * modules/crypto/md4-tests: Moved from ../.
71615         * modules/crypto/md5: Moved from ../.
71616         * modules/crypto/md5-tests: Moved from ../.
71617         * modules/crypto/memxor: Moved from ../.
71618         * modules/crypto/rijndael: Moved from ../.
71619         * modules/crypto/rijndael-tests: Moved from ../.
71620         * modules/crypto/sha1: Moved from ../.
71621
71622 2007-03-30  James Youngman  <jay@gnu.org>
71623
71624         * tests/test-stat-time.c (prepare_test): use chmod() rather than
71625         rename() to change the ctime of a file (because ctime is unaffected
71626         by rename on jfs2 on AIX 5.1).
71627         (main): Start by doing cleanup, in case a previous run failed leaving
71628         test files behind.
71629
71630 2007-03-31  Bruno Haible  <bruno@clisp.org>
71631
71632         Support old proprietary implementations of iconv.
71633         * modules/iconv_open: New file.
71634         * lib/iconv_.h: New file.
71635         * m4/iconv_h.m4: New file.
71636         * lib/iconv_open.c: New file.
71637         * lib/iconv_open-aix.gperf: New file.
71638         * lib/iconv_open-hpux.gperf: New file.
71639         * lib/iconv_open-irix.gperf: New file.
71640         * lib/iconv_open-osf.gperf: New file.
71641         * m4/iconv_open.m4: New file.
71642         * modules/linebreak (Depends-on): Add iconv_open.
71643         * modules/striconv (Depends-on): Likewise.
71644         * modules/striconveh (Depends-on): Likewise.
71645         * modules/unicodeio (Depends-on): Likewise.
71646         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
71647         (iconv_t)(-1).
71648         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
71649         conversion if cd is (iconv_t)(-1).
71650         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
71651         is not possible.
71652
71653 2007-03-31  Bruno Haible  <bruno@clisp.org>
71654
71655         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
71656         work on Solaris either. Protect also second use of "autodetect_jp".
71657
71658 2007-03-31  Bruno Haible  <bruno@clisp.org>
71659
71660         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
71661         the function is not present.
71662
71663 2007-03-31  Bruno Haible  <bruno@clisp.org>
71664
71665         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
71666         the function is not present.
71667
71668 2007-03-31  Bruno Haible  <bruno@clisp.org>
71669
71670         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
71671         a bug in HP-UX iconv_open().
71672
71673 2007-03-31  Bruno Haible  <bruno@clisp.org>
71674
71675         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
71676         (Mathematics <math.h>): New section, add fpieee.
71677         (Input/output <stdio.h>): Add fseterr.
71678         (Mathematics <math.h>): New section, add printf-frexp.
71679         (Container data structures): Add sublist.
71680         (Core language properties): Add fpucw, inline.
71681         (Functions for greatest-width integer types <inttypes.h>): Add
71682         imaxabs, imaxdiv, inttypes.
71683         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
71684         isnanl-nolibm, ldexp.
71685         (Mathematics <math.h>): New section, add printf-frexpl.
71686         (Support for systems lacking POSIX:2001): Add fprintf-posix,
71687         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
71688         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
71689         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
71690         (Unicode string functions): Add unistr/u*-mbtoucr.
71691         (Java): Add javacomp-script, javaexec-script.
71692         (C#): Add csharpcomp-script, csharpexec-script.
71693         (Support for building libraries and executables): Add havelib,
71694         relocatable-*.
71695         (Support for maintaining and releasing projects): Renamed from
71696         'Support for maintaining and release projects'. Add announce-gen.
71697
71698 2007-03-31  Bruno Haible  <bruno@clisp.org>
71699
71700         * README: Talk primarily about git.
71701         (git and CVS): Renamed from CVS.
71702         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
71703         gnulib is available through git.
71704         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
71705
71706 2007-03-30  Bruno Haible  <bruno@clisp.org>
71707
71708         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
71709         * lib/poll_.h: Likewise.
71710         * lib/stat_.h: Likewise.
71711         * lib/sys_time_.h: Likewise.
71712         * lib/sysexit_.h: Likewise.
71713         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
71714         * lib/stdbool_.h: Likewise.
71715         * lib/byteswap_.h: Add double-inclusion guard.
71716
71717 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
71718
71719         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
71720
71721 2007-03-30  Karl Berry  <karl@gnu.org>
71722
71723         * config/srclist-update: double space after USA in the license
71724         substitution, since that's how it's usually (?) written.
71725
71726 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
71727
71728         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
71729         reported by Bruno Haible.
71730
71731 2007-03-29  Bruno Haible  <bruno@clisp.org>
71732
71733         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
71734         a bug in AIX iconv().
71735
71736 2007-03-29  Bruno Haible  <bruno@clisp.org>
71737
71738         * modules/ldexpl-tests: New file.
71739         * tests/test-ldexpl.c: New file.
71740
71741 2007-03-29  Bruno Haible  <bruno@clisp.org>
71742
71743         * lib/ldexpl.c: Include fpucw.h.
71744         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
71745         multiplication.
71746         * modules/ldexpl (Depends-on): Add fpucw.
71747
71748 2007-03-29  Bruno Haible  <bruno@clisp.org>
71749
71750         * modules/ldexpl: New file.
71751         * m4/ldexpl.m4: New file.
71752         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
71753         set.
71754         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
71755         REPLACE_LDEXPL.
71756         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
71757         REPLACE_LDEXPL.
71758         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
71759         gl_FUNC_LDEXPL_WORKS.
71760         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
71761         * modules/mathl (Files): Remove lib/ldexpl.c.
71762         (Depends-on): Add ldexpl.
71763
71764 2007-03-29  Bruno Haible  <bruno@clisp.org>
71765
71766         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
71767
71768 2007-03-29  Bruno Haible  <bruno@clisp.org>
71769
71770         * tests/test-striconveh.c (main): Don't assume that a direct conversion
71771         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
71772         and possibly also HP-UX.
71773         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
71774         work on AIX, IRIX, HP-UX, OSF/1.
71775         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
71776         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
71777         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
71778         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
71779         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
71780         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
71781
71782 2007-03-29  Bruno Haible  <bruno@clisp.org>
71783
71784         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
71785
71786 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71787
71788         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
71789         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
71790
71791 2007-03-29  Eric Blake  <ebb9@byu.net>
71792
71793         * lib/acl-internal.h: Remove redundant include.
71794         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
71795         Cygwin when a file is locked.
71796
71797 2007-03-29  Bruno Haible  <bruno@clisp.org>
71798
71799         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
71800         file.
71801         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
71802
71803 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71804
71805         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
71806         try to remove a parent directory if the child couldn't be removed
71807         (except for the first rmdir, which could fail because the child
71808         doesn't exist).  Problem reported by Jeff Blaine in
71809         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
71810
71811 2007-03-28  Bruno Haible  <bruno@clisp.org>
71812
71813         * lib/striconveh.c (utf8conv_carefully): New function.
71814         (mem_cd_iconveh_internal): Invoke it.
71815
71816 2007-03-28  Bruno Haible  <bruno@clisp.org>
71817
71818         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
71819         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
71820         input.
71821         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
71822         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
71823         unistr/u8-uctomb.
71824
71825 2007-03-28  Bruno Haible  <bruno@clisp.org>
71826
71827         * modules/unistr/u8-mbtoucr: New file.
71828         * lib/unistr/u8-mbtoucr.c: New file.
71829         * modules/unistr/u16-mbtoucr: New file.
71830         * lib/unistr/u16-mbtoucr.c: New file.
71831         * modules/unistr/u16-mbtoucr: New file.
71832         * lib/unistr/u16-mbtoucr.c: New file.
71833         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
71834
71835 2007-03-27  Simon Josefsson  <simon@josefsson.org>
71836             Bruno Haible  <bruno@clisp.org>
71837
71838         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
71839         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
71840         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
71841
71842         * m4/stdio_h.m4: Add stubs for vasprintf too.
71843
71844         * modules/stdio: Support vasprintf in sed command.
71845
71846         * modules/vasprintf: Depend on stdio for prototypes.  Remove
71847         vasprintf.h.  Add stdio module indicator.
71848
71849         * lib/stdio_.h: Declare asprintf and vasprintf, based on
71850         vasprintf.h.
71851
71852         * lib/vasprintf.h: File removed.
71853
71854         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
71855         * lib/vasprintf.c: Ditto.
71856         * lib/xvasprintf.c: Ditto.
71857         * tests/test-vasprintf-posix.c: Ditto.
71858         * tests/test-vasprintf.c: Ditto.
71859
71860 2007-03-27  Bruno Haible  <bruno@clisp.org>
71861
71862         Make vasnprintf multithread-safe.
71863         * lib/vasnprintf.c (decimal_point_char): New function.
71864         (VASNPRINTF): Use it.
71865         Suggested by Simon Josefsson.
71866
71867 2007-03-27  Eric Blake  <ebb9@byu.net>
71868
71869         Support sub-second birthtime on cygwin.
71870         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
71871         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
71872         (get_stat_birthtime): Also work with st_birthtim.
71873
71874 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
71875
71876         * lib/stat-time.h (USE_BIRTHTIME): Remove.
71877         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
71878         (get_stat_birthtime_ns): Do not try to use "spare" fields.
71879         (get_stat_birthtime_ns): Simplify compile-time tests.
71880         (get_stat_birthtime): Change the API to look like
71881         get_stat_mtime etc., except return a negative tv_nsec on error.
71882         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
71883         Don't check for "spare" fields.
71884         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
71885         or for struct stat.st_birthtime, as these tests aren't used.
71886         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
71887
71888 2007-03-27  Bruno Haible  <bruno@clisp.org>
71889
71890         * lib/stat-time.h: Include <sys/stat.h>.
71891
71892 2007-03-27  James Youngman  <jay@gnu.org>
71893
71894         * lib/stat-time.h (get_stat_birthtime): New function for
71895           retrieving st_birthtime as provided by UFS2 (hence *BSD).
71896         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
71897           and its variants.
71898         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
71899         * modules/stat-time-test: New file.
71900         * tests/test-stat-time.c: New test, devised by Bruno Haible.
71901
71902 2007-03-26  Bruno Haible  <bruno@clisp.org>
71903
71904         Better support of signalling NaNs.
71905         * lib/atanl.c: Include isnanl.h.
71906         (atanl): Perform test for NaN at the beginning of the function and
71907         through a call to isnanl.
71908         * lib/cosl.c: Include isnanl.h.
71909         (cosl): Perform test for NaN at the beginning of the function and
71910         through a call to isnanl.
71911         * lib/ldexpl.c: Include isnanl.h.
71912         (ldexpl): Perform test for NaN through a call to isnanl.
71913         * lib/logl.c: Include isnanl.h.
71914         (logl): Perform test for NaN at the beginning of the function and
71915         through a call to isnanl.
71916         * lib/sinl.c: Include isnanl.h.
71917         (sinl): Perform test for NaN at the beginning of the function and
71918         through a call to isnanl.
71919         * lib/sqrtl.c: Include isnanl.h.
71920         (sqrtl): Perform test for NaN at the beginning of the function and
71921         through a call to isnanl.
71922         * lib/tanl.c: Include isnanl.h.
71923         (tanl): Perform test for NaN at the beginning of the function and
71924         through a call to isnanl.
71925         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
71926         * modules/mathl (Depends-on): Add isnanl.
71927
71928 2007-03-26  Eric Blake  <ebb9@byu.net>
71929
71930         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
71931         regression in logic sense of previous patch.
71932
71933 2007-03-26  Bruno Haible  <bruno@clisp.org>
71934
71935         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
71936         unportable shell command "if ! ...".
71937         Reported by Ralf Wildenhues.
71938
71939 2007-03-25  Bruno Haible  <bruno@clisp.org>
71940
71941         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
71942         <sysexits.h> file, and only add EX_CONFIG.
71943         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
71944         absolute file name and whether it is sufficient. Substitute also
71945         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
71946         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
71947         ABSOLUTE_SYSEXITS_H into sysexits.h.
71948
71949 2007-03-25  Bruno Haible  <bruno@clisp.org>
71950
71951         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
71952         hints is NULL.
71953
71954 2007-03-25  Bruno Haible  <bruno@clisp.org>
71955
71956         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
71957         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
71958
71959 2007-03-25  Bruno Haible  <bruno@clisp.org>
71960
71961         * lib/vasnprintf.c: Include langinfo.h.
71962         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
71963         multithread-safe.
71964         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
71965         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
71966         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
71967         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71968         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71969         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71970         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
71971         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
71972         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71973         Reported by Simon Josefsson.
71974
71975 2007-03-25  Bruno Haible  <bruno@clisp.org>
71976
71977         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
71978         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
71979         * modules/vasnprintf (Depends-on): Add stdint.
71980
71981 2007-03-25  Bruno Haible  <bruno@clisp.org>
71982
71983         * modules/fpieee: New file.
71984         * m4/fpieee.m4: New file.
71985         * modules/isnan-nolibm (Depends-on): Add fpieee.
71986         * modules/isnanl-nolibm (Depends-on): Add fpieee.
71987         * modules/isnanl (Depends-on): Add fpieee.
71988
71989 2007-03-25  Bruno Haible  <bruno@clisp.org>
71990
71991         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
71992
71993 2007-03-25  Bruno Haible  <bruno@clisp.org>
71994
71995         Avoid test failures on IRIX 6.5.
71996         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
71997         (main): Use it.
71998         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
71999         macros.
72000         (main): Use them.
72001
72002 2007-03-25  Bruno Haible  <bruno@clisp.org>
72003
72004         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
72005         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
72006         exists but doesn't work.
72007         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
72008         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
72009         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
72010         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
72011         math.h.
72012
72013 2007-03-25  Bruno Haible  <bruno@clisp.org>
72014
72015         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
72016         returns inf. Needed on IRIX 6.5.
72017
72018 2007-03-25  Bruno Haible  <bruno@clisp.org>
72019
72020         * tests/test-frexpl.c: Include isnanl-nolibm.h.
72021         (main): Use isnanl instead of x != x idiom.
72022         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
72023
72024         * tests/test-frexp.c: Include isnan.h.
72025         (main): Use isnan instead of x != x idiom.
72026         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
72027
72028 2007-03-25  Bruno Haible  <bruno@clisp.org>
72029
72030         * tests/test-frexp.c (NaN): New function/macro.
72031         (main): Use it instead of 0.0 / 0.0.
72032         * tests/test-isnan.c (NaN): New function/macro.
72033         (main): Use it instead of 0.0 / 0.0.
72034         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
72035         (test_function): Use it instead of 0.0 / 0.0.
72036         * tests/test-vasprintf-posix.c (NaN): New function/macro.
72037         (test_function): Use it instead of 0.0 / 0.0.
72038         * tests/test-snprintf-posix.h (NaN): New function/macro.
72039         (test_function): Use it instead of 0.0 / 0.0.
72040         * tests/test-sprintf-posix.h (NaN): New function/macro.
72041         (test_function): Use it instead of 0.0 / 0.0.
72042         * tests/test-fprintf-posix.h (NaN): New function/macro.
72043         (test_function): Use it instead of 0.0 / 0.0.
72044         * tests/test-printf-posix.h (NaN): New function/macro.
72045         (test_function): Use it instead of 0.0 / 0.0.
72046
72047         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
72048
72049 2007-03-25  Bruno Haible  <bruno@clisp.org>
72050
72051         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
72052
72053 2007-03-25  Bruno Haible  <bruno@clisp.org>
72054
72055         * lib/regexec.c (merge_state_with_log): Make static.
72056
72057 2007-03-25  Bruno Haible  <bruno@clisp.org>
72058
72059         * lib/trigl.c (kernel_rem_pio2): Make static.
72060
72061 2007-03-25  Bruno Haible  <bruno@clisp.org>
72062
72063         * lib/sincosl.c (sincosl_table): Make static.
72064
72065 2007-03-25  Bruno Haible  <bruno@clisp.org>
72066
72067         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
72068         if the compiler does not support C99.
72069
72070 2007-03-25  Bruno Haible  <bruno@clisp.org>
72071
72072         * modules/time (Makefile.am): Ensure all rule action lines start with a
72073         tab.
72074
72075 2007-03-24  Bruno Haible  <bruno@clisp.org>
72076
72077         * modules/tsearch-tests: New file.
72078         * tests/test-tsearch.sh: New file.
72079         * tests/test-tsearch.c: New file, mostly copied from glibc.
72080
72081         * modules/search-tests: New file.
72082         * tests/test-search.c: New file.
72083
72084         * modules/search: New file.
72085         * lib/search_.h: New file, incorporating lib/tsearch.h.
72086         * m4/search_h.m4: New file.
72087         * lib/tsearch.h: Remove file.
72088         * lib/tsearch.c: Include search.h instead of tsearch.h.
72089         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
72090         HAVE_TSEARCH.
72091         * modules/tsearch (Files): Remove lib/tsearch.h.
72092         (Depends-on): Add search.
72093         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
72094         (Include): Change tsearch.h into search.h.
72095
72096 2007-03-24  Bruno Haible  <bruno@clisp.org>
72097
72098         * modules/fpucw: New file.
72099         * lib/fpucw.h: New file.
72100         * lib/frexp.c: Include fpucw.h.
72101         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
72102         (FUNC): Use them.
72103         * lib/printf-frexp.c: Include fpucw.h.
72104         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
72105         (FUNC): Use them.
72106         * lib/vasnprintf.c: Include fpucw.h.
72107         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
72108         'long double' calculations.
72109         * tests/test-frexpl.c: Include fpucw.h.
72110         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
72111         * tests/test-printf-frexpl.c: Include fpucw.h.
72112         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
72113         * modules/frexpl (Depends-on): Add fpucw.
72114         * modules/printf-frexpl (Depends-on): Likewise.
72115         * modules/fprintf-posix (Depends-on): Likewise.
72116         * modules/snprintf-posix (Depends-on): Likewise.
72117         * modules/sprintf-posix (Depends-on): Likewise.
72118         * modules/vasnprintf-posix (Depends-on): Likewise.
72119         * modules/vasprintf-posix (Depends-on): Likewise.
72120         * modules/vfprintf-posix (Depends-on): Likewise.
72121         * modules/vsnprintf-posix (Depends-on): Likewise.
72122         * modules/vsprintf-posix (Depends-on): Likewise.
72123         * modules/frexpl-tests (Depends-on): Likewise.
72124         * modules/printf-frexpl-tests (Depends-on): Likewise.
72125
72126 2007-03-24  Bruno Haible  <bruno@clisp.org>
72127
72128         * lib/float+.h: New file.
72129         * lib/isnan.c: Include float+.h.
72130         (SIZE): New macro.
72131         (FUNC): Compare only SIZE bytes of the value.
72132         * lib/vasnprintf.c: Include float+.h.
72133         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
72134         SIZEOF_LDBL or SIZEOF_DBL bytes.
72135         * modules/isnan-nolibm (Files): Add lib/float+.h.
72136         * modules/isnanl-nolibm (Files): Add lib/float+.h.
72137         * modules/isnanl (Files): Add lib/float+.h.
72138         * modules/vasnprintf (Files): Add lib/float+.h.
72139
72140 2007-03-24  Bruno Haible  <bruno@clisp.org>
72141
72142         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
72143         include isnanl-nolibm.h.
72144
72145 2007-03-24  Bruno Haible  <bruno@clisp.org>
72146
72147         * tests/test-read-file.c (main): Don't produce spurious output for
72148         expected situations. Make the test fail if it encountered unexpected
72149         results.
72150
72151 2007-03-24  Bruno Haible  <bruno@clisp.org>
72152
72153         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
72154         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
72155
72156 2007-03-24  Bruno Haible  <bruno@clisp.org>
72157
72158         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
72159
72160 2007-03-24  Bruno Haible  <bruno@clisp.org>
72161
72162         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
72163         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
72164
72165         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
72166         * modules/utf8-ucs4: Turn into a symbolic link to module
72167         unistr/u8-mbtouc.
72168
72169         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
72170         utf8-ucs4-unsafe.
72171         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
72172         unistr/u8-mbtouc-unsafe.
72173
72174         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
72175         * modules/utf16-ucs4: Turn into a symbolic link to module
72176         unistr/u16-mbtouc.
72177
72178         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
72179         utf16-ucs4-unsafe.
72180         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
72181         unistr/u16-mbtouc-unsafe.
72182
72183         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
72184         * modules/ucs4-utf8: Turn into a symbolic link to module
72185         unistr/u8-ubtomb.
72186
72187         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
72188         * modules/ucs4-utf16: Turn into a symbolic link to module
72189         unistr/u16-ubtomb.
72190
72191 2007-03-24  Bruno Haible  <bruno@clisp.org>
72192
72193         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
72194         Enable the function only if HAVE_INLINE.
72195         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
72196         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
72197         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
72198         Enable the function only if HAVE_INLINE.
72199         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
72200         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
72201         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
72202         Enable the function only if HAVE_INLINE.
72203         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
72204         Enable the function only if HAVE_INLINE.
72205         * modules/utf8-ucs4: Update.
72206         * modules/utf8-ucs4-unsafe: Update.
72207         * modules/utf16-ucs4: Update.
72208         * modules/utf16-ucs4-unsafe: Update.
72209         * modules/ucs4-utf8: Update.
72210         * modules/ucs4-utf16: Update.
72211
72212 2007-03-24  Bruno Haible  <bruno@clisp.org>
72213
72214         * lib/utf8-ucs4.h: Remove file.
72215         * lib/utf8-ucs4-unsafe.h: Remove file.
72216         * lib/utf16-ucs4.h: Remove file.
72217         * lib/utf16-ucs4-unsafe.h: Remove file.
72218         * lib/ucs4-utf8.h: Remove file.
72219         * lib/ucs4-utf16.h: Remove file.
72220         * lib/unistr.h: Include their previous contents.
72221         * m4/utf-ucs4.m4: Remove file.
72222         * m4/ucs4-utf.m4: Remove file.
72223         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
72224         (Depends-on): Add unistr/base.
72225         (configure.ac): Remove gl_UTF_UCS4.
72226         (Makefile.am): Update.
72227         (Include): Change to unistr.h.
72228         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
72229         (Depends-on): Add unistr/base.
72230         (configure.ac): Remove gl_UTF_UCS4.
72231         (Makefile.am): Update.
72232         (Include): Change to unistr.h.
72233         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
72234         (Depends-on): Add unistr/base.
72235         (configure.ac): Remove gl_UTF_UCS4.
72236         (Makefile.am): Update.
72237         (Include): Change to unistr.h.
72238         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
72239         (Depends-on): Add unistr/base.
72240         (configure.ac): Remove gl_UTF_UCS4.
72241         (Makefile.am): Update.
72242         (Include): Change to unistr.h.
72243         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
72244         (Depends-on): Add unistr/base.
72245         (configure.ac): Remove gl_UCS4_UTF.
72246         (Makefile.am): Update.
72247         (Include): Change to unistr.h.
72248         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
72249         (Depends-on): Add unistr/base.
72250         (configure.ac): Remove gl_UCS4_UTF.
72251         (Makefile.am): Update.
72252         (Include): Change to unistr.h.
72253         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
72254         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
72255         utf8-ucs4-unsafe.h.
72256         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
72257         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
72258         utf16-ucs4-unsafe.h.
72259         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
72260         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
72261         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
72262         * lib/unistr/u8-strchr.c: Likewise.
72263         * lib/unistr/u8-strrchr.c: Likewise.
72264         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
72265         * lib/unistr/u16-strchr.c: Likewise.
72266         * lib/unistr/u16-strrchr.c: Likewise.
72267         * lib/striconveh.c: Update.
72268         * lib/linebreak.c: Update.
72269
72270 2007-03-24  Bruno Haible  <bruno@clisp.org>
72271
72272         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
72273         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
72274
72275 2007-03-22  Bruno Haible  <bruno@clisp.org>
72276
72277         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
72278
72279 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
72280
72281         * MODULES.html.sh (File system functions): New module write-any-file.
72282         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
72283         * m4/write-any-file.m4: New files.
72284
72285 2007-03-23  Eric Blake  <ebb9@byu.net>
72286
72287         * gnulib-tool: Rearrange space-tab sequences, since some editors
72288         like to eat them.
72289
72290 2007-03-23  Eric Blake  <ebb9@byu.net>
72291
72292         * lib/version-etc.c (version_etc_va): Update license wording to
72293         be more concise.  Recommended by Richard Stallman.
72294
72295 2007-03-22  Bruno Haible  <bruno@clisp.org>
72296
72297         * lib/poll.c (MSG_PEEK): New fallback definition.
72298
72299 2007-03-22  Bruno Haible  <bruno@clisp.org>
72300
72301         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
72302         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
72303         (main): Update.
72304         Fixes a compilation error on BeOS.
72305
72306 2007-03-22  Bruno Haible  <bruno@clisp.org>
72307
72308         * modules/frexpl-tests: New file.
72309         * tests/test-frexpl.c: New file.
72310
72311         * modules/frexpl: New file.
72312         * m4/frexpl.m4: New file.
72313         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
72314         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
72315         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
72316         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
72317         (Depends-on): Add frexpl. Remove isnanl-nolibm.
72318         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
72319
72320 2007-03-22  Bruno Haible  <bruno@clisp.org>
72321
72322         * lib/frexpl.c: Share code with lib/frexp.c.
72323         * modules/mathl (Files): Add lib/frexp.c.
72324         (Depends-on): Add isnanl-nolibm.
72325
72326 2007-03-22  Bruno Haible  <bruno@clisp.org>
72327
72328         * modules/printf-frexp (Files): Add m4/frexp.m4.
72329         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
72330         only if the found frexp function actually works.
72331
72332 2007-03-22  Bruno Haible  <bruno@clisp.org>
72333
72334         * lib/frexp.c: Remove older implementation that uses divisions.
72335
72336 2007-03-21  Bruno Haible  <bruno@clisp.org>
72337
72338         * modules/frexp-tests: New file.
72339         * tests/test-frexp.c: New file.
72340
72341         * modules/frexp: New file.
72342         * lib/frexp.c: New file.
72343         * m4/frexp.m4: New file.
72344         * lib/math_.h (frexp): New declaration.
72345         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
72346         REPLACE_FREXP.
72347         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
72348
72349 2007-03-21  Bruno Haible  <bruno@clisp.org>
72350
72351         * modules/isnanl-tests: New file.
72352         * tests/test-isnanl.c: New file.
72353
72354         * modules/isnanl: New file.
72355         * lib/isnanl.h: New file.
72356         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
72357         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
72358         gl_FUNC_ISNANL_WORKS.
72359         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
72360         New macros.
72361
72362 2007-03-21  Bruno Haible  <bruno@clisp.org>
72363
72364         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
72365         lib/isnanl.h.
72366         (Include): Update.
72367         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
72368         * lib/vasnprintf.c: Update.
72369         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
72370         tests/test-isnanl.h, remove tests/test-isnanl.c.
72371         (Makefile.am): Update.
72372         * tests/test-isnanl-nolibm.c: New file.
72373         * tests/test-isnanl.h: New file.
72374         * tests/test-isnanl.c: Remove file.
72375
72376 2007-03-21  Jim Meyering  <jim@meyering.net>
72377
72378         When trying to open ".", treat ESTALE like EACCES.
72379         * lib/savewd.c (savewd_save): Resort to forking not just upon
72380         failure with EACCES, but also when errno is ESTALE.
72381
72382 2007-03-20  Bruno Haible  <bruno@clisp.org>
72383
72384         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
72385         Needed on AIX 5.1. Reported by Matthew Woehlke.
72386
72387 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
72388
72389         Suggestions by Bruno Haible:
72390         * lib/acl-internal.h: Include "gettext.h" rather than rolling
72391         our own.
72392         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
72393         * modules/acl (Depends-on): Add gettext.
72394
72395 2007-03-19  Bruno Haible  <bruno@clisp.org>
72396
72397         * modules/iconvme: Remove file.
72398         * lib/iconvme.h: Remove file.
72399         * lib/iconvme.c: Remove file.
72400         * m4/iconvme.m4: Remove file.
72401
72402 2007-03-19  Bruno Haible  <bruno@clisp.org>
72403
72404         * doc/relocatable-maint.texi: Break long shell script line.
72405         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
72406
72407 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
72408
72409         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
72410         handle file_has_acl.
72411         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
72412         * lib/acl.c: Move header inclusions and related macro defns into
72413         lib/acl-internal.h.
72414         (S_ISLNK): Remove defn, since that's now done for us.
72415         (file_has_acl): Move to lib/file-has-acl.c.
72416         Call acl_trivial if available.  This is the crucial part of the fix.
72417         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
72418         shared within the library.  Rewrite a bit, partly to make it compatible
72419         with the GNU coding style.
72420         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
72421         Remove unnecessary double-quotes.
72422         Don't test for acl_to_text; the build will catch that.
72423         Replace acl_entries if it doesn't exist and it is needed.
72424         Check for -lsec and acl_trivial (as used on Solaris 10).
72425         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
72426         lib/file-has-acl.c.
72427         (Depends-on): Add sys_stat, for S_ISLNK.
72428
72429 2007-03-19  Ben Pfaff  <blp@gnu.org>
72430
72431         * doc/gnulib.texi: Fix typos.
72432         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
72433
72434 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
72435
72436         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
72437         If size is zero here, buf must be zero.
72438
72439 2007-03-19  Simon Josefsson  <simon@josefsson.org>
72440
72441         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
72442         <bruno@clisp.org>.
72443
72444 2007-03-18  Bruno Haible  <bruno@clisp.org>
72445
72446         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
72447         Suggested by Eric Blake.
72448
72449 2007-03-18  Ben Pfaff  <blp@gnu.org>
72450
72451         * doc/relocatable.texi: Recommend using as prefix a directory
72452         that does not exist and will never be created.  Based on
72453         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
72454         and others.
72455
72456 2007-03-17  Bruno Haible  <bruno@clisp.org>
72457
72458         * lib/fchownat.c: Include lchown.h.
72459
72460 2007-03-17  Bruno Haible  <bruno@clisp.org>
72461
72462         Fix endless loop when the given allocated size was > INT_MAX.
72463         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
72464         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
72465         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
72466         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
72467         * lib/sprintf.c (sprintf): Likewise.
72468
72469 2007-03-17  Bruno Haible  <bruno@clisp.org>
72470
72471         * tests/test-argp-2.sh (func_compare): Output a context diff.
72472
72473 2007-03-17  Bruno Haible  <bruno@clisp.org>
72474
72475         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
72476         locale's decimal-point character.
72477
72478 2007-03-17  Bruno Haible  <bruno@clisp.org>
72479
72480         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
72481         before comparing it. Needed because on some platforms (e.g. x86) a
72482         'long double' occupies less bytes than sizeof (long double).
72483
72484 2007-03-17  Bruno Haible  <bruno@clisp.org>
72485
72486         * tests/test-crc.c (main): Make printf statements 64-bit clean.
72487         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
72488         * tests/test-getaddrinfo.c (simple): Likewise.
72489         * tests/test-read-file.c (main): Likewise.
72490
72491 2007-03-17  Bruno Haible  <bruno@clisp.org>
72492
72493         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
72494
72495 2007-03-17  Bruno Haible  <bruno@clisp.org>
72496
72497         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
72498         unused variable.
72499
72500 2007-03-17  Bruno Haible  <bruno@clisp.org>
72501
72502         * tests/test-c-strcasecmp.c: Include c-strcase.h.
72503         * tests/test-c-strncasecmp.c: Likewise.
72504
72505 2007-03-17  Bruno Haible  <bruno@clisp.org>
72506
72507         * modules/stdlib (Depends-on): Add unistd.
72508         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
72509         Needed for MacOS X 10.3.
72510
72511 2007-03-17  Bruno Haible  <bruno@clisp.org>
72512
72513         * lib/unistr/u-strdup.h: Include <stdlib.h>.
72514
72515 2007-03-17  Bruno Haible  <bruno@clisp.org>
72516
72517         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
72518
72519 2007-03-17  Bruno Haible  <bruno@clisp.org>
72520
72521         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
72522         to reflect files copied from gnulib (with or without modifications).
72523         Suggested by Jim Meyering.
72524
72525 2007-03-17  Eric Blake  <ebb9@byu.net>
72526
72527         * NEWS: Document stdlib change from 2007-02-18.
72528
72529 2007-03-17  Jim Meyering  <jim@meyering.net>
72530
72531         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
72532         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
72533         someone uses a name containing shell meta-characters.
72534         Reported by Alfred M. Szmidt.
72535
72536         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
72537
72538 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
72539
72540         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
72541         and copy gettext configuration files only if configure.ac contains
72542         a use of AM_GNU_GETTEXT_VERSION.
72543
72544 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
72545
72546         * build-aux/bootstrap (gnulib_name): New variable.
72547         (gnulib_tool_options): Use it.
72548
72549 2007-03-13  Simon Josefsson  <simon@josefsson.org>
72550
72551         * tests/test-des.c: Use new namespace.
72552
72553 2007-03-15  Bruno Haible  <bruno@clisp.org>
72554
72555         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
72556         Reported by James Youngman <jay@gnu.org>.
72557
72558 2007-03-15  Bruno Haible  <bruno@clisp.org>
72559
72560         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
72561         declared prototype. Needed with cc on OSF/1 5.1.
72562
72563 2007-03-15  Bruno Haible  <bruno@clisp.org>
72564
72565         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
72566         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
72567         (struct gl_list_implementation): Add dispose_fn argument to the
72568         'create_empty', 'create' methods.
72569         (struct gl_list_impl_base): Add field 'dispose_fn'.
72570         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
72571         argument.
72572         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
72573         dispose_fn argument.
72574         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
72575         dispose_fn on the dropped values.
72576         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
72577         dispose_fn argument.
72578         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
72579         dropped values.
72580         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
72581         (gl_tree_remove_node): Call dispose_fn on the dropped value.
72582         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
72583         (gl_tree_remove_node): Call dispose_fn on the dropped value.
72584         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
72585         argument.
72586         (gl_tree_list_free): Call dispose_fn on the dropped values.
72587         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
72588         the dropped values.
72589         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
72590         Add dispose_fn argument.
72591         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
72592         Call dispose_fn on the dropped values.
72593         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
72594         Add dispose_fn argument.
72595         (gl_sublist_create): Initialize the 'dispose_fn' field.
72596         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
72597         * tests/test-array_list.c (main): Update.
72598         * tests/test-carray_list.c (main): Update.
72599         * tests/test-avltree_list.c (main): Update.
72600         * tests/test-rbtree_list.c (main): Update.
72601         * tests/test-avltreehash_list.c (main): Update.
72602         * tests/test-rbtreehash_list.c (main): Update.
72603         * tests/test-linked_list.c (main): Update.
72604         * tests/test-linkedhash_list.c (main): Update.
72605         * tests/test-array_oset.c (main): Update.
72606
72607 2007-03-15  Bruno Haible  <bruno@clisp.org>
72608
72609         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
72610         (gl_oset_create_empty): Add dispose_fn argument.
72611         (struct gl_oset_implementation): Add dispose_fn argument to
72612         'create_empty' method.
72613         (struct gl_oset_impl_base): Add dispose_fn field.
72614         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
72615         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
72616         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
72617         values.
72618         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
72619         (gl_tree_oset_free): Call dispose_fn on the dropped values.
72620         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
72621         dropped value.
72622         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
72623         dropped value.
72624         * tests/test-array_oset.c (main): Update.
72625         * tests/test-avltree_oset.c (main): Update.
72626         * tests/test-rbtree_oset.c (main): Update.
72627         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
72628
72629 2007-03-13  Bruno Haible  <bruno@clisp.org>
72630
72631         * tests/test-stdbool.c (i): Update after last patch.
72632
72633 2007-03-12  Bruno Haible  <bruno@clisp.org>
72634
72635         * lib/quotearg.c: Include <wctype.h> early, before the definition of
72636         the iswprint macro. Needed on Solaris 2.5.1.
72637
72638 2007-03-12  Bruno Haible  <bruno@clisp.org>
72639
72640         * tests/test-printf-frexp.c (main): Declare x as volatile.
72641
72642 2007-03-12  Simon Josefsson  <simon@josefsson.org>
72643
72644         * doc/gnulib.texi (Build robot for gnulib): New section.
72645
72646 2007-03-12  Jim Meyering  <jim@meyering.net>
72647
72648         * build-aux/bootstrap: New file.
72649         * build-aux/bootstrap.conf: New file, from coreutils.
72650
72651 2007-03-11  Bruno Haible  <bruno@clisp.org>
72652
72653         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
72654
72655 2007-03-12  Simon Josefsson  <simon@josefsson.org>
72656
72657         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
72658         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
72659         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
72660
72661 2007-03-11  Bruno Haible  <bruno@clisp.org>
72662
72663         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
72664         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
72665
72666 2007-03-11  Bruno Haible  <bruno@clisp.org>
72667
72668         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
72669         formula. Needed for SunPRO C 5.0.
72670
72671 2007-03-11  Bruno Haible  <bruno@clisp.org>
72672
72673         * modules/long-options (Depends-on): Add getopt.
72674
72675 2007-03-11  Bruno Haible  <bruno@clisp.org>
72676
72677         * modules/modechange (Depends-on): Add stdbool.
72678
72679 2007-03-11  Bruno Haible  <bruno@clisp.org>
72680
72681         * modules/i-ring (Depends-on): Add stdbool.
72682
72683 2007-03-11  Bruno Haible  <bruno@clisp.org>
72684
72685         * modules/gc-des (Depends-on): Add stdbool.
72686
72687 2007-03-11  Bruno Haible  <bruno@clisp.org>
72688
72689         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
72690
72691 2007-03-11  Bruno Haible  <bruno@clisp.org>
72692
72693         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
72694
72695 2007-03-11  Bruno Haible  <bruno@clisp.org>
72696
72697         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
72698
72699 2007-03-11  Bruno Haible  <bruno@clisp.org>
72700
72701         * lib/vasnprintf.c (sprintf): Undefine.
72702
72703 2007-03-11  Bruno Haible  <bruno@clisp.org>
72704
72705         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
72706         initializers in SunPRO C and Compaq C compilers.
72707
72708 2007-03-11  Bruno Haible  <bruno@clisp.org>
72709
72710         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
72711         decrementing code ANSI C compliant.
72712
72713 2007-03-11  Bruno Haible  <bruno@clisp.org>
72714
72715         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
72716         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
72717
72718 2007-03-11  Bruno Haible  <bruno@clisp.org>
72719
72720         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
72721         <stdbool.h> substitute doesn't pass.
72722
72723 2007-03-11  Bruno Haible  <bruno@clisp.org>
72724
72725         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
72726
72727 2007-03-11  Bruno Haible  <bruno@clisp.org>
72728
72729         * gnulib-tool (func_create_megatestdir): Create also an autobuild
72730         script, for submission to autobuild.josefsson.org.
72731
72732 2007-03-10  Bruno Haible  <bruno@clisp.org>
72733
72734         * modules/canonicalize-lgpl-tests: New file.
72735         * tests/test-canonicalize-lgpl.sh: New file.
72736         * tests/test-canonicalize-lgpl.c: New file.
72737
72738         * modules/c-strcase-tests: New file.
72739         * tests/test-c-strcase.sh: New file.
72740         * tests/test-c-strcasecmp.c: New file.
72741         * tests/test-c-strncasecmp.c: New file.
72742
72743         * modules/atexit-tests: New file.
72744         * tests/test-atexit.sh: New file.
72745         * tests/test-atexit.c: New file.
72746
72747 2007-03-10  Bruno Haible  <bruno@clisp.org>
72748
72749         * tests/test-binary-io.sh: Use temporary filenames that are not so
72750         likely to clash with those of other tests (in a parallel make).
72751         * tests/test-binary-io.c: Likewise.
72752
72753 2007-03-10  Bruno Haible  <bruno@clisp.org>
72754
72755         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
72756         fallback; use #error instead.
72757         Suggested by Simon Josefsson.
72758
72759 2007-03-10  Bruno Haible  <bruno@clisp.org>
72760
72761         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
72762         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
72763         first and the last.
72764
72765 2007-03-10  Bruno Haible  <bruno@clisp.org>
72766
72767         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
72768
72769 2007-03-10  Bruno Haible  <bruno@clisp.org>
72770
72771         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
72772         "make distcheck".
72773         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
72774         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
72775         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
72776
72777 2007-03-10  Bruno Haible  <bruno@clisp.org>
72778
72779         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
72780         variable.
72781         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
72782         variable.
72783
72784 2007-03-09  Eric Blake  <ebb9@byu.net>
72785         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
72786
72787         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
72788         types are not being provided by gnulib.
72789         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
72790         types are supported.
72791
72792 2007-03-10  Bruno Haible  <bruno@clisp.org>
72793
72794         * lib/stdio_.h (__attribute__): New macro.
72795         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
72796         vsprintf): Specify __attribute__ __format__ for GCC.
72797         Suggested by Eric Blake.
72798
72799 2007-03-09  Bruno Haible  <bruno@clisp.org>
72800
72801         * modules/printf-posix-tests: New file.
72802         * tests/test-printf-posix.sh: New file.
72803         * tests/test-printf-posix.c: New file.
72804
72805         * modules/printf-posix: New file.
72806         * lib/printf.c: New file.
72807         * m4/printf-posix-rpl.m4: New file.
72808         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
72809         REPLACE_PRINTF.
72810         * lib/stdio_.h (printf): New declaration.
72811         (format, __format__, ____printf____, ____scanf____, ____strftime____,
72812         ____strfmon____): New macros.
72813         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
72814         REPLACE_PRINTF.
72815
72816 2007-03-09  Bruno Haible  <bruno@clisp.org>
72817
72818         * tests/test-vasnprintf-posix2.sh: New file.
72819         * tests/test-vasnprintf-posix2.c: New file.
72820         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
72821         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
72822         (Makefile.am): Activate test-vasnprintf-posix2.sh.
72823
72824         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
72825         a locale dependent decimal point, rather than always '.'.
72826
72827 2007-03-09  Eric Blake  <ebb9@byu.net>
72828
72829         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
72830         spite of platforms like Tandem/NSK that define it to -1.
72831
72832 2007-03-08  Bruno Haible  <bruno@clisp.org>
72833
72834         * modules/vprintf-posix-tests: New file.
72835         * tests/test-vprintf-posix.sh: New file.
72836         * tests/test-vprintf-posix.c: New file.
72837         * tests/test-printf-posix.h: New file.
72838
72839         * modules/vprintf-posix: New file.
72840         * lib/vprintf.c: New file.
72841         * m4/vprintf-posix.m4: New file.
72842         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
72843         REPLACE_VPRINTF.
72844         * lib/stdio_.h (vprintf): New declaration.
72845         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
72846         REPLACE_VPRINTF.
72847
72848 2007-03-08  Bruno Haible  <bruno@clisp.org>
72849
72850         * modules/fprintf-posix-tests: New file.
72851         * tests/test-fprintf-posix.sh: New file.
72852         * tests/test-fprintf-posix.c: New file.
72853
72854         * modules/fprintf-posix: New file.
72855         * lib/fprintf.c: New file.
72856         * m4/fprintf-posix.m4: New file.
72857         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
72858         REPLACE_FPRINTF.
72859         * lib/stdio_.h (fprintf): New declaration.
72860         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
72861         REPLACE_FPRINTF.
72862
72863 2007-03-08  Bruno Haible  <bruno@clisp.org>
72864
72865         * modules/vfprintf-posix-tests: New file.
72866         * tests/test-vfprintf-posix.sh: New file.
72867         * tests/test-vfprintf-posix.c: New file.
72868         * tests/test-fprintf-posix.h: New file.
72869         * tests/test-fprintf-posix.out: New file.
72870
72871         * modules/vfprintf-posix: New file.
72872         * lib/vfprintf.c: New file.
72873         * m4/vfprintf-posix.m4: New file.
72874         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
72875         REPLACE_VFPRINTF.
72876         * lib/stdio_.h (vfprintf): New declaration.
72877         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
72878         REPLACE_VFPRINTF.
72879
72880 2007-03-08  Bruno Haible  <bruno@clisp.org>
72881
72882         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
72883
72884 2007-03-08  Bruno Haible  <bruno@clisp.org>
72885
72886         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
72887         instead of 'expr' invocations.
72888         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
72889         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
72890         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
72891         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
72892         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
72893         Suggested by Paul Eggert.
72894
72895 2007-03-08  Bruno Haible  <bruno@clisp.org>
72896
72897         * modules/fseterr-tests: New file.
72898         * tests/test-fseterr.c: New file.
72899
72900         * modules/fseterr: New file.
72901         * lib/fseterr.h: New file.
72902         * lib/fseterr.c: New file.
72903
72904 2007-03-08  Bruno Haible  <bruno@clisp.org>
72905
72906         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
72907         * lib/getopt_.h: Likewise.
72908         * lib/mbswidth.h: Likewise.
72909         * lib/setenv.h: Likewise.
72910         * lib/vasnprintf.h: Likewise.
72911         * lib/vasprintf.h: Likewise.
72912         * lib/verror.h: Likewise.
72913         * lib/xsetenv.h: Likewise.
72914         * lib/xvasprintf.h: Likewise.
72915
72916 2007-03-08  Jim Meyering  <jim@meyering.net>
72917
72918         * users.txt: Add parted.
72919
72920         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
72921
72922 2007-03-07  Bruno Haible  <bruno@clisp.org>
72923
72924         * m4/printf.m4: Make the shell script snippets copy&pastable.
72925
72926 2007-03-02  Bruno Haible  <bruno@clisp.org>
72927
72928         * lib/netinet_in_.h: New file.
72929         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
72930         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
72931         * modules/netinet_in (Files): Add lib/netinet_in_.h.
72932         (Depends-on): Add absolute-header.
72933         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
72934         into netinet/in.h.
72935
72936 2007-03-03  Bruno Haible  <bruno@clisp.org>
72937
72938         * lib/sys_select_.h: New file.
72939         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
72940         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
72941         * modules/sys_select (Files): Add lib/sys_select_.h.
72942         (Depends-on): Add absolute-header.
72943         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
72944         into sys/select.h.
72945
72946 2007-03-02  Bruno Haible  <bruno@clisp.org>
72947
72948         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
72949         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
72950         values.
72951         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
72952         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
72953         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
72954         * modules/sys_socket (Depends-on): Add absolute-header.
72955         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
72956         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
72957         (Include): Remove requirement of inclusion of <sys/types.h>.
72958
72959 2007-03-02  Bruno Haible  <bruno@clisp.org>
72960
72961         * lib/byteswap_.h (bswap_32): Fix formula.
72962
72963 2007-03-06  Bruno Haible  <bruno@clisp.org>
72964
72965         * modules/sprintf-posix-tests: New file.
72966         * tests/test-sprintf-posix.c: New file.
72967
72968         * modules/sprintf-posix: New file.
72969         * lib/sprintf.c: New file.
72970         * m4/sprintf-posix.m4: New file.
72971         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
72972         REPLACE_SPRINTF.
72973         * lib/stdio_.h (sprintf): New declaration.
72974         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
72975         REPLACE_SPRINTF.
72976
72977 2007-03-06  Bruno Haible  <bruno@clisp.org>
72978
72979         * modules/vsprintf-posix-tests: New file.
72980         * tests/test-vsprintf-posix.c: New file.
72981         * tests/test-sprintf-posix.h: New file.
72982
72983         * modules/vsprintf-posix: New file.
72984         * lib/vsprintf.c: New file.
72985         * m4/vsprintf-posix.m4: New file.
72986         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
72987         REPLACE_VSPRINTF.
72988         * lib/stdio_.h (vsprintf): New declaration.
72989         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
72990         REPLACE_VSPRINTF.
72991
72992 2007-03-06  Bruno Haible  <bruno@clisp.org>
72993
72994         * modules/vsnprintf (Depend-on): Remove minmax.
72995
72996 2007-03-06  Bruno Haible  <bruno@clisp.org>
72997
72998         * modules/snprintf-posix-tests: New file.
72999         * tests/test-snprintf-posix.c: New file.
73000
73001         * modules/snprintf-posix: New file.
73002         * m4/snprintf-posix.m4: New file.
73003         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
73004         gl_FUNC_SNPRINTF.
73005         (gl_FUNC_SNPRINTF): Invoke it.
73006         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
73007         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
73008         is set.
73009         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
73010
73011 2007-03-06  Bruno Haible  <bruno@clisp.org>
73012
73013         * modules/vsnprintf-posix-tests: New file.
73014         * tests/test-vsnprintf-posix.c: New file.
73015         * tests/test-snprintf-posix.h: New file.
73016
73017         * modules/vsnprintf-posix: New file.
73018         * m4/vsnprintf-posix.m4: New file.
73019         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
73020         gl_FUNC_VSNPRINTF.
73021         (gl_FUNC_VSNPRINTF): Invoke it.
73022         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
73023         * lib/stdio_.h (vsnprintf): Define as a replacement if
73024         REPLACE_VSNPRINTF is set.
73025         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
73026
73027 2007-03-06  Bruno Haible  <bruno@clisp.org>
73028
73029         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
73030         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
73031
73032 2007-03-06  Bruno Haible  <bruno@clisp.org>
73033
73034         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
73035         (asinl): Declare also if HAVE_DECL_ASINL is set.
73036         (atanl): Declare also if HAVE_DECL_ATANL is set.
73037         (ceill): Declare also if HAVE_DECL_CEILL is set.
73038         (cosl): Declare also if HAVE_DECL_COSL is set.
73039         (expl): Declare also if HAVE_DECL_EXPL is set.
73040         (floorl): Declare also if HAVE_DECL_FLOORL is set.
73041         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
73042         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
73043         (logl): Declare also if HAVE_DECL_LOGL is set.
73044         (sinl): Declare also if HAVE_DECL_SINL is set.
73045         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
73046         (tanl): Declare also if HAVE_DECL_TANL is set.
73047         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
73048         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
73049         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
73050         declaration of frexpl, ldexpl.
73051         * modules/printf-frexpl (Depends-on): Add math.
73052         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
73053
73054 2007-03-05  Bruno Haible  <bruno@clisp.org>
73055
73056         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
73057         frexpl and ldexpl are declared.
73058         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
73059
73060 2007-03-05  Bruno Haible  <bruno@clisp.org>
73061
73062         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
73063         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
73064
73065 2007-03-05  Bruno Haible  <bruno@clisp.org>
73066
73067         * lib/stdio_.h: Include <stddef.h>.
73068
73069 2007-03-05  Bruno Haible  <bruno@clisp.org>
73070
73071         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
73072
73073 2007-03-05  Bruno Haible  <bruno@clisp.org>
73074
73075         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
73076         NetBSD 4, from Ralf Wildenhues.
73077
73078 2007-03-04  Bruno Haible  <bruno@clisp.org>
73079
73080         * lib/vasprintf.h: Update #if logic for the case when the functions
73081         exist but are overridden.
73082
73083 2007-03-04  Bruno Haible  <bruno@clisp.org>
73084
73085         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
73086         implementations: glibc-2.4 and MacOS X 10.3.
73087         * tests/test-vasnprintf-posix.c (test_function): Test also the case
73088         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
73089         * tests/test-vasprintf-posix.c (test_function): Likewise.
73090
73091 2007-03-04  Bruno Haible  <bruno@clisp.org>
73092
73093         * modules/vasprintf-posix-tests: New file.
73094         * tests/test-vasprintf-posix.c: New file.
73095
73096         * modules/vasprintf-posix: New file.
73097         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
73098         defined.
73099         * m4/vasprintf-posix.m4: New file.
73100         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
73101         gl_FUNC_VASPRINTF.
73102         (gl_FUNC_VASPRINTF): Invoke it.
73103         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
73104         here.
73105         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
73106
73107 2007-03-04  Bruno Haible  <bruno@clisp.org>
73108
73109         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
73110         REPLACE_GETTIMEOFDAY.
73111         * modules/sys_time (Makefile.am): Likewise.
73112         * m4/sys_time_h.m4: Likewise.
73113         * m4/gettimeofday.m4: Likewise.
73114
73115 2007-03-04  Bruno Haible  <bruno@clisp.org>
73116
73117         * modules/vasnprintf-posix-tests: New file.
73118         * tests/test-vasnprintf-posix.c: New file.
73119
73120         * modules/vasnprintf-posix: New file.
73121         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
73122         printf-frexpl.h.
73123         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
73124         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
73125         REPLACE_VASNPRINTF is defined.
73126         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
73127         gl_FUNC_VASNPRINTF.
73128         (gl_FUNC_VASNPRINTF): Invoke it.
73129         * m4/vasnprintf-posix.m4: New file.
73130         * m4/printf.m4: New file.
73131
73132 2007-03-04  Bruno Haible  <bruno@clisp.org>
73133
73134         Compile progreloc.c only if --enable-relocatable is specified.
73135         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
73136         if --enable-relocatable was specified.
73137         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
73138         lib_SOURCES.
73139
73140 2007-03-04  Jim Meyering  <jim@meyering.net>
73141
73142         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
73143         Use it consistently, rather than enumerating errno constants.
73144
73145 2007-03-04  Bruno Haible  <bruno@clisp.org>
73146
73147         * modules/xvasprintf-tests: New file.
73148         * tests/test-xvasprintf.c: New file.
73149
73150         * modules/vasprintf-tests: New file.
73151         * tests/test-vasprintf.c: New file.
73152
73153         * modules/vasnprintf-tests: New file.
73154         * tests/test-vasnprintf.c: New file.
73155
73156         * modules/vsnprintf-tests: New file.
73157         * tests/test-vsnprintf.c: New file.
73158
73159         * modules/snprintf-tests: New file.
73160         * tests/test-snprintf.c: New file.
73161
73162 2007-03-04  Bruno Haible  <bruno@clisp.org>
73163
73164         Compile relocatable.c only if --enable-relocatable is specified.
73165         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
73166         gl_RELOCATABLE_LIBRARY.
73167         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
73168         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
73169         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
73170         gl_RELOCATABLE_LIBRARY.
73171         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
73172         (Makefile.am): Remove lib_SOURCES.
73173         * modules/relocatable-lib-lgpl (configure.ac): Invoke
73174         gl_RELOCATABLE_LIBRARY.
73175         (Makefile.am): Remove lib_SOURCES.
73176         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
73177         always.
73178         * modules/relocatable-prog-wrapper (configure.ac): Invoke
73179         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
73180
73181 2007-03-04  Bruno Haible  <bruno@clisp.org>
73182
73183         * modules/argmatch-tests: New file.
73184         * tests/test-argmatch.c: New file.
73185
73186         * tests/test-allocsa.c (main): Halve the number of loop runs.
73187
73188         * modules/alloca-opt-tests: New file.
73189         * tests/test-alloca-opt.c: New file.
73190
73191 2007-03-04  Jim Meyering  <jim@meyering.net>
73192
73193         Work around difference between Linux ACLs and Solaris 10 ZFS.
73194         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
73195         for EINVAL.
73196
73197 2007-03-03  Bruno Haible  <bruno@clisp.org>
73198
73199         * modules/relocatable-prog (Depends-on): Add back progreloc's
73200         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
73201
73202 2007-03-03  Bruno Haible  <bruno@clisp.org>
73203
73204         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
73205         * modules/relocatable-lib: New file.
73206
73207 2007-03-03  Bruno Haible  <bruno@clisp.org>
73208
73209         * modules/relocatable-prog: Renamed from modules/relocatable.
73210         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
73211
73212 2007-03-03  Bruno Haible  <bruno@clisp.org>
73213
73214         * modules/relocatable-script (Files): Add doc/relocatable.texi,
73215         m4/relocatable-lib.m4.
73216         (Depends-on): Remove 'relocatable'.
73217         (configure.ac): Add gl_RELOCATABLE_NOP.
73218
73219 2007-03-03  Bruno Haible  <bruno@clisp.org>
73220
73221         * modules/relocatable-prog-wrapper: New file.
73222         * modules/relocatable (Depends-on): Add it. Remove all other
73223         dependencies except progname.
73224         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
73225
73226         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
73227         (gl_FUNC_STRERROR): Nop.
73228         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
73229
73230         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
73231         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
73232
73233         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
73234         (gl_FUNC_READLINK): Update.
73235
73236         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
73237
73238 2007-03-03  Bruno Haible  <bruno@clisp.org>
73239
73240         * lib/xreadlink.c: Include <unistd.h> unconditionally.
73241         * modules/xreadlink (Depends-on): Add unistd.
73242         * modules/xreadlink-with-size (Depends-on): Likewise.
73243
73244 2007-03-03  Bruno Haible  <bruno@clisp.org>
73245
73246         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
73247         extracted from gt_FUNC_SETENV.
73248         (gt_FUNC_SETENV): Remove macro.
73249         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
73250         remove gt_FUNC_SETENV.
73251
73252 2007-03-03  Bruno Haible  <bruno@clisp.org>
73253
73254         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
73255         ENABLE_RELOCATABLE here.
73256         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
73257
73258 2007-03-03  Bruno Haible  <bruno@clisp.org>
73259
73260         * modules/rbtreehash-list-tests (Depends-on): Add progname.
73261         * tests/test-rbtreehash_list.c: Include progname.h.
73262         (main): Call set_program_name.
73263
73264         * modules/rbtree-oset-tests (Depends-on): Add progname.
73265         * tests/test-rbtree_oset.c: Include progname.h.
73266         (main): Call set_program_name.
73267
73268         * modules/rbtree-list-tests (Depends-on): Add progname.
73269         * tests/test-rbtree_list.c: Include progname.h.
73270         (main): Call set_program_name.
73271
73272         * modules/linked-list-tests (Depends-on): Add progname.
73273         * tests/test-linked_list.c: Include progname.h.
73274         (main): Call set_program_name.
73275
73276 2007-03-03  Bruno Haible  <bruno@clisp.org>
73277
73278         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
73279         All uses of __restrict changed to _Restrict_.
73280         * lib/glob_.h (__restrict): Remove macro.
73281
73282 2007-03-02  Bruno Haible  <bruno@clisp.org>
73283
73284         * modules/gettext (configure.ac): Require gettext infrastructure
73285         from version 0.16.1.
73286
73287 2007-03-02  Bruno Haible  <bruno@clisp.org>
73288
73289         * modules/linkedhash-list-tests (Depends-on): Add progname.
73290         * tests/test-linkedhash_list.c: Include progname.h.
73291         (main): Call set_program_name.
73292
73293         * modules/carray-list-tests (Depends-on): Add progname.
73294         * tests/test-carray_list.c: Include progname.h.
73295         (main): Call set_program_name.
73296
73297         * modules/avltreehash-list-tests (Depends-on): Add progname.
73298         * tests/test-avltreehash_list.c: Include progname.h.
73299         (main): Call set_program_name.
73300
73301         * modules/avltree-oset-tests (Depends-on): Add progname.
73302         * tests/test-avltree_oset.c: Include progname.h.
73303         (main): Call set_program_name.
73304
73305         * modules/avltree-list-tests (Depends-on): Add progname.
73306         * tests/test-avltree_list.c: Include progname.h.
73307         (main): Call set_program_name.
73308
73309         * modules/array-oset-tests (Depends-on): Add progname.
73310         * tests/test-array_oset.c: Include progname.h.
73311         (main): Call set_program_name.
73312
73313         * modules/array-list-tests (Depends-on): Add progname.
73314         * tests/test-array_list.c: Include progname.h.
73315         (main): Call set_program_name.
73316
73317         * modules/argp-tests (Depends-on): Add progname.
73318         * tests/test-argp.c: Include argp.h first. Include progname.h.
73319         (main): Call set_program_name.
73320
73321 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
73322
73323         * doc/gnulib-tool.texi (Initial import): Reword description of
73324         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
73325         limited effect even if defined after the first system include.
73326
73327 2007-03-01  Bruno Haible  <bruno@clisp.org>
73328
73329         * build-aux/config.libpath: Update to libtool-1.5.22.
73330         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
73331
73332 2007-03-01  Bruno Haible  <bruno@clisp.org>
73333
73334         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
73335         foo_CFLAGS.
73336         Reported by Ralf Wildenhues.
73337
73338 2007-03-01  Bruno Haible  <bruno@clisp.org>
73339
73340         * build-aux/install-reloc: Remove object files left over by some
73341         compilers.
73342         Reported by Ralf Wildenhues.
73343
73344 2007-03-01  Bruno Haible  <bruno@clisp.org>
73345
73346         * build-aux/install-reloc: Break long lines.
73347
73348 2007-03-01  Bruno Haible  <bruno@clisp.org>
73349
73350         * doc/relocatable.texi: Document that it may not work on OpenBSD.
73351         Reported by Ralf Wildenhues.
73352
73353 2007-03-01  Bruno Haible  <bruno@clisp.org>
73354
73355         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
73356         include ordering constraints.
73357
73358 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73359
73360         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
73361         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
73362         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
73363         as another example.
73364         * lib/time_.h: Fix misspelling.
73365         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73366         Require gl_HEADER_TIME_H_DEFAULTS.
73367         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
73368         * m4/time_r.m4 (gl_TIME_R): Likewise.
73369         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
73370
73371 2007-03-01  Bruno Haible  <bruno@clisp.org>
73372
73373         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
73374         * m4/utimens.m4 (gl_UTIMENS): Likewise.
73375
73376 2007-03-01  Jim Meyering  <jim@meyering.net>
73377
73378         * modules/xreadlink (Maintainer): Add my name.
73379         * modules/xreadlink-with-size (Depends-on): Alphabetize.
73380
73381 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
73382             Bruno Haible  <bruno@clisp.org>
73383
73384         * build-aux/install-reloc: Compile also c-ctype.c.
73385         * build-aux/relocatable.sh.in: New file.
73386         * doc/relocatable.texi: New file.
73387         * doc/relocatable-maint.texi: New file.
73388         * doc/gnulib.texi: Include relocatable-maint.texi.
73389         * lib/progreloc.c: Include unistd.h unconditionally.
73390         * lib/relocwrapper.c: Include unistd.h unconditionally.
73391         Include c-ctype.h.
73392         (add_dotbin): Use c_tolower.
73393         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
73394         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
73395         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
73396         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
73397         to m4/relocatable-lib.m4.
73398         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
73399         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
73400         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
73401         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
73402         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
73403         * modules/relocatable: New file.
73404         * modules/relocatable-lib: New file.
73405         * modules/relocatable-script: New file.
73406
73407 2007-02-28  Bruno Haible  <bruno@clisp.org>
73408
73409         Import --enable-relocatable infrastructure.
73410         * build-aux/config.libpath: New file, from GNU gettext.
73411         * build-aux/install-reloc: New file, from GNU gettext.
73412         * build-aux/reloc-ldflags: New file, from GNU gettext.
73413         * lib/relocatable.h: New file, from GNU gettext.
73414         * lib/relocatable.c: New file, from GNU gettext.
73415         * lib/relocwrapper.c: New file, from GNU gettext.
73416         * m4/relocatable.m4: New file, from GNU gettext.
73417
73418 2007-02-28  Bruno Haible  <bruno@clisp.org>
73419
73420         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
73421
73422         * modules/xreadlink: New file, from GNU gettext with modifications.
73423         * lib/xreadlink.c: New file, from GNU gettext.
73424         * lib/xreadlink.h: Add comments.
73425         (xreadlink): New declaration.
73426
73427         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
73428         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
73429         lib/xreadlink-with-size.c.
73430         (configure.ac): Remove gl_XREADLINK invocation.
73431         (Makefile.am): Augment lib_SOURCES.
73432         * m4/xreadlink.m4: Remove file.
73433         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
73434         (xreadlink_with_size): Renamed from xreadink.
73435         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
73436         * modules/canonicalize (Depends-on): Replace xreadlink with
73437         xreadlink-with-size.
73438         * lib/canonicalize.c (canonicalize_filename_mode): Update.
73439
73440 2007-02-25  Jim Meyering  <jim@meyering.net>
73441
73442         * build-aux/announce-gen: When complaining about excess arguments,
73443         list them.
73444
73445 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
73446
73447         * README: Document signed integer overflow situation more
73448         accurately.
73449
73450 2007-02-25  Bruno Haible  <bruno@clisp.org>
73451
73452         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
73453         'a' or 'A' conversion.
73454
73455 2007-02-25  Bruno Haible  <bruno@clisp.org>
73456
73457         * modules/filename: Renamed from modules/pathname.
73458         (Files): Replace lib/pathname.h with lib/filename.h. Replace
73459         lib/concatpath.c with lib/concat-filename.c.
73460         (Makefile.am): Update.
73461         (Include): Replace pathname.h with filename.h.
73462         * lib/filename.h: Renamed from lib/pathname.h.
73463         (concatenated_filename): Renamed from concatenated_pathname.
73464         * lib/concat-filename.c: Renamed from lib/concatpath.c.
73465         (concatenated_filename): Renamed from concatenated_pathname.
73466         * lib/findprog.c: Include filename.h instead of pathname.h.
73467         (find_in_path): Update.
73468         * lib/javacomp.c: Include filename.h instead of pathname.h.
73469         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
73470         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
73471         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
73472         is_oldgcj_14_13_usable, is_javac_usable): Update.
73473         * lib/javaexec.c: Include filename.h instead of pathname.h.
73474         (execute_java_class): Update.
73475         * modules/findprog: Update.
73476         * modules/javacomp: Update.
73477         * modules/javaexec: Update.
73478         * MODULES.html.sh (File system functions): Add 'filename', remove
73479         'pathname'.
73480
73481 2007-02-25  Bruno Haible  <bruno@clisp.org>
73482
73483         * modules/printf-frexpl-tests: New file.
73484         * tests/test-printf-frexpl.c: New file.
73485
73486         * modules/printf-frexpl: New file.
73487         * lib/printf-frexpl.h: New file.
73488         * lib/printf-frexpl.c: New file.
73489         * m4/printf-frexpl.m4: New file.
73490
73491 2007-02-25  Bruno Haible  <bruno@clisp.org>
73492
73493         * modules/printf-frexp-tests: New file.
73494         * tests/test-printf-frexp.c: New file.
73495
73496         * modules/printf-frexp: New file.
73497         * lib/printf-frexp.h: New file.
73498         * lib/printf-frexp.c: New file.
73499         * m4/printf-frexp.m4: New file.
73500
73501 2007-02-25  Bruno Haible  <bruno@clisp.org>
73502
73503         Assume automake >= 1.10 for the tests.
73504         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
73505         * modules/arctwo-tests: Likewise.
73506         * modules/argp-tests: Likewise.
73507         * modules/avltree-list-tests: Likewise.
73508         * modules/avltree-oset-tests: Likewise.
73509         * modules/avltreehash-list-tests: Likewise.
73510         * modules/carray-list-tests: Likewise.
73511         * modules/crc-tests: Likewise.
73512         * modules/des-tests: Likewise.
73513         * modules/gc-arcfour-tests: Likewise.
73514         * modules/gc-arctwo-tests: Likewise.
73515         * modules/gc-des-tests: Likewise.
73516         * modules/gc-hmac-md5-tests: Likewise.
73517         * modules/gc-hmac-sha1-tests: Likewise.
73518         * modules/gc-md2-tests: Likewise.
73519         * modules/gc-md4-tests: Likewise.
73520         * modules/gc-md5-tests: Likewise.
73521         * modules/gc-pbkdf2-sha1-tests: Likewise.
73522         * modules/gc-rijndael-tests: Likewise.
73523         * modules/gc-sha1-tests: Likewise.
73524         * modules/gc-tests: Likewise.
73525         * modules/getaddrinfo-tests: Likewise.
73526         * modules/hmac-md5-tests: Likewise.
73527         * modules/hmac-sha1-tests: Likewise.
73528         * modules/linked-list-tests: Likewise.
73529         * modules/linkedhash-list-tests: Likewise.
73530         * modules/lock-tests: Likewise.
73531         * modules/md2-tests: Likewise.
73532         * modules/md4-tests: Likewise.
73533         * modules/md5-tests: Likewise.
73534         * modules/rbtree-list-tests: Likewise.
73535         * modules/rbtree-oset-tests: Likewise.
73536         * modules/rbtreehash-list-tests: Likewise.
73537         * modules/read-file-tests: Likewise.
73538         * modules/rijndael-tests: Likewise.
73539         * modules/stdint-tests: Likewise.
73540         * modules/tls-tests: Likewise.
73541
73542 2007-02-24  Bruno Haible  <bruno@clisp.org>
73543
73544         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
73545         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
73546         function; instead check whether isnan with a double argument links.
73547         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
73548         function; instead check whether isnan with a 'long double' argument
73549         links.
73550         Reported by Eric Blake <ebb9@byu.net>.
73551
73552 2007-02-24  Bruno Haible  <bruno@clisp.org>
73553
73554         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
73555         defined.
73556         * lib/isnanl.c: Remove all code. Just include isnan.c.
73557         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
73558
73559 2007-02-25  Jim Meyering  <jim@meyering.net>
73560
73561         Avoid conflicting types for 'unsetenv' on FreeBSD.
73562         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
73563         conflicting with FreeBSD's (5.0 and 6.1) function declaration
73564         in stdlib.h.
73565
73566 2007-02-24  Bruno Haible  <bruno@clisp.org>
73567
73568         * modules/isnanl-nolibm-tests: New file.
73569         * tests/test-isnanl.c: New file.
73570
73571         * modules/isnanl-nolibm: New file.
73572         * lib/isnanl.h: New file.
73573         * lib/isnanl.c: New file.
73574         * m4/isnanl.m4: New file.
73575
73576 2007-02-24  Bruno Haible  <bruno@clisp.org>
73577
73578         * modules/isnan-nolibm-tests: New file.
73579         * tests/test-isnan.c: New file.
73580
73581         * modules/isnan-nolibm: New file.
73582         * lib/isnan.h: New file.
73583         * lib/isnan.c: New file.
73584         * m4/isnan.m4: New file.
73585
73586 2007-02-24  Bruno Haible  <bruno@clisp.org>
73587
73588         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
73589         assume that an exponent fits in 20 bits.
73590
73591 2007-02-24  Jim Meyering  <jim@meyering.net>
73592
73593         * m4/regex.m4: Update the description of the configure-time option,
73594         --without-included-regex, to state accurately what the defaults are,
73595         and perhaps to give people an idea why using this option is risky.
73596
73597 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
73598
73599         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
73600         loops on small arguments.  This attempts to avoid the problem
73601         Bruno Haible reported for AIX 4.3.2 in
73602         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
73603
73604 2007-02-23  Bruno Haible  <bruno@clisp.org>
73605
73606         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
73607         Needed for help2man.
73608
73609 2007-02-23  Karl Berry  <karl@gnu.org>
73610
73611         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
73612         exists, foo.h should be cvs-ignored, not committed.
73613
73614 2007-02-23  Eric Blake  <ebb9@byu.net>
73615
73616         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
73617         * lib/stat-time.h (includes): Likewise.
73618         * lib/utimecmp.c (includes): Likewise.
73619         * lib/utimens.h (includes): Likewise.
73620         * lib/getdate.y (includes): Also include "timespec.h" for use
73621         internal to the module.
73622         * modules/utimens (Depends-on): Revert yesterday's patch.
73623         * modules/nanosleep (Depends-on): Add missing dependency.
73624
73625 2007-02-22  Bruno Haible  <bruno@clisp.org>
73626
73627         * lib/glob.c: Don't include getlogin_r.h.
73628
73629 2007-02-22  Jim Meyering  <jim@meyering.net>
73630
73631         * modules/utimens (Depends-on): Add timespec, required for
73632         utimens.h's inclusion of timespec.h.
73633
73634 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
73635
73636         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
73637         long unreadable paths in GNU/Linux.  Problem reported by Andreas
73638         Schwab in
73639         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
73640         I'll try to think of a better way to fix the Solaris problem.
73641
73642         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
73643         like glibc; on Solaris 10, it fails with errno == EINVAL.
73644         POSIX says the behavior is unspecified if the first argument is NULL,
73645         so play it safe and never pass NULL to the system getcwd.
73646
73647 2007-02-21  Jim Meyering  <jim@meyering.net>
73648
73649         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
73650         of gettimeofday.  It would conflict with the one now always
73651         provided via sys_time_.h.  Reported by Matthew Woehlke, as
73652         an IRIX 6.5 build failure.
73653
73654 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
73655
73656         Minor fixups to port to Solaris 10 with Sun C 5.8.
73657         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
73658         * modules/getcwd (Depends-on): Add dirfd.
73659         * lib/putenv.c (putenv): #undef it.
73660         (rpl_putenv): New decl.
73661         (malloc, free): Include <stdlib.h> rather than prototyping separately.
73662
73663 2007-02-20  Bruno Haible  <bruno@clisp.org>
73664
73665         * modules/stdio-tests: New file.
73666         * tests/test-stdio.c: New file.
73667
73668         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
73669         (Depends-on): Add stdio.
73670         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
73671         (Include): Use <stdio.h> instead of vsnprintf.h.
73672         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
73673         HAVE_DECL_VSNPRINTF.
73674         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
73675
73676         * modules/snprintf (Files): Remove lib/snprintf.h.
73677         (Depends-on): Add stdio.
73678         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
73679         (Include): Use <stdio.h> instead of snprintf.h.
73680         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
73681         HAVE_DECL_SNPRINTF.
73682         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
73683         * lib/getaddrinfo.c: Likewise.
73684
73685         * modules/stdio: New file.
73686         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
73687         * lib/snprintf.h: Remove file.
73688         * lib/vsnprintf.h: Remove file.
73689         * lib/.cppi-disable: Remove snprintf.h.
73690         * m4/stdio_h.m4: New file.
73691         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
73692
73693 2007-02-20  Jim Meyering  <jim@meyering.net>
73694
73695         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
73696         used by e.g., mingw.  From Bruno Haible.
73697
73698 2007-02-19  Bruno Haible  <bruno@clisp.org>
73699
73700         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
73701         warnings.
73702         Reported by Ben Pfaff <blp@cs.stanford.edu>.
73703
73704 2007-02-19  Bruno Haible  <bruno@clisp.org>
73705
73706         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
73707         from mingw users.
73708
73709 2007-02-19  Bruno Haible  <bruno@clisp.org>
73710
73711         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
73712         warnings.
73713         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
73714
73715 2007-02-19  Jim Meyering  <jim@meyering.net>
73716
73717         Don't use FD after a successful "fdopendir (fd)".
73718         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
73719         Reset it by calling dirfd on the just-obtained DIR*.
73720
73721         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
73722         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
73723
73724 2007-02-18  Bruno Haible  <bruno@clisp.org>
73725
73726         * lib/readlink.c: Include <unistd.h>.
73727         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
73728         HAVE_READLINK.
73729         * modules/readlink (Depends-on): Add unistd.
73730         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73731         (Include): Add <unistd.h>.
73732
73733         * lib/getlogin_r.h: Remove file.
73734         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
73735         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
73736         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
73737         HAVE_DECL_GETLOGIN_R.
73738         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
73739         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73740         (Include): Use <unistd.h> instead of getlogin_r.h.
73741
73742         * lib/getcwd.h: Remove file.
73743         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
73744         * lib/xgetcwd.c: Likewise.
73745         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
73746         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
73747         * modules/getcwd (Files): Remove lib/getcwd.h.
73748         (Depends-on): Add unistd.
73749         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73750         (Include): Use <unistd.h> instad of getcwd.h.
73751
73752         * lib/ftruncate.c: Include <unistd.h> first.
73753         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
73754         Set HAVE_FTRUNCATE.
73755         * modules/ftruncate (Depends-on): Add unistd.
73756         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73757
73758         * lib/fchdir.c: Include <unistd.h> first.
73759         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
73760         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
73761         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
73762         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73763         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
73764
73765         * lib/dup2.c: Include <unistd.h> first.
73766         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
73767         HAVE_DUP2.
73768         * modules/dup2 (Depends-on): Add unistd.
73769         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73770
73771         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
73772         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
73773         REPLACE_CHOWN. Don't define chown as a macro here.
73774         * modules/chown (Depends-on): Add unistd.
73775         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73776
73777         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
73778         Add definition for GL_LINK_WARNING.
73779         (chown, dup2): New declarations.
73780         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
73781         link warning.
73782         (ftruncate): New declaration.
73783         (getcwd): New declaration, taken from old getcwd.h.
73784         (getlogin_r): New declaration, taken from old getlogin_r.h.
73785         (readlink): New declaration.
73786         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
73787         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
73788         (gl_PREREQ_UNISTD): Remove macro.
73789         (gl_UNISTD_MODULE_INDICATOR): New macro.
73790         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
73791         many new variables. Don't set UNISTD_H.
73792         * modules/unistd (Description): Change.
73793         (Depends-on): Add link-warning.
73794         (configure.ac): Update.
73795         (Makefile.am): Create unistd.h always. Substitute many new variables
73796         into it.
73797
73798 2007-02-18  Bruno Haible  <bruno@clisp.org>
73799
73800         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
73801         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
73802         HAVE_GETSUBOPT.
73803         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
73804         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
73805         * lib/getsubopt.h: Remove file.
73806         * modules/getsubopt (Files): Remove lib/getsubopt.h.
73807         (Depends-on): Add stdlib.
73808         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73809         (Includes): Use <stdlib.h> instead of getsubopt.h.
73810         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
73811         Set HAVE_GETSUBOPT.
73812         * lib/getsubopt.c: Don't include getsubopt.h.
73813
73814 2007-02-18  Bruno Haible  <bruno@clisp.org>
73815
73816         * modules/fchdir (Depends-on): Add dup2.
73817
73818 2007-02-18  Bruno Haible  <bruno@clisp.org>
73819
73820         * lib/stdlib_.h: Handle glibc's special invocation convention
73821         specially.
73822
73823 2007-02-18  Bruno Haible  <bruno@clisp.org>
73824
73825         * modules/stdlib-tests: New file.
73826         * tests/test-stdlib.c: New file.
73827
73828         * modules/mkstemp (Files): Remove lib/mkstemp.h.
73829         (Depends-on): Add stdlib.
73830         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73831         (Includes): Use <stdlib.h> instead of mkstemp.h.
73832         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73833         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
73834         * lib/mkstemp.c: Don't include mkstemp.h.
73835         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
73836         * lib/stdlib--.h: Don't include mkstemp.h.
73837
73838         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
73839         (Depends-on): Add stdlib.
73840         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73841         (Includes): Use <stdlib.h> instead of mkdtemp.h.
73842         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73843         HAVE_MKDTEMP.
73844         * lib/mkdtemp.c: Don't include mkdtemp.h.
73845         * lib/clean-temp.c: Don't include mkdtemp.h.
73846
73847         * modules/exit (Files): Remove lib/exit.h.
73848         (Depends-on): Add stdlib.
73849         (Makefile.am): Remove lib_SOURCES.
73850         (Include): Use <stdlib.h> instead of exit.h.
73851         * lib/argmatch.c: Don't include exit.h.
73852         * lib/execute.c: Likewise.
73853         * lib/pagealign_alloc.c: Likewise.
73854         * lib/pipe.c: Likewise.
73855         * lib/wait-process.c: Likewise.
73856         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
73857         * lib/exitfail.c: Likewise.
73858         * lib/savewd.c: Likewise.
73859         * lib/xsetenv.c: Likewise.
73860
73861         * modules/stdlib: New file.
73862         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
73863         and extra comments about mkstemp().
73864         * lib/exit.h: Remove file.
73865         * lib/mkdtemp.h: Remove file.
73866         * lib/mkstemp.h: Remove file.
73867         * m4/stdlib_h.m4: New file.
73868         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
73869
73870 2007-02-18  Bruno Haible  <bruno@clisp.org>
73871
73872         * modules/math-tests: New file.
73873         * tests/test-math.c: New file.
73874
73875         * modules/math: New file.
73876         * modules/mathl (Files): Remove lib/mathl.h.
73877         (Depends-on): Add math.
73878         (Makefile.am): Don't mention mathl.h.
73879         (Include): Use <math.h> instead of mathl.h.
73880         * lib/math_.h: New file.
73881         * lib/mathl.h: Remove file.
73882         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
73883         mathl.h.
73884         * lib/asinl.c: Likewise.
73885         * lib/atanl.c: Likewise.
73886         * lib/ceill.c: Likewise.
73887         * lib/cosl.c: Likewise.
73888         * lib/expl.c: Likewise.
73889         * lib/floorl.c: Likewise.
73890         * lib/frexpl.c: Likewise.
73891         * lib/ldexpl.c: Likewise.
73892         * lib/logl.c: Likewise.
73893         * lib/sincosl.c: Likewise.
73894         * lib/sinl.c: Likewise.
73895         * lib/sqrtl.c: Likewise.
73896         * lib/tanl.c: Likewise.
73897         * lib/trigl.c: Likewise.
73898         * m4/math_h.m4: New file.
73899         * MODULES.html.sh (Mathematics): Add math.
73900
73901 2007-02-17  Bruno Haible  <bruno@clisp.org>
73902
73903         * modules/wctype-tests: New file.
73904         * tests/test-wctype.c: New file.
73905
73906         * modules/wchar-tests: New file.
73907         * tests/test-wchar.c: New file.
73908
73909         * modules/unistd-tests: New file.
73910         * tests/test-unistd.c: New file.
73911
73912         * modules/time-tests: New file.
73913         * tests/test-time.c: New file.
73914
73915         * modules/sysexits-tests: New file.
73916         * tests/test-sysexits.c: New file.
73917
73918         * modules/sys_time-tests: New file.
73919         * tests/test-sys_time.c: New file.
73920
73921         * modules/sys_stat-tests: New file.
73922         * tests/test-sys_stat.c: New file.
73923
73924         * modules/sys_socket-tests: New file.
73925         * tests/test-sys_socket.c: New file.
73926
73927         * modules/sys_select-tests: New file.
73928         * tests/test-sys_select.c: New file.
73929
73930         * modules/string-tests: New file.
73931         * tests/test-string.c: New file.
73932
73933         * modules/stdbool-tests: New file.
73934         * tests/test-stdbool.c: New file.
73935
73936         * modules/netinet_in-tests: New file.
73937         * tests/test-netinet_in.c: New file.
73938
73939         * modules/inttypes-tests: New file.
73940         * tests/test-inttypes.c: New file.
73941
73942         * modules/fcntl-tests: New file.
73943         * tests/test-fcntl.c: New file.
73944
73945         * modules/byteswap-tests: New file.
73946         * tests/test-byteswap.c: New file.
73947
73948         * modules/arpa_inet-tests: New file.
73949         * tests/test-arpa_inet.c: New file.
73950
73951 2007-02-17  Bruno Haible  <bruno@clisp.org>
73952
73953         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
73954         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
73955         if the corresponding module is not enabled. Emit link warnings if
73956         the function is used nevertheless.
73957         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
73958         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
73959         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
73960         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
73961         * modules/inttypes (Depends-on): Add link-warning.
73962         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73963         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
73964         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
73965         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
73966         * modules/imaxdiv (configure.ac): Likewise.
73967         * modules/strtoimax (configure.ac): Likewise.
73968         * modules/strtoumax (configure.ac): Likewise.
73969
73970 2007-02-17  Bruno Haible  <bruno@clisp.org>
73971
73972         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
73973         gl_STRING_MODULE_INDICATOR_DEFAULTS.
73974         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
73975         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
73976
73977 2007-02-17  Bruno Haible  <bruno@clisp.org>
73978
73979         * modules/link-warning: New file.
73980         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
73981         * lib/string_.h (GL_LINK_WARNING): Remove definition.
73982         * modules/string (Depends-on): Add link-warning.
73983         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73984         string.h.
73985         * MODULES.html.sh (Support for building libraries and executables): Add
73986         link-warning.
73987
73988 2007-02-17  Bruno Haible  <bruno@clisp.org>
73989
73990         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
73991         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
73992         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
73993         long lines.
73994
73995 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
73996             Bruno Haible  <bruno@clisp.org>
73997
73998         * modules/tmpfile: New file.
73999         * lib/tmpfile.c: New file.
74000         * m4/tmpfile.m4: New file.
74001         * MODULES.html.sh (func_all_modules): New section "Input/output".
74002
74003 2007-02-15  Bruno Haible  <bruno@clisp.org>
74004
74005         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
74006         (supports_delete_on_close): New function.
74007         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
74008
74009 2007-02-14  Bruno Haible  <bruno@clisp.org>
74010
74011         * modules/mbspcasecmp-tests: New file.
74012         * tests/test-mbspcasecmp.sh: New file.
74013         * tests/test-mbspcasecmp.c: New file.
74014
74015         New module mbspcasecmp.
74016         * modules/mbspcasecmp: New file.
74017         * lib/mbspcasecmp.c: New file.
74018         * lib/string_.h (strncasecmp): Change warning message.
74019         (mbspcasecmp): New declaration.
74020         * m4/mbspcasecmp.m4: New file.
74021         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74022         GNULIB_MBSPCASECMP.
74023         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
74024         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
74025
74026 2007-02-14  Bruno Haible  <bruno@clisp.org>
74027
74028         * modules/mbsncasecmp-tests: New file.
74029         * tests/test-mbsncasecmp.sh: New file.
74030         * tests/test-mbsncasecmp.c: New file.
74031
74032         New module mbsncasecmp.
74033         * modules/mbsncasecmp: New file.
74034         * lib/mbsncasecmp.c: New file.
74035         * lib/string_.h (mbsncasecmp): New declaration.
74036         * m4/mbsncasecmp.m4: New file.
74037         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74038         GNULIB_MBSNCASECMP.
74039         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
74040         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
74041
74042 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
74043
74044         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
74045         Verify that it doesn't overlap with our flags.
74046         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
74047         do not have the desired effect in multibyte locales; instead, use
74048         mbscasecmp.
74049         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
74050         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
74051         we don't require GNU fnmatch ourselves (if our users require it, they
74052         should do so explicitly).
74053
74054         Fix regex code so it doesn't rely on strcasecmp.
74055         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
74056         Otherwise, include gnulib's langinfo.h.
74057         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
74058         undesirable behavior in non-C locales.  Instead, rely on localecharset.
74059         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
74060         * modules/regex (FILES): Remove m4/codeset.m4.
74061         (Depends-on): Add localcharset.  Remove strcase.
74062
74063 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74064
74065         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
74066         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
74067
74068 2007-02-13  Bruno Haible  <bruno@clisp.org>
74069
74070         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
74071         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74072
74073 2007-02-12  Bruno Haible  <bruno@clisp.org>
74074
74075         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
74076         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
74077         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
74078         time warning rather than a link error.
74079
74080 2007-02-12  Bruno Haible  <bruno@clisp.org>
74081
74082         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
74083         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
74084         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74085
74086 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
74087
74088         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
74089         args, not 2.
74090
74091 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
74092
74093         New module 'time', so that apps can include <time.h> as per
74094         POSIX and GNU instead of separate include files like time_r.h
74095         and timegm.h.  This implementation tries out a simpler approach
74096         for replacing decls in standard include files (as compared to
74097         the string module), somewhat as an experiment.
74098
74099         * config/srclist.txt: Comment out mktime.c for now.
74100         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
74101         since it doesn't apply any more.  Use generic wording instead.
74102         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
74103         'time'.
74104         * lib/time_.h, m4/time_h.m4, modules/time: New files.
74105         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
74106         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
74107         Don't include <sys/types.h>; no longer needed since we assume C89.
74108         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
74109         * lib/strftime.c: Likewise.
74110         * lib/time_r.c: Likewise.
74111         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
74112         * lib/nanosleep.c: Include <time.h> first, to check interface.
74113         * lib/strptime.c: Likewise.
74114         * lib/time_r.c: Likewise.
74115         * lib/timegm.c: Likewise.
74116         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
74117         needed.
74118         * lib/timegm.c: Don't include timegm.h; no longer needed.
74119         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
74120         time.h now handles any problems in that area.
74121         (struct timespec, nanosleep): Remove; time.h now arranges for these.
74122         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
74123         that time.h defines struct timespec.
74124         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
74125         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
74126         handles that.
74127         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
74128         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
74129         needed.  Set REPLACE_LOCALTIME.
74130         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
74131         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
74132         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
74133         nanosleep; time_h.m4 now does that.  Don't require
74134         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
74135         module handles this now.
74136         * modules/getdate (Depends-on): Remove timespec.  Add time.
74137         * modules/nanosleep (Depends-on): Likewise.
74138         * modules/stat-time (Depends-on): Likewise.
74139         * modules/nanosleep (Include): Include time.h, not timespec.h.
74140         * modules/strptime (Files): Remove lib/strptime.h.
74141         (Depends-on): Add extensions, time.
74142         (Include): Include time.h, not strptime.h.
74143         * modules/time_r (Files): Remove lib/time_r.h.
74144         (Depends-on): Add time.
74145         (Include): Include time.h, not time_r.h.
74146         * modules/timegm: Likewise.
74147         * modules/timespec (Description): Now does timespec-related decls
74148         of our own, instead of struct timespec itself.
74149         (Depends-on): Add time; remove extensions.
74150         (Maintainer): Add self.
74151         * modules/utimecmp (Depends-on): Add time; remove timespec.
74152         * modules/utimens (Depends-on): Likewise.
74153         * modules/xnanosleep (Depends-on): Likewise.
74154
74155 2007-02-11  Bruno Haible  <bruno@clisp.org>
74156
74157         * lib/c-strstr.c: Include allocsa.h.
74158         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
74159         * lib/c-strcasestr.c: Include allocsa.h.
74160         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
74161         * lib/strcasestr.c: Include allocsa.h.
74162         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
74163         * lib/mbsstr.c: Include allocsa.h.
74164         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
74165         allocsa/freesa instead of malloc/free.
74166         * lib/mbscasestr.c: Include allocsa.h.
74167         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
74168         allocsa/freesa instead of malloc/free.
74169         * modules/c-strstr (Depends-on): Add allocsa.
74170         * modules/c-strcasestr (Depends-on): Likewise.
74171         * modules/strcasestr (Depends-on): Likewise.
74172         * modules/mbsstr (Depends-on): Likewise.
74173         * modules/mbscasestr (Depends-on): Likewise.
74174
74175 2007-02-11  Bruno Haible  <bruno@clisp.org>
74176
74177         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
74178
74179         * modules/mbsspn-tests: New file.
74180         * tests/test-mbsspn.sh: New file.
74181         * tests/test-mbsspn.c: New file.
74182
74183 2007-02-11  Bruno Haible  <bruno@clisp.org>
74184
74185         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
74186
74187         * modules/mbspbrk-tests: New file.
74188         * tests/test-mbspbrk.sh: New file.
74189         * tests/test-mbspbrk.c: New file.
74190
74191 2007-02-11  Bruno Haible  <bruno@clisp.org>
74192
74193         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
74194         unneeded cast.
74195
74196         * modules/mbscspn-tests: New file.
74197         * tests/test-mbscspn.sh: New file.
74198         * tests/test-mbscspn.c: New file.
74199
74200 2007-02-11  Bruno Haible  <bruno@clisp.org>
74201
74202         * modules/mbscasecmp-tests: New file.
74203         * tests/test-mbscasecmp.sh: New file.
74204         * tests/test-mbscasecmp.c: New file.
74205
74206 2007-02-11  Bruno Haible  <bruno@clisp.org>
74207
74208         Ensure O(n) worst-case complexity of mbscasestr.
74209         * lib/mbscasestr.c: Include stdbool.h.
74210         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
74211         functions.
74212         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
74213         the bookkeeping indicates that it's worth it.
74214         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
74215
74216         * modules/mbscasestr-tests: New file.
74217         * tests/test-mbscasestr1.c: New file.
74218         * tests/test-mbscasestr2.sh: New file.
74219         * tests/test-mbscasestr2.c: New file.
74220         * tests/test-mbscasestr3.sh: New file.
74221         * tests/test-mbscasestr3.c: New file.
74222         * tests/test-mbscasestr4.sh: New file.
74223         * tests/test-mbscasestr4.c: New file.
74224         * m4/locale-tr.m4: New file.
74225
74226 2007-02-11  Bruno Haible  <bruno@clisp.org>
74227
74228         Ensure O(n) worst-case complexity of mbsstr.
74229         * lib/mbsstr.c: Include stdbool.h.
74230         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
74231         functions.
74232         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
74233         bookkeeping indicates that it's worth it.
74234         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
74235
74236         * modules/mbsstr-tests: New file.
74237         * tests/test-mbsstr1.c: New file.
74238         * tests/test-mbsstr2.sh: New file.
74239         * tests/test-mbsstr2.c: New file.
74240         * tests/test-mbsstr3.sh: New file.
74241         * tests/test-mbsstr3.c: New file.
74242         * m4/locale-fr.m4: New file.
74243
74244 2007-02-11  Bruno Haible  <bruno@clisp.org>
74245
74246         * lib/mbsrchr.c (mbsrchr): Fix bug.
74247
74248         * modules/mbsrchr-tests: New file.
74249         * tests/test-mbsrchr.sh: New file.
74250         * tests/test-mbsrchr.c: New file.
74251
74252 2007-02-11  Bruno Haible  <bruno@clisp.org>
74253
74254         * lib/mbschr.c (mbschr): Fix bug.
74255
74256         * modules/mbschr-tests: New file.
74257         * tests/test-mbschr.sh: New file.
74258         * tests/test-mbschr.c: New file.
74259         * m4/locale-zh.m4: New file.
74260
74261 2007-02-11  Bruno Haible  <bruno@clisp.org>
74262
74263         Support for copying multibyte string iterators.
74264         * lib/mbiter.h: Include <string.h>.
74265         (mbiter_multi_copy): New function.
74266         (mbi_copy): New macro.
74267         * lib/mbuiter.h: Include <string.h>.
74268         (mbuiter_multi_copy): New function.
74269         (mbui_copy): New macro.
74270
74271 2007-02-11  Bruno Haible  <bruno@clisp.org>
74272
74273         New module mbslen.
74274         * modules/mbslen: New file.
74275         * lib/mbslen.c: New file.
74276         * lib/string_.h (mbslen): New declaration.
74277         * m4/mbslen.m4: New file.
74278         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74279         GNULIB_MBSLEN.
74280         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
74281         * MODULES.html.sh (Internationalization functions): Add mbslen.
74282
74283 2007-02-11  Bruno Haible  <bruno@clisp.org>
74284
74285         Ensure O(n) worst-case complexity of strcasestr substitute.
74286         * lib/strcasestr.c: Include stdbool.h.
74287         (knuth_morris_pratt): New function.
74288         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
74289         bookkeeping indicates that it's worth it.
74290         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
74291
74292         * modules/strcasestr-tests: New file.
74293         * tests/test-strcasestr.c: New file.
74294
74295 2007-02-11  Bruno Haible  <bruno@clisp.org>
74296
74297         Ensure O(n) worst-case complexity of c_strcasestr.
74298         * lib/c-strcasestr.c: Include stdbool.h, string.h.
74299         (knuth_morris_pratt): New function.
74300         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
74301         the bookkeeping indicates that it's worth it.
74302         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
74303
74304         * modules/c-strcasestr-tests: New file.
74305         * tests/test-c-strcasestr.c: New file.
74306
74307 2007-02-11  Bruno Haible  <bruno@clisp.org>
74308
74309         Ensure O(n) worst-case complexity of c_strstr.
74310         * lib/c-strstr.c: Include stdbool.h, string.h.
74311         (knuth_morris_pratt): New function.
74312         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
74313         bookkeeping indicates that it's worth it.
74314         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
74315
74316         * lib/c-strstr.c: Complete rewrite for maintainability.
74317
74318         * modules/c-strstr-tests: New file.
74319         * tests/test-c-strstr.c: New file.
74320
74321 2007-02-11  Bruno Haible  <bruno@clisp.org>
74322
74323         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
74324         5.2.1 and earlier, whereby \055 was treated just like the range
74325         delimiter '-'.
74326         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
74327
74328 2007-02-08  Bruno Haible  <bruno@clisp.org>
74329
74330         * modules/regex (Depends-on): Add stdbool.
74331         Reported by Dalibor Topic <robilad@kaffe.org>.
74332
74333 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
74334
74335         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
74336         Prefer returning from main to exiting from it.
74337         Remove unnecessary parens after sizeof.
74338
74339 2007-02-05  Bruno Haible  <bruno@clisp.org>
74340
74341         New module mbssep.
74342         * modules/mbssep: New file.
74343         * lib/mbssep.c: New file.
74344         * lib/string_.h (strsep): Add a conditional link warning.
74345         (mbssep): New declaration.
74346         * m4/mbssep.m4: New file.
74347         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74348         GNULIB_MBSSEP.
74349         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
74350         * MODULES.html.sh (Internationalization functions): Add mbssep.
74351
74352 2007-02-05  Bruno Haible  <bruno@clisp.org>
74353
74354         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
74355         Optimize search in case of 1 delimiter.
74356
74357 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
74358
74359         * lib/acl.h: Include sys/types.h before sys/acl.h.
74360
74361 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
74362
74363         Merge upstream fix for glibc bugzilla #3957:
74364
74365         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
74366
74367         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
74368         bit for RE_HAT_LISTS_NOT_NEWLINE.
74369         (build_charclass_op): Remove bogus comment.
74370
74371 2007-02-05  Simon Josefsson  <simon@josefsson.org>
74372
74373         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
74374
74375 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
74376
74377         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
74378         * lib/memmem.c [!defined _LIBC]: Include config.h.
74379
74380 2007-02-04  Bruno Haible  <bruno@clisp.org>
74381
74382         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
74383         warning message.
74384
74385 2007-02-04  Bruno Haible  <bruno@clisp.org>
74386
74387         New module mbstok_r.
74388         * modules/mbstok_r: New file.
74389         * lib/mbstok_r.c: New file.
74390         * lib/string_.h (strtok_r): Change argument names to match the
74391         comments. Add a conditional link warning.
74392         (mbstok_r): New declaration.
74393         * m4/mbstok_r.m4: New file.
74394         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74395         GNULIB_MBSTOK_R.
74396         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
74397         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
74398
74399 2007-02-04  Bruno Haible  <bruno@clisp.org>
74400
74401         New module mbsspn.
74402         * modules/mbsspn: New file.
74403         * lib/mbsspn.c: New file.
74404         * lib/string_.h (strspn): Add a conditional link warning.
74405         (mbsspn): New declaration.
74406         * m4/mbsspn.m4: New file.
74407         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74408         GNULIB_MBSSPN.
74409         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
74410         * MODULES.html.sh (Internationalization functions): Add mbsspn.
74411
74412 2007-02-04  Bruno Haible  <bruno@clisp.org>
74413
74414         New module mbspbrk.
74415         * modules/mbspbrk: New file.
74416         * lib/mbspbrk.c: New file.
74417         * lib/string_.h (strpbrk): Add a conditional link warning.
74418         (mbspbrk): New declaration.
74419         * m4/mbspbrk.m4: New file.
74420         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74421         GNULIB_MBSPBRK.
74422         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
74423         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
74424
74425 2007-02-04  Bruno Haible  <bruno@clisp.org>
74426
74427         New module mbscspn.
74428         * modules/mbscspn: New file.
74429         * lib/mbscspn.c: New file.
74430         * lib/string_.h (strcspn): Add a conditional link warning.
74431         (mbscspn): New declaration.
74432         * m4/mbscspn.m4: New file.
74433         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74434         GNULIB_MBSCSPN.
74435         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
74436         * MODULES.html.sh (Internationalization functions): Add mbscspn.
74437
74438 2007-02-04  Bruno Haible  <bruno@clisp.org>
74439
74440         New module mbscasestr, reduced goal of strcasestr.
74441         * modules/mbscasestr: New file.
74442         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
74443         (mbscasestr): Renamed from strcasestr.
74444         * lib/strcasestr.c: Don't include mbuiter.h.
74445         (strcasestr): Remove support for multibyte locales.
74446         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
74447         Change the conditional link warning.
74448         (mbscasestr): New declaration.
74449         * m4/mbscasestr.m4: New file.
74450         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
74451         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
74452         REPLACE_STRCASESTR.
74453         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
74454         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
74455         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
74456         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
74457         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
74458         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
74459         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
74460         (Depends-on): Remove mbuiter.
74461         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
74462
74463 2007-02-04  Bruno Haible  <bruno@clisp.org>
74464
74465         Simplify handling of strncasecmp.
74466         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
74467         the conditional link warning.
74468         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
74469         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
74470         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
74471         * modules/strcase (configure.ac): Don't invoke
74472         gl_STRING_MODULE_INDICATOR.
74473         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
74474
74475 2007-02-04  Bruno Haible  <bruno@clisp.org>
74476
74477         New module mbscasecmp, reduced goal of strcasecmp.
74478         * modules/mbscasecmp: New file.
74479         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
74480         (mbscasecmp): Renamed from strcasecmp.
74481         * lib/strcasecmp.c: Don't include mbuiter.h.
74482         (strcasecmp): Remove support for multibyte locales.
74483         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
74484         Change the conditional link warning.
74485         (mbscasecmp): New declaration.
74486         * m4/mbscasecmp.m4: New file.
74487         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
74488         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
74489         REPLACE_STRCASECMP.
74490         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
74491         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74492         GNULIB_MBSCASECMP.
74493         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
74494         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
74495         * modules/strcase (Files): Remove m4/mbrtowc.m4.
74496         (Depends-on): Remove mbuiter.
74497         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
74498
74499 2007-02-04  Bruno Haible  <bruno@clisp.org>
74500
74501         New module mbsstr. Remove module strstr.
74502         * modules/mbsstr: New file.
74503         * modules/strstr: Remove file.
74504         * lib/mbsstr.c: Renamed from lib/strstr.c.
74505         (mbsstr): Renamed from strstr.
74506         * lib/string_.h (strstr): Remove declaration. Change the conditional
74507         link warning.
74508         (mbsstr): New declaration.
74509         * m4/mbsstr.m4: New file.
74510         * m4/strstr.m4: Remove file.
74511         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
74512         REPLACE_STRSTR.
74513         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
74514         Don't initialize GNULIB_STRSTR.
74515         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
74516         substitute GNULIB_STRSTR and REPLACE_STRSTR.
74517         * MODULES.html.sh (Internationalization functions): Add mbsstr.
74518         (Support for systems lacking ANSI C 89): Remove strstr.
74519
74520 2007-02-04  Bruno Haible  <bruno@clisp.org>
74521
74522         New module mbsrchr.
74523         * modules/mbsrchr: New file.
74524         * lib/mbsrchr.c: New file.
74525         * lib/string_.h (strrchr): Add a conditional link warning.
74526         (mbsrchr): New declaration.
74527         * m4/mbsrchr.m4: New file.
74528         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74529         GNULIB_MBSRCHR.
74530         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
74531         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
74532
74533 2007-02-04  Bruno Haible  <bruno@clisp.org>
74534
74535         New module mbschr.
74536         * modules/mbschr: New file.
74537         * lib/mbschr.c: New file.
74538         * lib/string_.h (strchr): Add a conditional link warning.
74539         (mbschr): New declaration.
74540         * m4/mbschr.m4: New file.
74541         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74542         GNULIB_MBSCHR.
74543         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
74544         * MODULES.html.sh (Internationalization functions): Add mbschr.
74545
74546 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
74547
74548         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
74549
74550         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
74551
74552 2007-02-04  Bruno Haible  <bruno@clisp.org>
74553
74554         New module description section 'configure.ac-early'.
74555         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
74556         (func_get_autoconf_early_snippet): New function.
74557         (func_import, func_create_testdir): Use it. Remove special cases for
74558         modules 'extensions' and 'lock'.
74559         * modules/extensions (configure.ac-early): Require
74560         gl_USE_SYSTEM_EXTENSIONS.
74561         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
74562
74563 2007-02-04  Bruno Haible  <bruno@clisp.org>
74564
74565         Make use of gcj-4.3's -fsource and -ftarget option.
74566         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
74567         and if so try the options -fsource and -ftarget.
74568         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
74569         source_version, ftarget_option, target_version arguments.
74570         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
74571         (is_envjavac_oldgcj_14_14_usable): Renamed from
74572         is_envjavac_gcj_14_14_usable.
74573         (is_envjavac_oldgcj_14_13_usable): Renamed from
74574         is_envjavac_gcj_14_13_usable.
74575         (is_gcj_present): Update.
74576         (is_gcj_43, is_gcj43_usable): New functions.
74577         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
74578         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
74579         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
74580         try the options -fsource and -ftarget.
74581
74582 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
74583
74584         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
74585         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
74586         larger value.
74587
74588 2007-02-03  Jim Meyering  <jim@meyering.net>
74589
74590         Give tools a better chance to allocate space for very large buffers.
74591         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
74592
74593         Make pwd and readlink work also when run with an unreadable parent dir
74594         on systems with openat support.
74595         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
74596         provided getcwd function, even when we have openat support.
74597         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
74598
74599 2007-02-02  Bruno Haible  <bruno@clisp.org>
74600
74601         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
74602         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
74603         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
74604         portability problems if one of these functions is only used on specific
74605         platforms.
74606         Reported by Paul Eggert.
74607
74608 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
74609
74610         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
74611         is causing more trouble than it's curing.
74612         * lib/regex_internal.h (__mempcpy): Remove.
74613         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
74614         (and make the code a tad smaller to boot).
74615         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
74616
74617 2007-02-02  Jim Meyering  <jim@meyering.net>
74618
74619         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
74620         section, not in the Makefile.am: one.
74621
74622 2007-02-02  Eric Blake  <ebb9@byu.net>
74623
74624         * lib/strchrnul.c: Always include config.h first.
74625
74626         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
74627         gnulib strstr is not necessary here.
74628
74629 2007-02-02  Simon Josefsson  <simon@josefsson.org>
74630
74631         * m4/socklen.m4: Fix typo.
74632
74633 2007-02-02  Eric Blake  <ebb9@byu.net>
74634
74635         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
74636         * modules/netinet_in (Makefile.am): Likewise.
74637
74638 2007-02-01  Bruno Haible  <bruno@clisp.org>
74639
74640         * lib/string_.h (GL_LINK_WARNING): New macro.
74641         (strcasecmp, strstr, strcasestr): If provided by the system,
74642         conditionally define as a macro that leads to a warning instead of to
74643         an error.
74644         (strncasecmp): Conditionally define as a macro that leads to a warning.
74645
74646 2007-02-01  Karl Berry  <karl@gnu.org>
74647
74648         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
74649
74650 2007-02-01  Bruno Haible  <bruno@clisp.org>
74651
74652         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
74653         renamings.
74654
74655 2007-02-01  Eric Blake  <ebb9@byu.net>
74656
74657         * modules/regex (Depends-on): Revert dependence on mempcpy.
74658         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
74659         module's definition of mempcpy.
74660         Reported by Paul Eggert.
74661
74662 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
74663
74664         * lib/string_.h: If the gnulib module XYZ is not present, undefine
74665         the symbol XYZ before redefining it.  This fixes a problem with
74666         programs that don't use XYZ, when compiled on systems that define
74667         XYZ to something else.
74668
74669 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
74670
74671         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
74672         occurs when "mkdir -m foo" creates a setgid directory that is (1)
74673         writeable to group or other and (2) is intended to have a special
74674         mode bit that is set or cleared.  In such a case, the directory
74675         should be neither group- nor other-writeable until the special
74676         mode bits are right.
74677
74678 2007-01-31  Eric Blake  <ebb9@byu.net>
74679
74680         * modules/mountlist (Depends-on): Add strstr.
74681
74682         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
74683         bug.
74684         * modules/string (Makefile.am): Remove redundant replacement.
74685         * modules/regex (Depends-on): Add mempcpy.
74686
74687 2007-01-31  Bruno Haible  <bruno@clisp.org>
74688
74689         New module description field 'Link'.
74690         * gnulib-tool (func_usage): Document --extract-link-directive.
74691         (sed_extract_prog): Recognize 'Link' directive.
74692         (func_get_link_directive): New function.
74693         (func_import): Show summary of link directives.
74694         Handle --extract-link-directive option.
74695         * modules/acl (Link): New section.
74696         * modules/clock-time (Link): New section.
74697         * modules/euidaccess (Link): New section.
74698         * modules/gettext (Link): New section.
74699         * modules/iconv (Link): New section.
74700         * modules/lock (Link): New section.
74701         * modules/nanosleep (Link): New section.
74702         * modules/readline (Link): New section.
74703
74704 2007-01-27  Bruno Haible  <bruno@clisp.org>
74705
74706         Enforce the use of gnulib modules for unportable <string.h> functions.
74707         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
74708         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
74709         (gl_HEADER_STRING_H_BODY): Require it.
74710         * lib/string_.h: If the gnulib module XYZ is not present, redefine
74711         the symbol XYZ to one that gives a link error.
74712         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
74713         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
74714         * modules/mempcpy (configure.ac): Likewise.
74715         * modules/memrchr (configure.ac): Likewise.
74716         * modules/stpcpy (configure.ac): Likewise.
74717         * modules/stpncpy (configure.ac): Likewise.
74718         * modules/strcase (configure.ac): Likewise.
74719         * modules/strcasestr (configure.ac): Likewise.
74720         * modules/strchrnul (configure.ac): Likewise.
74721         * modules/strdup (configure.ac): Likewise.
74722         * modules/strndup (configure.ac): Likewise.
74723         * modules/strnlen (configure.ac): Likewise.
74724         * modules/strpbrk (configure.ac): Likewise.
74725         * modules/strsep (configure.ac): Likewise.
74726         * modules/strstr (configure.ac): Likewise.
74727         * modules/strtok_r (configure.ac): Likewise.
74728
74729 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
74730
74731         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
74732
74733 2007-01-30  Jim Meyering  <jim@meyering.net>
74734
74735         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
74736
74737 2007-01-29  Bruno Haible  <bruno@clisp.org>
74738
74739         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
74740         * lib/execute.c: Likewise.
74741         * lib/pipe.c: Likewise.
74742         * lib/printf-args.h: Likewise.
74743         * lib/printf-args.c: Likewise.
74744         * lib/printf-parse.c: Likewise.
74745         * lib/vasnprintf.c: Likewise.
74746
74747 2007-01-29  Eric Blake  <ebb9@byu.net>
74748
74749         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
74750         declaration.
74751
74752 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
74753
74754         * lib/strptime.h (strptime): Use 'restrict' for args where
74755         POSIX requires this.
74756         * lib/strptime.c (strptime): Likewise.
74757         Change license notice from LGPL to GPL, since gnulib-tool will
74758         change this as needed.
74759         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
74760         defined.
74761         Include "strptime.h" first, to check interface.
74762         Do not #undef _LIBC and _NL_CURRENT.
74763         Do not include <stdlib.h>; no longer needed.
74764         Include "time_r.h" and declare ptime_locale_status
74765         only if _LIBC is not defined.
74766         (__P): Remove unused macro.
74767         (match_string): Bring back glibc version, but use it only if _LIBC
74768         is defined.
74769         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
74770         Remove unnecessary assertion and abort() call.
74771         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
74772         * m4/strptime.m4: Fix serial number comment.
74773         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
74774         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
74775         (Depends-on): Add time_r.
74776
74777 2007-01-29  Bruno Haible  <bruno@clisp.org>
74778
74779         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74780         strptime.
74781         * modules/strptime (Depends-on): Add stdbool.
74782         * lib/strptime.h: Include <time.h> always. Add comments.
74783
74784 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74785
74786         * modules/strptime: New file.
74787         * lib/strptime.h: New file.
74788         * lib/strptime.c: New file.
74789         * m4/strptime.m4: New file.
74790
74791 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
74792
74793         * MODULES.html.sh: New module mpsort.
74794         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
74795
74796         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
74797         a circularity problem with HP-UX ia64 reported by Bob Proulx in
74798         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
74799         All uses changed.
74800         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
74801         All uses changed.
74802         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
74803         to _Restrict_.
74804         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
74805         the parameter matches the prototype.
74806
74807 2007-01-28  Jim Meyering  <jim@meyering.net>
74808
74809         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
74810         sys/time.h here, reverting that part of the previous patch:
74811         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
74812
74813 2007-01-28  Bruno Haible  <bruno@clisp.org>
74814
74815         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
74816         value of $(SYS_TIME_H).
74817         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
74818         remove it conditionally, too. [added by Jim Meyering]
74819         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
74820         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74821         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
74822         GETTIMEOFDAY_REPLACEMENT to 1.
74823
74824 2007-01-28  Bruno Haible  <bruno@clisp.org>
74825
74826         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
74827         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
74828         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
74829         Set UNISTD_H instead of UNISTD_H2.
74830         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
74831
74832 2007-01-28  Bruno Haible  <bruno@clisp.org>
74833
74834         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
74835         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
74836
74837 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74838
74839         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
74840         (func_create_testdir): Ensure C locale for `grep' and `tr'
74841         character ranges.
74842         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
74843         ACLOCAL_AMFLAGS parsing state machine.
74844
74845 2007-01-27  Bruno Haible  <bruno@clisp.org>
74846
74847         * modules/unistr/base: Update.
74848
74849 2007-01-27  Bruno Haible  <bruno@clisp.org>
74850
74851         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
74852         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
74853         * modules/unistr/u32-mbtouc-unsafe: Renamed from
74854         modules/unistr/u32-mbtouc.
74855         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
74856         * lib/unistr.h: Update.
74857         * lib/linebreak.c: Update.
74858         * modules/unistr/u32-mbtouc: Renamed from
74859         modules/unistr/u32-mbtouc-safe.
74860         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
74861         * lib/unistr.h: Update.
74862         * lib/unistr/u32-to-u8.c: Update.
74863         * lib/unistr/u32-to-u16.c: Update.
74864
74865 2007-01-27  Bruno Haible  <bruno@clisp.org>
74866
74867         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
74868         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
74869         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
74870         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
74871         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
74872         * modules/unistr/u16-mbtouc-unsafe: Renamed from
74873         modules/unistr/u16-mbtouc.
74874         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
74875         * lib/unistr.h: Update.
74876         * lib/linebreak.c: Update.
74877         * modules/linebreak: Update.
74878         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
74879         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
74880         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
74881         * modules/unistr/u16-mbtouc: Renamed from
74882         modules/unistr/u16-mbtouc-safe.
74883         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
74884         * lib/unistr.h: Update.
74885         * lib/unistr/u16-to-u8.c: Update.
74886         * modules/unistr/u16-to-u8: Update.
74887         * lib/unistr/u16-to-u32.c: Update.
74888         * modules/unistr/u16-to-u32: Update.
74889
74890 2007-01-27  Bruno Haible  <bruno@clisp.org>
74891
74892         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
74893         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
74894         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
74895         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
74896         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
74897         * modules/unistr/u8-mbtouc-unsafe: Renamed from
74898         modules/unistr/u8-mbtouc.
74899         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
74900         * lib/unistr.h: Update.
74901         * lib/striconveh.c: Update.
74902         * modules/striconveh: Update.
74903         * lib/linebreak.c: Update.
74904         * modules/linebreak: Update.
74905         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
74906         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
74907         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
74908         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
74909         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
74910         * lib/unistr.h: Update.
74911         * lib/striconveh.c: Update.
74912         * modules/striconveh: Update.
74913         * lib/unistr/u8-to-u16.c: Update.
74914         * modules/unistr/u8-to-u16: Update.
74915         * lib/unistr/u8-to-u32.c: Update.
74916         * modules/unistr/u8-to-u32: Update.
74917
74918 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74919
74920         Sync from Libtool.
74921         * lib/argz.c: Do not include strings.h nor memory.h, include
74922         string.h unconditionally.  Patch by Simon Josefsson.
74923
74924 2007-01-27  Bruno Haible  <bruno@clisp.org>
74925
74926         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
74927         from gl_HEADER_STRING_H_BODY.
74928         (gl_HEADER_STRING_H_BODY): Require it.
74929         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
74930         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
74931         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
74932         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
74933         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
74934         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
74935         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
74936         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
74937         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
74938         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
74939         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
74940         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
74941         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
74942         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
74943         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74944
74945 2007-01-27  Bruno Haible  <bruno@clisp.org>
74946
74947         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
74948         check_PROGRAMS into noinst_PROGRAMS.
74949         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
74950         check_PROGRAMS in this case.
74951         (func_import): Set for_test to false.
74952         (func_create_testdir): Set for_test to true.
74953
74954 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74955             Bruno Haible  <bruno@clisp.org>
74956
74957         * modules/strcasestr (Files): Remove lib/strcasestr.h.
74958         (Depends-on): Add string.
74959         (Includes): Use <string.h> instead of strcasestr.h.
74960         * modules/string (Makefile.am): Also substitute the value of
74961         REPLACE_STRCASESTR.
74962         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
74963         assume strcasestr is declared in <string.h> not <strings.h>. Also
74964         set REPLACE_STRCASESTR.
74965         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
74966         REPLACE_STRCASESTR.
74967         * lib/strcasestr.h: Remove file.
74968         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
74969         * lib/string_.h (strcasestr): New declaration.
74970
74971 2007-01-27  Bruno Haible  <bruno@clisp.org>
74972
74973         * lib/string_.h: Use 'extern'.
74974
74975 2007-01-27  Jim Meyering  <jim@meyering.net>
74976
74977         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
74978         of set-but-not-used local, "q".
74979
74980         * lib/mempcpy.c: Include <config.h> before <string.h>.
74981         This fixes a compilation error on HP-UX, due to the system's
74982         "restrict"-using mempcpy prototype.
74983
74984 2007-01-26  Bruno Haible  <bruno@clisp.org>
74985
74986         Small optimization.
74987         * lib/javacomp.c: Include c-strstr.h.
74988          (is_envjavac_gcj): Use c_strstr instead of strstr.
74989         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
74990
74991 2007-01-26  Bruno Haible  <bruno@clisp.org>
74992
74993         * MODULES.html.sh (Unicode string functions): Add the new modules.
74994
74995         * modules/uniconv/u32-strconv-to-locale: New file.
74996         * lib/uniconv/u32-strconv-to-locale.c: New file.
74997
74998         * modules/uniconv/u16-strconv-to-locale: New file.
74999         * lib/uniconv/u16-strconv-to-locale.c: New file.
75000
75001         * modules/uniconv/u8-strconv-to-locale: New file.
75002         * lib/uniconv/u8-strconv-to-locale.c: New file.
75003
75004         * modules/uniconv/u32-strconv-from-locale: New file.
75005         * lib/uniconv/u32-strconv-from-locale.c: New file.
75006
75007         * modules/uniconv/u16-strconv-from-locale: New file.
75008         * lib/uniconv/u16-strconv-from-locale.c: New file.
75009
75010         * modules/uniconv/u8-strconv-from-locale: New file.
75011         * lib/uniconv/u8-strconv-from-locale.c: New file.
75012
75013         * modules/uniconv/u32-strconv-to-enc: New file.
75014         * lib/uniconv/u32-strconv-to-enc.c: New file.
75015         * modules/uniconv/u32-strconv-to-enc-tests: New file.
75016         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
75017
75018         * modules/uniconv/u16-strconv-to-enc: New file.
75019         * lib/uniconv/u16-strconv-to-enc.c: New file.
75020         * lib/uniconv/u-strconv-to-enc.h: New file.
75021         * modules/uniconv/u16-strconv-to-enc-tests: New file.
75022         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
75023
75024         * modules/uniconv/u8-strconv-to-enc: New file.
75025         * lib/uniconv/u8-strconv-to-enc.c: New file.
75026         * modules/uniconv/u8-strconv-to-enc-tests: New file.
75027         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
75028
75029         * modules/uniconv/u32-strconv-from-enc: New file.
75030         * lib/uniconv/u32-strconv-from-enc.c: New file.
75031         * modules/uniconv/u32-strconv-from-enc-tests: New file.
75032         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
75033
75034         * modules/uniconv/u16-strconv-from-enc: New file.
75035         * lib/uniconv/u16-strconv-from-enc.c: New file.
75036         * modules/uniconv/u16-strconv-from-enc-tests: New file.
75037         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
75038
75039         * modules/uniconv/u8-strconv-from-enc: New file.
75040         * lib/uniconv/u8-strconv-from-enc.c: New file.
75041         * lib/uniconv/u-strconv-from-enc.h: New file.
75042         * modules/uniconv/u8-strconv-from-enc-tests: New file.
75043         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
75044
75045         * modules/uniconv/u32-conv-from-enc: New file.
75046         * lib/uniconv/u32-conv-from-enc.c: New file.
75047         * modules/uniconv/u32-conv-from-enc-tests: New file.
75048         * tests/uniconv/test-u32-conv-from-enc.c: New file.
75049
75050         * modules/uniconv/u16-conv-from-enc: New file.
75051         * lib/uniconv/u16-conv-from-enc.c: New file.
75052         * lib/uniconv/u-conv-from-enc.h: New file.
75053         * modules/uniconv/u16-conv-from-enc-tests: New file.
75054         * tests/uniconv/test-u16-conv-from-enc.c: New file.
75055
75056         * modules/uniconv/u8-conv-from-enc: New file.
75057         * lib/uniconv/u8-conv-from-enc.c: New file.
75058         * modules/uniconv/u8-conv-from-enc-tests: New file.
75059         * tests/uniconv/test-u8-conv-from-enc.c: New file.
75060
75061         * modules/uniconv/base: New file.
75062         * lib/uniconv.h: New file.
75063
75064 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
75065
75066         * doc/gnulib-tool.texi (Initial import): Update to match current
75067         behavior with strdup module.
75068         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
75069         * lib/memmem.h: Remove; all uses removed.  This is now done
75070         by <string.h>.
75071         * lib/mempcpy.h: Likewise.
75072         * lib/memrchr.h: Likewise.
75073         * lib/stpcpy.h: Likewise.
75074         * lib/stpncpy.h: Likewise.
75075         * lib/strcase.h: Likewise.
75076         * lib/strchrnul.h: Likewise.
75077         * lib/strdup.h: Likewise.
75078         * lib/strndup.h: Likewise.
75079         * lib/strnlen.h: Likewise.
75080         * lib/strpbrk.h: Likewise.
75081         * lib/strsep.h: Likewise.
75082         * lib/strstr.h: Likewise.
75083         * lib/strtok_r.h: Likewise.
75084         * lib/string_.h: New file.
75085         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
75086         Rely on <string.h> instead.
75087         * lib/canon-host.c: Likewise.
75088         * lib/chdir-long.c: Likewise.
75089         * lib/concatpath.c: Likewise.
75090         * lib/exclude.c: Likewise.
75091         * lib/fchdir.c: Likewise.
75092         * lib/getaddrinfo.c: Likewise.
75093         * lib/getcwd.c: Likewise.
75094         * lib/getsubopt.c: Likewise.
75095         * lib/glob.c: Likewise.
75096         * lib/hard-locale.c: Likewise.
75097         * lib/iconvme.c: Likewise.
75098         * lib/javacomp.c: Likewise.
75099         * lib/mempcpy.c: Likewise.
75100         * lib/memrchr.c: Likewise.
75101         * lib/regex_internal.h: Likewise.
75102         * lib/stpncpy.c: Likewise.
75103         * lib/strcasecmp.c: Likewise.
75104         * lib/strchrnul.c: Likewise.
75105         * lib/strdup.c: Likewise.
75106         * lib/striconv.c: Likewise.
75107         * lib/striconveh.c: Likewise.
75108         * lib/striconveha.c: Likewise.
75109         * lib/strncasecmp.c: Likewise.
75110         * lib/strndup.c: Likewise.
75111         * lib/strnlen.c: Likewise.
75112         * lib/strsep.c: Likewise.
75113         * lib/strstr.c: Likewise.
75114         * lib/strtok_r.c: Likewise.
75115         * lib/userspec.c: Likewise.
75116         * lib/w32spawn.h: Likewise.
75117         * lib/xstrndup.c: Likewise.
75118         * lib/mountlist.c (strstr): Remove decl.
75119         * m4/string_h.m4: New file.
75120         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
75121         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
75122         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
75123         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
75124         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
75125         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
75126         Set REPLACE_STRCASECMP if necessary.
75127         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
75128         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
75129         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
75130         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
75131         HAVE_DECL_STRDUP if necessary.
75132         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
75133         since gl_FUNC_STRNDUP does that now.
75134         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
75135         Check for decl here...
75136         (gl_PREREQ_STRNLEN): ... not here.
75137         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
75138         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
75139         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
75140         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
75141         necessary.
75142         * modules/string: New file.
75143         * modules/memmem (Files): Remove special-purpose include file.
75144         (Depends-on): Add string.
75145         (Include): Include <string.h>, not the removed file.
75146         * modules/mempcpy: Likewise.
75147         * modules/memrchr: Likewise.
75148         * modules/stpcpy: Likewise.
75149         * modules/stpncpy: Likewise.
75150         * modules/strcase: Likewise.
75151         * modules/strchrnul: Likewise.
75152         * modules/strdup: Likewise.
75153         * modules/strndup: Likewise.
75154         * modules/strnlen: Likewise.
75155         * modules/strpbrk: Likewise.
75156         * modules/strsep: Likewise.
75157         * modules/strstr: Likewise.
75158         * modules/strtok_r: Likewise.
75159         * tests/test-dirname.c: Don't include "strdup.h", since
75160         <string.h> now suffices.
75161         * tests/test-memmem.c: Don't include "memmem.h", since
75162         <string.h> now suffices.
75163
75164 2007-01-25  Bruno Haible  <bruno@clisp.org>
75165
75166         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
75167         *resultp is 0.
75168
75169         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
75170         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
75171         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
75172         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
75173
75174         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
75175         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
75176         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
75177         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
75178         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
75179         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
75180
75181 2007-01-24  Bruno Haible  <bruno@clisp.org>
75182
75183         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
75184         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
75185         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
75186         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
75187         gl_FUNC_FTS_CORE.
75188         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
75189         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
75190         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
75191         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
75192         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
75193         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
75194         gl_FUNC_FCHOWNAT.
75195         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
75196         gl_FUNC_STRFTIME.
75197         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
75198         Reported by Ralf Wildenhues.
75199
75200 2007-01-24  Bruno Haible  <bruno@clisp.org>
75201
75202         Drop AC_REQUIRE calls that are redundant with the module dependencies.
75203         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
75204         gl_GETADDRINFO.
75205         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
75206         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
75207         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
75208
75209 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
75210
75211         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
75212         Don't use 'exit'; just return from 'main'.
75213         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
75214
75215         * lib/fnmatch_.h: Readjust white space and comments to match
75216         glibc, to avoid spurious diffs.
75217
75218 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75219
75220         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
75221         2004-12-01 change by Jakub Jelinek, since this code won't compile
75222         if !LIBC.  Problem reported by Bob Proulx.
75223
75224 2007-01-23  Bruno Haible  <bruno@clisp.org>
75225
75226         * lib/striconveh.c: Include c-strcaseeq.h.
75227         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
75228         * modules/striconveh (Depends-on): Add c-strcaseeq.
75229
75230 2007-01-23  Bruno Haible  <bruno@clisp.org>
75231
75232         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
75233
75234         * modules/c-strcaseeq: New file.
75235         * lib/c-strcaseeq.h: New file.
75236
75237         * modules/streq: New file.
75238         * lib/streq.h: New file.
75239
75240 2007-01-23  Bruno Haible  <bruno@clisp.org>
75241
75242         * modules/striconveha-tests: New file.
75243         * tests/test-striconveha.c: New file.
75244
75245         * lib/striconveha.h: Include <stdbool.h>.
75246         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
75247         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
75248         (mem_iconveha_notranslit): Renamed from mem_iconveha.
75249         (mem_iconveha): New function.
75250         (str_iconveha_notranslit): Renamed from str_iconveha.
75251         (str_iconveha): New function.
75252         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
75253         c-strcase.
75254
75255 2007-01-23  Bruno Haible  <bruno@clisp.org>
75256
75257         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
75258         encodings without forgiving before trying any encoding with handler.
75259         (str_iconveha): Try all encodings without forgiving before trying any
75260         encoding with handler.
75261
75262 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75263
75264         Import the following changes from libc.
75265
75266         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
75267
75268         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
75269
75270         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
75271
75272         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
75273         normal_bracket label.
75274
75275         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
75276
75277         [BZ #361]
75278         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
75279         to normal_bracket after fetching the next character.
75280
75281 2007-01-22  Bruno Haible  <bruno@clisp.org>
75282
75283         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
75284         argument.
75285         * lib/striconveh.c (iconv_carefully_1): New function.
75286         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
75287         argument.
75288         (str_cd_iconveh): Update.
75289         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
75290         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
75291         * tests/test-striconveh.c (MAGIC): New macro.
75292         (new_offsets): New function.
75293         (main): Test call with and without offsets.
75294
75295 2007-01-22  Bruno Haible  <bruno@clisp.org>
75296
75297         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
75298         * modules/sys_select (Makefile.am): Likewise.
75299         * modules/sys_socket (Makefile.am): Likewise.
75300         * modules/sys_time (Makefile.am): Likewise.
75301
75302 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
75303
75304         * modules/gettimeofday (License): Change from GPL to LGPL, since
75305         gettimeofday is a library function.
75306
75307 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75308
75309         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
75310
75311 2007-01-21  Bruno Haible  <bruno@clisp.org>
75312
75313         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
75314
75315 2007-01-21  Bruno Haible  <bruno@clisp.org>
75316
75317         * modules/striconveha: New file.
75318         * lib/striconveha.h: New file.
75319         * lib/striconveha.c: New file.
75320         * MODULES.html.sh (Internationalization functions): Add striconveha.
75321         * lib/striconv.c (str_iconv): Optimize the case of an empty input
75322         string.
75323         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
75324
75325 2007-01-21  Bruno Haible  <bruno@clisp.org>
75326
75327         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
75328         * lib/striconveh.c (str_iconveh): Likewise.
75329
75330 2007-01-21  Bruno Haible  <bruno@clisp.org>
75331
75332         * lib/striconveh.h (mem_iconveh): New declaration.
75333         * lib/striconveh.c (mem_iconveh): New function.
75334         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
75335
75336 2007-01-21  Bruno Haible  <bruno@clisp.org>
75337
75338         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
75339
75340         * lib/striconveh.h (mem_cd_iconveh): Change specification.
75341         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
75342         original result buffer.
75343         (str_cd_iconveh): Update.
75344         * tests/test-striconveh.c (main): Update.
75345
75346         * lib/striconv.h (mem_cd_iconv): Change specification.
75347         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
75348         result buffer.
75349         (str_cd_iconv): Update.
75350         * tests/test-striconv.c (main): Update.
75351
75352 2007-01-21  Bruno Haible  <bruno@clisp.org>
75353
75354         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
75355
75356 2007-01-20  Jim Meyering  <jim@meyering.net>
75357
75358         * lib/userspec.c (parse_with_separator): If a user or group string
75359         starts with "+", skip the corresponding name-to-ID look-up, since
75360         such a look-up must fail: user and group names may not include "+".
75361
75362 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
75363
75364         * lib/poll.c: Include sys/time.h and time.h unconditionally,
75365         since we now assume the sys_time module.
75366         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
75367         check for sys/time.h; no longer needed.
75368         * modules/poll (Depends-on): Depend on sys_time.
75369
75370 2007-01-18  Bruno Haible  <bruno@clisp.org>
75371
75372         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
75373         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
75374
75375         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
75376         gettimeofday.
75377
75378         * tests/test-gettimeofday.c: Include <time.h>.
75379         (dummy): Remove variable.
75380
75381         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
75382         gl_HEADER_SYS_TIME_H.
75383         (gl_HEADER_SYS_TIME_H): New macro.
75384
75385         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
75386         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75387         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
75388         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
75389         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75390         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
75391         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
75392         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75393         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
75394         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
75395         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75396
75397         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
75398         last change; it caused a compilation error when cross-compiling to
75399         Cygwin.
75400
75401 2007-01-18  Jim Meyering  <jim@meyering.net>
75402
75403         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
75404         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
75405         than the race-prone "test -d sys || mkdir sys".
75406         (configure.ac): Use AC_PROG_MKDIR_P.
75407         * modules/sys_select: Likewise.
75408         * modules/sys_socket: Likewise.
75409         * modules/sys_time: Likewise.
75410
75411 2007-01-18  Eric Blake  <ebb9@byu.net>
75412
75413         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
75414         replace gettimeofday.
75415         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
75416         name, to avoid infinite recursion.
75417
75418 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
75419
75420         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
75421         module sys_time.
75422         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
75423         assume timespec.h defines struct timeval.
75424         * lib/settime.c: Likewise.
75425         * lib/utimens.c: Likewise.
75426         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
75427         since we now assume the gettimeofday module.
75428         * lib/tempname.c (__gen_tempname): Likewise.
75429         * lib/gettimeofday.h: Remove.
75430         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
75431         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
75432         Include <time.h>, for 'time()'.
75433         (localtime_buffer_addr): Also use this workaround if
75434         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
75435         to simplify the uses.  All uses changed.
75436         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
75437         that #undef is inside {}, and 'const' follows type name consistently.
75438         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
75439         (gettimeofday): Do not use the maximum possible value for
75440         tv->tv_usec, since that might break usages other than ls.c.
75441         Instead, we'll leave ls.c alone.  This undoes today's patch
75442         by Bruno.  Add a compile-time warning for 1s-clock resolution;
75443         we've never observed the problem but might as well keep the
75444         canary.
75445         * lib/nanosleep.c: Include timespec.h first, for interface check.
75446         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
75447         now assume the sys_time module.
75448         * lib/tempname.c: Likewise.
75449         * lib/timespec.h: Likewise.
75450         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
75451         needed.
75452         * lib/strftime.c: Likewise.
75453         * lib/timespec.h: Likewise.
75454         * lib/posixtm.c: Include posixtm.h first, for interface check.
75455         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
75456         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
75457         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
75458         * lib/sys_time_.h: New file.
75459         * lib/timespec.h (struct timespec): Use long int, not long.
75460         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
75461         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
75462         Remove obsolescent call to AC_HEADER_TIME.
75463         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
75464         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75465         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
75466         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
75467         Likewise.
75468         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
75469         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
75470         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
75471         into the sys_time module.  Check for gettimeofday just once.
75472         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
75473         for gettimeofday signature to just check the signature.  Merely
75474         compile it, since linking doesn't test signature.  Improve test for
75475         whether gettimeofday.o is actually needed.
75476         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
75477         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
75478         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
75479         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75480         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
75481         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
75482         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
75483         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
75484         than worrying about sys/time.h.
75485         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
75486         Don't bother worrying about TIME_WITH_SYS_TIME.
75487         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
75488         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
75489         * m4/sys_time_h.m4: New file.
75490         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
75491         Don't include sys/time.h.  Return from main rather than exiting.
75492         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
75493         all uses changed.
75494         * modules/gethrxtime (Depends-on): Add sys_time.
75495         * modules/gettime (Depends-on): Likewise.
75496         * modules/gettimeofday (Depends-on): Likewise.
75497         * modules/nanosleep (Depends-on): Likewise.
75498         * modules/settime (Depends-on): Likewise.
75499         * modules/tempname (Depends-on): Likewise.
75500         * modules/utimens (Depends-on): Likewise.
75501         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
75502         (Include): Change back to <sys/time.h>.
75503         (Maintainer): Add self.
75504         * modules/sys_time: New file.
75505         * modules/tempname (Depends-on): Add gettimeofday.
75506         * tests/test-gettimeofday.c: Include <sys/time.h>
75507         rather than gettimeofday.h.
75508
75509 2007-01-17  Bruno Haible  <bruno@clisp.org>
75510
75511         * gnulib-tool (func_get_license): Revert last patch. Instead, let
75512         the license default to GPL.
75513         (func_create_testdir): Don't complain if a module is LGPL and its
75514         tests module depends on GPLed modules.
75515
75516 2007-01-17  Bruno Haible  <bruno@clisp.org>
75517
75518         * lib/gettimeofday.c (gettimeofday): Add code for the case
75519         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
75520         maximum possible value for tv->tv_usec, rather than the minimum one.
75521
75522 2005-10-08  Martin Lambers  <marlam@marlam.de>
75523 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
75524 2007-01-16  Bruno Haible  <bruno@clisp.org>
75525
75526         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
75527         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
75528         gl_FUNC_GETTIMEOFDAY.
75529         (Include): Add gettimeofday.h.
75530         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
75531         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
75532         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
75533         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
75534         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
75535         * lib/gettimeofday.h: New file.
75536         * lib/gettimeofday.c: Include <sys/timeb.h>.
75537         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
75538         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75539         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
75540         fall back on time().
75541
75542         * tests/test-gettimeofday.c: New file.
75543         * modules/gettimeofday-tests: New file.
75544
75545 2007-01-16  Eric Blake  <ebb9@byu.net>
75546
75547         * modules/fnmatch (Depends-on): Depend on wchar.
75548         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
75549         * m4/fnmatch.m4: Likewise.
75550         * modules/mbchar (Makefile.am): Assume <wchar.h>.
75551         * m4/mbchar.m4: Likewise.
75552         * modules/mbswidth (Depends-on): Depend on wchar.
75553         * lib/mbswidth.c: Assume <wchar.h>.
75554         * m4/mbswidth.m4: Likewise.
75555         * modules/quotearg (Depends-on): Depend on wchar.
75556         * lib/quotearg.c: Assume <wchar.h>.
75557         * m4/quotearg.m4: Likewise.
75558         * modules/regex (Depends-on): Depend on wchar.
75559         * lib/regex_internal.h: Assume <wchar.h>.
75560         * m4/regex.m4: Likewise.
75561         * modules/stdint (Depends-on): Depend on wchar.
75562         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
75563         * m4/stdint.m4: Likewise.
75564         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
75565         * modules/strftime (Depends-on): Depend on wchar.
75566         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
75567         * modules/strtol (Depends-on): Depend on wchar.
75568         * lib/strtol.c: Assume <wchar.h>.
75569         * modules/wcwidth (Depends-on): Depend on wchar.
75570         * lib/wcwidth.h: Assume <wchar.h>.
75571         * m4/wcwidth.m4: Likewise.
75572
75573 2007-01-16  Bruno Haible  <bruno@clisp.org>
75574
75575         * modules/csharpexec-script: New, created from...
75576         * modules/csharpexec: ... this.
75577
75578 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
75579
75580         * modules/javaexec-script: New, created from...
75581         * modules/javaexec: ... this.
75582
75583 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75584
75585         * modules/poll (Dependencies): Add sys_select.
75586
75587 2007-01-15  Jim Meyering  <jim@meyering.net>
75588
75589         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
75590         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
75591         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
75592         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
75593
75594 2007-01-15  Bruno Haible  <bruno@clisp.org>
75595
75596         * modules/striconveh: New file.
75597         * lib/striconveh.h: New file.
75598         * lib/striconveh.c: New file.
75599         * MODULES.html.sh (Internationalization functions): Add striconveh.
75600
75601         * modules/striconveh-tests: New file.
75602         * tests/test-striconveh.c: New file.
75603
75604 2007-01-15  Bruno Haible  <bruno@clisp.org>
75605
75606         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
75607         not from GNU libiconv or GNU libc.
75608
75609 2007-01-15  Bruno Haible  <bruno@clisp.org>
75610
75611         * doc/gnulib-intro.texi (Copyright): Explain the different license
75612         terms for module descriptions, autoconf macros, tests, documentation.
75613
75614 2007-01-14  Bruno Haible  <bruno@clisp.org>
75615
75616         * modules/striconv-tests: New file.
75617         * tests/test-striconv.c: New file.
75618
75619 2007-01-14  Bruno Haible  <bruno@clisp.org>
75620
75621         * modules/iconv-tests: New file.
75622         * tests/test-iconv.c: New file.
75623
75624 2007-01-14  Bruno Haible  <bruno@clisp.org>
75625
75626         * gnulib-tool (func_get_license): For test modules, use the license of
75627         the main module.
75628
75629 2007-01-14  Bruno Haible  <bruno@clisp.org>
75630
75631         * modules/iconv (Include): Clarify that <iconv.h> can only be included
75632         if iconv is found to exist.
75633
75634 2007-01-14  Bruno Haible  <bruno@clisp.org>
75635
75636         * modules/c-ctype-tests: New file.
75637         * tests/test-c-ctype.c: New file.
75638
75639 2007-01-14  Bruno Haible  <bruno@clisp.org>
75640
75641         * modules/binary-io-tests: New file.
75642         * tests/test-binary-io.sh: New file.
75643         * tests/test-binary-io.c: New file.
75644
75645 2007-01-14  Bruno Haible  <bruno@clisp.org>
75646
75647         * modules/array-oset-tests: New file.
75648         * tests/test-array_oset.c: New file.
75649
75650 2007-01-14  Bruno Haible  <bruno@clisp.org>
75651
75652         * modules/array-list-tests: New file.
75653         * tests/test-array_list.c: New file.
75654
75655 2007-01-14  Bruno Haible  <bruno@clisp.org>
75656
75657         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
75658         and make.
75659         Reported by Simon Josefsson in
75660         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
75661
75662 2007-01-14  Bruno Haible  <bruno@clisp.org>
75663
75664         * modules/allocsa-tests: New file.
75665         * tests/test-allocsa.c: New file.
75666
75667 2007-01-14  Bruno Haible  <bruno@clisp.org>
75668
75669         * modules/fchdir (Depends-on): Add absolute-header.
75670         * modules/unistd (Depends-on): Likewise.
75671
75672 2006-12-30  Bruno Haible  <bruno@clisp.org>
75673
75674         * modules/fchdir: New file.
75675         * modules/unistd (Files): Add lib/unistd_.h.
75676         (Makefile.am): Generate unistd.h from unistd_.h.
75677         * lib/fchdir.c: New file.
75678         * lib/dirent_.h: New file.
75679         * lib/unistd_.h: New file.
75680         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
75681         * m4/fchdir.m4: New file.
75682         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
75683         (gl_HEADER_UNISTD): Invoke it.
75684         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
75685         function.
75686         * lib/backupfile.c (opendir, closedir): Undefine.
75687         * lib/chown.c (open, close): Undefine.
75688         * lib/clean-temp.c (open, close): Undefine.
75689         * lib/copy-file.c (open, close): Undefine.
75690         * lib/execute.c (open, close): Undefine.
75691         * lib/fsusage.c (open, close): Undefine.
75692         * lib/gc-gnulib.c (open, close): Undefine.
75693         * lib/getcwd.c (opendir, closedir): Undefine.
75694         * lib/glob.c (opendir, closedir): Undefine.
75695         * lib/javacomp.c (open, close): Undefine.
75696         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
75697         * lib/openat-proc.c (open, close): Undefine.
75698         * lib/pagealign_alloc.c (open, close): Undefine.
75699         * lib/pipe.c (open, close): Undefine.
75700         * lib/progreloc.c (open, close): Undefine.
75701         * lib/savedir.c (opendir, closedir): Undefine.
75702         * lib/utime.c (open, close): Undefine.
75703         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
75704
75705 2007-01-10  Bruno Haible  <bruno@clisp.org>
75706
75707         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
75708
75709 2007-01-12  Eric Blake  <ebb9@byu.net>
75710
75711         Provide a robust <wchar.h>.  Further simplifications are now
75712         possible in other modules, but not included here.
75713         * modules/wchar: New module.
75714         * m4/wchar.m4: New file.
75715         * lib/wchar_.h: Likewise.
75716         * modules/mbchar (Depends-on): Depend on wchar, as the first use
75717         of the new module.
75718         * MODULES.html.sh (Extended multibyte and wide character utilities):
75719         New section.
75720
75721 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
75722
75723         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
75724         to a reasonable default for memory allocation.
75725         (xreadlink): Don't allocate a huge buffer, to work around a buggy
75726         file system that reports garbage st_size values for symlinks.
75727         Problem reported by Liyang Hu.
75728
75729 2007-01-11  Simon Josefsson  <simon@josefsson.org>
75730
75731         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
75732         Emacs .#* auto-save files).
75733
75734 2007-01-11  Bruno Haible  <bruno@clisp.org>
75735
75736         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
75737         directory.
75738
75739 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75740
75741         Use @...@ consistently in lib/wctype_.h.
75742         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
75743         on it being set to 1 or 0.
75744         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
75745         go back to AC_SUBSTing it.
75746         * modules/wctype (Makefile.am): Undo previous change.
75747
75748 2007-01-10  Eric Blake  <ebb9@byu.net>
75749
75750         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
75751         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
75752         * modules/wctype (Makefile.am): Likewise.
75753         Reported by Chris McGuire.
75754
75755 2007-01-10  Jim Meyering  <jim@meyering.net>
75756
75757         fts.c: a small readability/maintainability improvement
75758         * lib/fts.c (fts_read): Make this code slightly more readable and
75759         maintainable by hoisting the "sp->fts_cur = p" assignments to
75760         immediately follow the statements that set P.  Derived from
75761         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
75762
75763 2007-01-10  Eric Blake  <ebb9@byu.net>
75764
75765         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
75766         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
75767         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75768         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
75769         Reported by Chris McGuire.
75770
75771 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75772
75773         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
75774         in sed script.
75775
75776 2007-01-09  Bruno Haible  <bruno@clisp.org>
75777
75778         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
75779         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
75780         variables.
75781         (func_module): Use them.
75782
75783 2007-01-09  Bruno Haible  <bruno@clisp.org>
75784
75785         * modules/unistr/base: New file.
75786         * lib/unistr.h: New file.
75787
75788         * modules/unistr/u8-to-u16: New file.
75789         * lib/unistr/u8-to-u16.c: New file.
75790
75791         * modules/unistr/u8-to-u32: New file.
75792         * lib/unistr/u8-to-u32.c: New file.
75793
75794         * modules/unistr/u16-to-u8: New file.
75795         * lib/unistr/u16-to-u8.c: New file.
75796
75797         * modules/unistr/u16-to-u32: New file.
75798         * lib/unistr/u16-to-u32.c: New file.
75799
75800         * modules/unistr/u32-to-u8: New file.
75801         * lib/unistr/u32-to-u8.c: New file.
75802
75803         * modules/unistr/u32-to-u16: New file.
75804         * lib/unistr/u32-to-u16.c: New file.
75805
75806         * modules/unistr/u8-check: New file.
75807         * modules/unistr/u16-check: New file.
75808         * modules/unistr/u32-check: New file.
75809         * lib/unistr/u8-check.c: New file.
75810         * lib/unistr/u16-check.c: New file.
75811         * lib/unistr/u32-check.c: New file.
75812
75813         * modules/unistr/u8-chr: New file.
75814         * modules/unistr/u16-chr: New file.
75815         * modules/unistr/u32-chr: New file.
75816         * lib/unistr/u8-chr.c: New file.
75817         * lib/unistr/u16-chr.c: New file.
75818         * lib/unistr/u32-chr.c: New file.
75819
75820         * modules/unistr/u8-cmp: New file.
75821         * modules/unistr/u16-cmp: New file.
75822         * modules/unistr/u32-cmp: New file.
75823         * lib/unistr/u8-cmp.c: New file.
75824         * lib/unistr/u16-cmp.c: New file.
75825         * lib/unistr/u32-cmp.c: New file.
75826
75827         * modules/unistr/u8-cpy: New file.
75828         * modules/unistr/u16-cpy: New file.
75829         * modules/unistr/u32-cpy: New file.
75830         * lib/unistr/u8-cpy.c: New file.
75831         * lib/unistr/u16-cpy.c: New file.
75832         * lib/unistr/u32-cpy.c: New file.
75833         * lib/unistr/u-cpy.h: New file.
75834
75835         * modules/unistr/u8-cpy-alloc: New file.
75836         * modules/unistr/u16-cpy-alloc: New file.
75837         * modules/unistr/u32-cpy-alloc: New file.
75838         * lib/unistr/u8-cpy-alloc.c: New file.
75839         * lib/unistr/u16-cpy-alloc.c: New file.
75840         * lib/unistr/u32-cpy-alloc.c: New file.
75841         * lib/unistr/u-cpy-alloc.h: New file.
75842
75843         * modules/unistr/u8-endswith: New file.
75844         * modules/unistr/u16-endswith: New file.
75845         * modules/unistr/u32-endswith: New file.
75846         * lib/unistr/u8-endswith.c: New file.
75847         * lib/unistr/u16-endswith.c: New file.
75848         * lib/unistr/u32-endswith.c: New file.
75849         * lib/unistr/u-endswith.h: New file.
75850
75851         * modules/unistr/u8-mblen: New file.
75852         * modules/unistr/u16-mblen: New file.
75853         * modules/unistr/u32-mblen: New file.
75854         * lib/unistr/u8-mblen.c: New file.
75855         * lib/unistr/u16-mblen.c: New file.
75856         * lib/unistr/u32-mblen.c: New file.
75857
75858         * modules/unistr/u8-mbtouc: New file.
75859         * modules/unistr/u16-mbtouc: New file.
75860         * modules/unistr/u32-mbtouc: New file.
75861         * lib/unistr/u8-mbtouc.c: New file.
75862         * lib/unistr/u16-mbtouc.c: New file.
75863         * lib/unistr/u32-mbtouc.c: New file.
75864
75865         * modules/unistr/u8-mbtouc-safe: New file.
75866         * modules/unistr/u16-mbtouc-safe: New file.
75867         * modules/unistr/u32-mbtouc-safe: New file.
75868         * lib/unistr/u8-mbtouc-safe.c: New file.
75869         * lib/unistr/u16-mbtouc-safe.c: New file.
75870         * lib/unistr/u32-mbtouc-safe.c: New file.
75871
75872         * modules/unistr/u8-move: New file.
75873         * modules/unistr/u16-move: New file.
75874         * modules/unistr/u32-move: New file.
75875         * lib/unistr/u8-move.c: New file.
75876         * lib/unistr/u16-move.c: New file.
75877         * lib/unistr/u32-move.c: New file.
75878         * lib/unistr/u-move.h: New file.
75879
75880         * modules/unistr/u8-next: New file.
75881         * modules/unistr/u16-next: New file.
75882         * modules/unistr/u32-next: New file.
75883         * lib/unistr/u8-next.c: New file.
75884         * lib/unistr/u16-next.c: New file.
75885         * lib/unistr/u32-next.c: New file.
75886
75887         * modules/unistr/u8-prev: New file.
75888         * modules/unistr/u16-prev: New file.
75889         * modules/unistr/u32-prev: New file.
75890         * lib/unistr/u8-prev.c: New file.
75891         * lib/unistr/u16-prev.c: New file.
75892         * lib/unistr/u32-prev.c: New file.
75893
75894         * modules/unistr/u8-set: New file.
75895         * modules/unistr/u16-set: New file.
75896         * modules/unistr/u32-set: New file.
75897         * lib/unistr/u8-set.c: New file.
75898         * lib/unistr/u16-set.c: New file.
75899         * lib/unistr/u32-set.c: New file.
75900         * lib/unistr/u-set.h: New file.
75901
75902         * modules/unistr/u8-startswith: New file.
75903         * modules/unistr/u16-startswith: New file.
75904         * modules/unistr/u32-startswith: New file.
75905         * lib/unistr/u8-startswith.c: New file.
75906         * lib/unistr/u16-startswith.c: New file.
75907         * lib/unistr/u32-startswith.c: New file.
75908         * lib/unistr/u-startswith.h: New file.
75909
75910         * modules/unistr/u8-stpcpy: New file.
75911         * modules/unistr/u16-stpcpy: New file.
75912         * modules/unistr/u32-stpcpy: New file.
75913         * lib/unistr/u8-stpcpy.c: New file.
75914         * lib/unistr/u16-stpcpy.c: New file.
75915         * lib/unistr/u32-stpcpy.c: New file.
75916         * lib/unistr/u-stpcpy.h: New file.
75917
75918         * modules/unistr/u8-stpncpy: New file.
75919         * modules/unistr/u16-stpncpy: New file.
75920         * modules/unistr/u32-stpncpy: New file.
75921         * lib/unistr/u8-stpncpy.c: New file.
75922         * lib/unistr/u16-stpncpy.c: New file.
75923         * lib/unistr/u32-stpncpy.c: New file.
75924         * lib/unistr/u-stpncpy.h: New file.
75925
75926         * modules/unistr/u8-strcat: New file.
75927         * modules/unistr/u16-strcat: New file.
75928         * modules/unistr/u32-strcat: New file.
75929         * lib/unistr/u8-strcat.c: New file.
75930         * lib/unistr/u16-strcat.c: New file.
75931         * lib/unistr/u32-strcat.c: New file.
75932         * lib/unistr/u-strcat.h: New file.
75933
75934         * modules/unistr/u8-strchr: New file.
75935         * modules/unistr/u16-strchr: New file.
75936         * modules/unistr/u32-strchr: New file.
75937         * lib/unistr/u8-strchr.c: New file.
75938         * lib/unistr/u16-strchr.c: New file.
75939         * lib/unistr/u32-strchr.c: New file.
75940
75941         * modules/unistr/u8-strcmp: New file.
75942         * modules/unistr/u16-strcmp: New file.
75943         * modules/unistr/u32-strcmp: New file.
75944         * lib/unistr/u8-strcmp.c: New file.
75945         * lib/unistr/u16-strcmp.c: New file.
75946         * lib/unistr/u32-strcmp.c: New file.
75947
75948         * modules/unistr/u8-strcpy: New file.
75949         * modules/unistr/u16-strcpy: New file.
75950         * modules/unistr/u32-strcpy: New file.
75951         * lib/unistr/u8-strcpy.c: New file.
75952         * lib/unistr/u16-strcpy.c: New file.
75953         * lib/unistr/u32-strcpy.c: New file.
75954         * lib/unistr/u-strcpy.h: New file.
75955
75956         * modules/unistr/u8-strcspn: New file.
75957         * modules/unistr/u16-strcspn: New file.
75958         * modules/unistr/u32-strcspn: New file.
75959         * lib/unistr/u8-strcspn.c: New file.
75960         * lib/unistr/u16-strcspn.c: New file.
75961         * lib/unistr/u32-strcspn.c: New file.
75962         * lib/unistr/u-strcspn.h: New file.
75963
75964         * modules/unistr/u8-strdup: New file.
75965         * modules/unistr/u16-strdup: New file.
75966         * modules/unistr/u32-strdup: New file.
75967         * lib/unistr/u8-strdup.c: New file.
75968         * lib/unistr/u16-strdup.c: New file.
75969         * lib/unistr/u32-strdup.c: New file.
75970         * lib/unistr/u-strdup.h: New file.
75971
75972         * modules/unistr/u8-strlen: New file.
75973         * modules/unistr/u16-strlen: New file.
75974         * modules/unistr/u32-strlen: New file.
75975         * lib/unistr/u8-strlen.c: New file.
75976         * lib/unistr/u16-strlen.c: New file.
75977         * lib/unistr/u32-strlen.c: New file.
75978         * lib/unistr/u-strlen.h: New file.
75979
75980         * modules/unistr/u8-strmblen: New file.
75981         * modules/unistr/u16-strmblen: New file.
75982         * modules/unistr/u32-strmblen: New file.
75983         * lib/unistr/u8-strmblen.c: New file.
75984         * lib/unistr/u16-strmblen.c: New file.
75985         * lib/unistr/u32-strmblen.c: New file.
75986
75987         * modules/unistr/u8-strmbtouc: New file.
75988         * modules/unistr/u16-strmbtouc: New file.
75989         * modules/unistr/u32-strmbtouc: New file.
75990         * lib/unistr/u8-strmbtouc.c: New file.
75991         * lib/unistr/u16-strmbtouc.c: New file.
75992         * lib/unistr/u32-strmbtouc.c: New file.
75993
75994         * modules/unistr/u8-strncat: New file.
75995         * modules/unistr/u16-strncat: New file.
75996         * modules/unistr/u32-strncat: New file.
75997         * lib/unistr/u8-strncat.c: New file.
75998         * lib/unistr/u16-strncat.c: New file.
75999         * lib/unistr/u32-strncat.c: New file.
76000         * lib/unistr/u-strncat.h: New file.
76001
76002         * modules/unistr/u8-strncmp: New file.
76003         * modules/unistr/u16-strncmp: New file.
76004         * modules/unistr/u32-strncmp: New file.
76005         * lib/unistr/u8-strncmp.c: New file.
76006         * lib/unistr/u16-strncmp.c: New file.
76007         * lib/unistr/u32-strncmp.c: New file.
76008
76009         * modules/unistr/u8-strncpy: New file.
76010         * modules/unistr/u16-strncpy: New file.
76011         * modules/unistr/u32-strncpy: New file.
76012         * lib/unistr/u8-strncpy.c: New file.
76013         * lib/unistr/u16-strncpy.c: New file.
76014         * lib/unistr/u32-strncpy.c: New file.
76015         * lib/unistr/u-strncpy.h: New file.
76016
76017         * modules/unistr/u8-strnlen: New file.
76018         * modules/unistr/u16-strnlen: New file.
76019         * modules/unistr/u32-strnlen: New file.
76020         * lib/unistr/u8-strnlen.c: New file.
76021         * lib/unistr/u16-strnlen.c: New file.
76022         * lib/unistr/u32-strnlen.c: New file.
76023         * lib/unistr/u-strnlen.h: New file.
76024
76025         * modules/unistr/u8-strpbrk: New file.
76026         * modules/unistr/u16-strpbrk: New file.
76027         * modules/unistr/u32-strpbrk: New file.
76028         * lib/unistr/u8-strpbrk.c: New file.
76029         * lib/unistr/u16-strpbrk.c: New file.
76030         * lib/unistr/u32-strpbrk.c: New file.
76031         * lib/unistr/u-strpbrk.h: New file.
76032
76033         * modules/unistr/u8-strrchr: New file.
76034         * modules/unistr/u16-strrchr: New file.
76035         * modules/unistr/u32-strrchr: New file.
76036         * lib/unistr/u8-strrchr.c: New file.
76037         * lib/unistr/u16-strrchr.c: New file.
76038         * lib/unistr/u32-strrchr.c: New file.
76039
76040         * modules/unistr/u8-strspn: New file.
76041         * modules/unistr/u16-strspn: New file.
76042         * modules/unistr/u32-strspn: New file.
76043         * lib/unistr/u8-strspn.c: New file.
76044         * lib/unistr/u16-strspn.c: New file.
76045         * lib/unistr/u32-strspn.c: New file.
76046         * lib/unistr/u-strspn.h: New file.
76047
76048         * modules/unistr/u8-strstr: New file.
76049         * modules/unistr/u16-strstr: New file.
76050         * modules/unistr/u32-strstr: New file.
76051         * lib/unistr/u8-strstr.c: New file.
76052         * lib/unistr/u16-strstr.c: New file.
76053         * lib/unistr/u32-strstr.c: New file.
76054         * lib/unistr/u-strstr.h: New file.
76055
76056         * modules/unistr/u8-strtok: New file.
76057         * modules/unistr/u16-strtok: New file.
76058         * modules/unistr/u32-strtok: New file.
76059         * lib/unistr/u8-strtok.c: New file.
76060         * lib/unistr/u16-strtok.c: New file.
76061         * lib/unistr/u32-strtok.c: New file.
76062         * lib/unistr/u-strtok.h: New file.
76063
76064         * modules/unistr/u8-uctomb: New file.
76065         * modules/unistr/u16-uctomb: New file.
76066         * modules/unistr/u32-uctomb: New file.
76067         * lib/unistr/u8-uctomb.c: New file.
76068         * lib/unistr/u16-uctomb.c: New file.
76069         * lib/unistr/u32-uctomb.c: New file.
76070
76071         * MODULES.html.sh (Unicode string functions): Add the new modules.
76072
76073 2007-01-08  Bruno Haible  <bruno@clisp.org>
76074
76075         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
76076         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
76077         subdirectories.
76078
76079 2007-01-08  Karl Berry  <karl@gnu.org>
76080
76081         * doc/error.texi: mention that main() fns must set program_name
76082         when progname is used.
76083
76084 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
76085
76086         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
76087         WCTYPE_H is empty, for the benefit of builds from non-distclean
76088         directories.  Problem reported by Eric Blake in
76089         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
76090
76091 2007-01-08  Bruno Haible  <bruno@clisp.org>
76092
76093         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
76094         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
76095         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
76096         PROVIDE_CANONICALIZE_FILENAME_MODE.
76097         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
76098
76099 2007-01-08  Bruno Haible  <bruno@clisp.org>
76100
76101         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
76102         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
76103         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
76104         * lib/fts.c: Likewise.
76105         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
76106
76107 2006-12-25  Bruno Haible  <bruno@clisp.org>
76108
76109         * modules/utf8-ucs4-safe: New file.
76110         * lib/utf8-ucs4-safe.h: New file.
76111         * lib/unistr/utf8-ucs4-safe.c: New file.
76112
76113         * modules/utf16-ucs4-safe: New file.
76114         * lib/utf16-ucs4-safe.h: New file.
76115         * lib/unistr/utf16-ucs4-safe.c: New file.
76116
76117         * MODULES.html.sh (Unicode string functions): Add the new modules.
76118
76119 2007-01-08  Bruno Haible  <bruno@clisp.org>
76120
76121         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
76122         (Depends-on): Add unitypes.
76123         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
76124         (u8_mbtouc_aux): Move out to separate file.
76125         (u8_mbtouc): Use ucs4_t, uint8_t types.
76126         * lib/unistr/utf8-ucs4.c: New file.
76127
76128         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
76129         (Depends-on): Add unitypes.
76130         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
76131         (u16_mbtouc_aux): Move out to separate file.
76132         (u16_mbtouc): Use ucs4_t, uint16_t types.
76133         * lib/unistr/utf16-ucs4.c: New file.
76134
76135         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
76136         (Depends-on): Add unitypes.
76137         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
76138         (u8_uctomb_aux): Move out to separate file.
76139         (u8_uctomb): Use ucs4_t, uint8_t types.
76140         * lib/unistr/ucs4-utf8.c: New file.
76141
76142         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
76143         (Depends-on): Add unitypes.
76144         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
76145         (u16_uctomb_aux): Move out to separate file.
76146         (u16_uctomb): Use ucs4_t, uint16_t types.
76147         * lib/unistr/ucs4-utf16.c: New file.
76148
76149 2006-12-25  Bruno Haible  <bruno@clisp.org>
76150
76151         * modules/unitypes: New file.
76152         * lib/unitypes.h: New file.
76153         * MODULES.html.sh (func_all_modules): New section "Unicode string
76154         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
76155         this section. Add unitypes.
76156
76157 2007-01-08  Bruno Haible  <bruno@clisp.org>
76158
76159         Avoid variable names that conflict with those from libtool.
76160         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
76161         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
76162         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
76163         library_names_spec to acl_library_names_spec, hardcode_* to
76164         acl_hardcode_*.
76165         Reported by Ralf Wildenhues.
76166
76167 2007-01-08  Bruno Haible  <bruno@clisp.org>
76168
76169         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
76170         definition.
76171         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
76172         definition.
76173         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
76174         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
76175         definition.
76176         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
76177         definition.
76178         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
76179         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
76180         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
76181         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
76182         definition.
76183         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
76184         definition.
76185         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
76186         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
76187         GC_USE_<algorithm>.
76188         * lib/gc-libgcrypt.c: Likewise.
76189         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
76190         * modules/gc-arctwo (configure.ac): Likewise.
76191         * modules/gc-des (configure.ac): Likewise.
76192         * modules/gc-hmac-md5 (configure.ac): Likewise.
76193         * modules/gc-hmac-sha1 (configure.ac): Likewise.
76194         * modules/gc-md2 (configure.ac): Likewise.
76195         * modules/gc-md4 (configure.ac): Likewise.
76196         * modules/gc-md5 (configure.ac): Likewise.
76197         * modules/gc-random (configure.ac): Likewise.
76198         * modules/gc-rijndael (configure.ac): Likewise.
76199         * modules/gc-sha1 (configure.ac): Likewise.
76200
76201 2007-01-08  Bruno Haible  <bruno@clisp.org>
76202
76203         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
76204         macro definition.
76205         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
76206         definition.
76207         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
76208         definition.
76209         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
76210         * modules/fcntl-safer (configure.ac): Likewise.
76211         * modules/fopen-safer (configure.ac): Likewise.
76212         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
76213         GNULIB_FWRITEERROR macro definition.
76214
76215 2007-01-08  Bruno Haible  <bruno@clisp.org>
76216
76217         * m4/gnulib-common.m4: New file.
76218         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
76219         (func_get_filelist): Add m4/gnulib-common.m4.
76220
76221 2007-01-08  Bruno Haible  <bruno@clisp.org>
76222
76223         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
76224         command.
76225
76226 2007-01-08  Jim Meyering  <jim@meyering.net>
76227
76228         Use a more robust test for a "can't happen" condition.
76229         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
76230         narrowed the st_size value.  Presuming the "can't happen" condition
76231         is true, that narrowing could conceivably convert an invalid st_size
76232         value into a valid one.  Instead, use a change based on Matthew
76233         Woehlke's original patch.
76234
76235         Slight readability improvement: use an assert-like macro
76236         in place of literal "abort ()" uses.
76237         * lib/fts.c (fts_assert): Define.
76238         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
76239         Use this macro instead of a bare 'abort'.
76240
76241 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
76242
76243         Don't worry about using IRIX 5.3's wctype.h broken definitions;
76244         simply work around them.
76245         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
76246         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
76247         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
76248         declaring.
76249         Don't bother to define as macros, since the standard doesn't require it.
76250         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
76251         longer worry about IRIX 5.3.
76252         (HAVE_WCTYPE_CTMP_BUG): Remove.
76253
76254 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76255
76256         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
76257         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
76258         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
76259         Problems reported by Georg Schwarz for IRIX 5.3.
76260
76261         * gnulib-tool (autoconf_minversion): Take the maximum version number
76262         found, not the minimum.  Problem reported by James Youngman.
76263
76264 2007-01-03  Karl Berry  <karl@gnu.org>
76265
76266         * doc/error.texi: new file, explaining interaction with progname.
76267         * doc/gnulib.texi: include it.  Update copyright.
76268
76269 2007-01-03  Simon Josefsson  <simon@josefsson.org>
76270
76271         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
76272         AC_CANONICAL_HOST, to improve autobuild outputs.
76273
76274 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
76275             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
76276
76277         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
76278         sockets, server sockets, and other file descriptors.  Count errors
76279         to compute the return value.  Reorder the code a bit to be easier
76280         to follow.  Don't set event bits that were not requested (except
76281         POLLERR and POLLHUP).
76282
76283 2007-01-01  Bruno Haible  <bruno@clisp.org>
76284
76285         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
76286
76287 2007-01-03  Jim Meyering  <jim@meyering.net>
76288
76289         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
76290
76291 2007-01-02  Bruno Haible  <bruno@clisp.org>
76292
76293         * modules/settime (Include): Require timespec.h.
76294         * modules/nanosleep (Include): Likewise.
76295
76296 2007-01-01  Bruno Haible  <bruno@clisp.org>
76297
76298         * gnulib-tool (func_emit_copyright_notice): Bump year.
76299         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
76300
76301 2007-01-01  Bruno Haible  <bruno@clisp.org>
76302
76303         Improve support for OpenBSD.
76304         * build-aux/config.rpath (libname_spec): Export.
76305         (library_names_spec): New variable. Export.
76306         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
76307         library_names_spec from the config.rpath output. Locate shared library
76308         through the name pattern in library_names_spec.
76309
76310 2007-01-01  Eric Blake  <ebb9@byu.net>
76311
76312         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
76313
76314 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
76315
76316         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
76317         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
76318         assume the C locale, and avoid an "eval" that could cause trouble.
76319         Problem with SORT reported by Bob Proulx.
76320
76321         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
76322         Define.  Trivial patch from Henning Nielsen Lund, originally
76323         sent to bug-grep@gnu.org today.
76324
76325 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
76326
76327         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
76328         struct stat.  Problem reported by Henning Nielsen Lund.
76329         * lib/acl.c: Include acl.h first, to check interface.  Don't
76330         bother to include sys/types.h and sys/stat.h again.
76331
76332 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
76333
76334         Import the following change from libc; problem reported by
76335         Sven Verdoolaege.
76336
76337         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
76338
76339         [BZ #1373]
76340         * lib/argp.h: Remove __NTH for __argp_usage inline function.
76341
76342 2006-12-28  Jim Meyering  <jim@meyering.net>
76343
76344         * build-aux/announce-gen: Do not assume that the package
76345         builds any of tar.gz, tar.bz2, and .xdelta files.
76346         Suggestion from Simon Josefsson.
76347
76348 2006-12-28  Simon Josefsson  <simon@josefsson.org>
76349
76350         * modules/announce-gen: New file.
76351
76352 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
76353
76354         * lib/mbchar.h: Just include <wctype.h>; the wctype module
76355         handles its gotchas now.
76356         * lib/mbswidth.c: Likewise.
76357         * lib/wcwidth.h: Likewise.
76358         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
76359         and iswcntrl; the wctype module does this stuff now.
76360         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
76361         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
76362         * modules/mbchar (Depends-on): Add wctype.
76363         * modules/mbswidth (Depends-on): Likewise.
76364         * modules/wcwidth (Depends-on): Likewise.
76365
76366 2006-12-27  Eric Blake  <ebb9@byu.net>
76367
76368         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
76369         module uses more than what <wctype.h> is required to provide.
76370
76371 2006-12-26  Eric Blake  <ebb9@byu.net>
76372
76373         * gnulib-tool (sed_extract_prog): Avoid space-tab.
76374
76375 2006-12-26  Eric Blake  <ebb9@byu.net>
76376
76377         * modules/absolute-header: New module.
76378         * modules/fcntl (Depends-on): Depend on it.
76379         * modules/inttypes (Depends-on): Likewise.
76380         * modules/stdint (Depends-on): Likewise.
76381         * modules/sys_stat (Depends-on): Likewise.
76382         * modules/wctype (Depends-on): Likewise.
76383         * MODULES.html.sh (Support for building libraries and
76384         executables): Document it.
76385
76386 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
76387
76388         * gnulib-tool (SED): Remove, undoing previous change.
76389         The problem was that it broke coreutils on Solaris, because
76390         "sed --posix" leaked into a makefile.
76391         (sed): New alias, if 'alias' and GNU sed.
76392
76393 2006-12-24  Jim Meyering  <jim@meyering.net>
76394
76395         Work around an fchownat bug in glibc-2.4:
76396         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
76397         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
76398         in spite of the -P option.
76399         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
76400         New macros.
76401         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
76402         * modules/openat (Files): Add lib/fchownat.c.
76403         * lib/openat.c (fchownat): Don't define here.  Move to...
76404         * lib/fchownat.c: ...this new file.
76405
76406 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
76407
76408         Fix bug reported by Bruno Haible in
76409         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
76410         where quotearg.c didn't compile on Mac OS X 10.2 because it
76411         lacks <wchar.h> and wint_t.
76412         * lib/wctype_.h (__wctype_wint_t): New type.
76413         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
76414         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
76415         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
76416         Arg is now of type __wctype_wint_t, not wint_t.
76417         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
76418         substitute HAVE_WINT_T.
76419         * modules/wctype (Files): Add m4/wint_t.m4.
76420         (wctype.h): Substitute HAVE_WINT_T.
76421
76422 2006-12-23  Bruno Haible  <bruno@clisp.org>
76423
76424         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
76425
76426 2006-12-23  Bruno Haible  <bruno@clisp.org>
76427
76428         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
76429         S_ISLNK.
76430         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
76431         mingw.
76432
76433 2006-12-22  Bruno Haible  <bruno@clisp.org>
76434
76435         * lib/copy-file.c: Include acl.h.
76436         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
76437         Close the file descriptors only after being done with copy_acl.
76438         * modules/copy-file (Depends-on): Add acl.
76439
76440 2006-12-22  Bruno Haible  <bruno@clisp.org>
76441
76442         * gnulib-tool (SED): New variable.
76443         Use $SED instead of sed everywhere.
76444
76445 2006-12-22  Bruno Haible  <bruno@clisp.org>
76446
76447         * modules/no-c++: New file.
76448         * m4/no-c++.m4: New file.
76449         * MODULES.html.sh (Support for building libraries and executables):
76450         Add no-c++.
76451
76452 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
76453
76454         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
76455         Include <limits.h>, and use its INT_MAX to rewrite the
76456         j loop so that it does not overflow 'int'.  Problem reported by
76457         Ralf Wildenhues in
76458         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
76459         Play it safe by shifting left by 1 rather than multiplying by 2,
76460         as GCC is less likely to optimize this away when the value
76461         is signed (when it assumes overflow leads to undefined behavior).
76462         Also, don't assume time_t uses two's complement.
76463
76464 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
76465
76466         * MODULES.html.sh: New module wctype.
76467         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
76468         * lib/fnmatch.c: Don't bother to include <wchar.h> before
76469         <wctype.h>, since the new wctype module should fix this.
76470         * lib/quotearg.c: Include <wctype.h> unconditionally, since
76471         the wctype module should arrange for it.
76472         * lib/regex_internal.h: Likewise.
76473         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
76474         since the wctype module should handle this now.
76475         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
76476         * modules/fnmatch (Depends-on): Add wctype.
76477         * modules/quotearg (Depends-on): Likewise.
76478         * modules/regex (Depends-on): Likewise.
76479
76480 2006-12-19  Bruno Haible  <bruno@clisp.org>
76481
76482         * lib/strdup.h [C++]: Wrap definitions in extern "C".
76483         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
76484
76485 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76486
76487         * modules/savewd (Depends-on): Fix dependency on fcntl.
76488
76489 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
76490
76491         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
76492         conforms to C99, rather than relying on the user's environment
76493         setting of STDINT_H.
76494
76495 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
76496         and Eric Blake  <ebb9@byu.net>
76497
76498         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
76499         This is more consistent with the other defines here.
76500         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
76501         Port to z/OS.  Problem reported by Paul Gilmartin.
76502         Change local vars to use gl_ prefix rather than ac_.
76503         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
76504         with other defines.
76505         * modules/double-slash-root: New module.
76506         * modules/dirname (Files): Remove m4/double-slash-root.m4.
76507         (Depends-on): Add double-slash-root.
76508         * MODULES.html.sh (File system functions): Mention new module.
76509
76510 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
76511
76512         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
76513         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
76514         This is for the benefit of gzip, which doesn't do i18n.
76515
76516 2006-12-12  Jim Meyering  <jim@meyering.net>
76517
76518         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
76519         Reported by Andreas Schwab <schwab@suse.de>.
76520
76521 2006-12-12  Bruno Haible  <bruno@clisp.org>
76522
76523         Merge these changes.
76524         2006-09-05  Bruno Haible  <bruno@clisp.org>
76525         * lib/iconvme.c (iconv_string): No need to save and restore errno when
76526         iconv_alloc succeeded.
76527         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
76528         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
76529         test for " && dest " at the end - dest is always != NULL there. Call
76530         iconv with 4xNULL arguments initially, to reset the state. Call iconv
76531         with 2xNULL arguments, also to flush the state storage. Handle the
76532         IRIX iconv behaviour. Realloc the final result, to throw away unused
76533         memory.
76534
76535 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
76536
76537         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
76538         and fchmodat unconditionally, since glibc 2.4 has them.
76539         Problem reported by Arkadiusz Miskiewicz.
76540
76541 2006-12-10  Bruno Haible  <bruno@clisp.org>
76542
76543         * gnulib-tool (func_import): Show the include files only for those
76544         modules that are copied and specified.
76545         Reported by Karl Berry.
76546
76547 2006-12-08  Jim Meyering  <jim@meyering.net>
76548
76549         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
76550         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
76551
76552         * build-aux/announce-gen: Add two new options, both optional:
76553         --bootstrap-tools=TOOL_LIST
76554               a comma-separated list of tools, e.g.,
76555               autoconf,automake,bison,gnulib
76556         --gnulib-snapshot-date=DATE
76557               if gnulib is in the bootstrap tool list,
76558               then report this as the snapshot date.
76559               If not specified, use the current date/time.
76560               If you specify a date here, be sure it's UTC.
76561
76562 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76563
76564         * tests/test-argp-2.sh: Fix test to match actual output.
76565         (func_compare): Fix sed script to be portable.
76566
76567 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
76568
76569         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
76570         workaround for this case.  It is not autoconfigured now; offhand
76571         it's hard to see how to autoconfigure it.
76572
76573 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
76574
76575         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
76576         a directory that is about to be chowned.  Such a directory's
76577         initial file permissions should permit the owner only and this
76578         should not be changed until after the chown, since the group and
76579         other bits would be incorrect if they granted permission before
76580         the chown.
76581
76582         Fix porting problem for iswctype reported by Georg Schwarz in:
76583         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
76584         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
76585         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
76586         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
76587         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
76588
76589 2006-12-03  Jim Meyering  <jim@meyering.net>
76590
76591         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
76592         p->fts_statp may not yet be defined.
76593         (fts_read): Instead, set it in the caller, once p->fts_statp is
76594         sure to be defined, and corresponds to a top-level directory.
76595         This bug made du -x fail.  Here's the coreutils test case:
76596         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
76597         Reported by Mike Frysinger.
76598
76599 2006-12-01  Jim Meyering  <jim@meyering.net>
76600
76601         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
76602         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
76603         Reported by Simon Josefsson.
76604
76605 2006-11-30  Jim Meyering  <jim@meyering.net>
76606
76607         * m4/warning.m4: Use the all-permissive copyright notice
76608         recommended by RMS (rather than LGPL).
76609         * m4/vararrays.m4: Likewise.
76610         * m4/flexmember.m4: Likewise.
76611
76612 2006-11-29  Bruno Haible  <bruno@clisp.org>
76613
76614         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
76615         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
76616         using +=.
76617         Reported by Simon Josefsson <simon@josefsson.org>.
76618
76619 2006-11-28  James Youngman <jay@gnu.org>
76620
76621         * README: Advise users that they might find the bug-gnulib@gnu.org
76622         and autotools-announce@gnu.org mailing lists useful.
76623
76624 2006-11-28  Bruno Haible  <bruno@clisp.org>
76625
76626         * m4/ptrdiff_max.m4: Remove file.
76627
76628 2006-11-21  Bruno Haible  <bruno@clisp.org>
76629
76630         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
76631         _AC_COMPUTE_INT.
76632         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76633         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
76634         _AC_COMPUTE_INT.
76635         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76636         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
76637         _AC_COMPUTE_INT.
76638         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76639
76640 2006-11-28  Jim Meyering  <jim@meyering.net>
76641
76642         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
76643         warning from "gcc -Wshadow" about shadowing the builtin.
76644
76645 2006-11-27  Bruno Haible  <bruno@clisp.org>
76646
76647         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
76648         _AC_COMPUTE_INT.
76649         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76650
76651 2006-11-27  Bruno Haible  <bruno@clisp.org>
76652             Paul Eggert  <eggert@cs.ucla.edu>
76653
76654         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
76655
76656 2006-11-26  Bruno Haible  <bruno@clisp.org>
76657
76658         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
76659         noinst_LTLIBRARIES.
76660
76661 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
76662             Bruno Haible  <bruno@clisp.org>
76663
76664         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
76665         if compiling with "gcc -ansi".
76666
76667 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
76668
76669         Fix some incompatibilities with gcc -ansi -pedantic.
76670         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
76671         if compiling pedantically with GCC, unless it's C99 or later.
76672         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
76673         it mishandles gcc -ansi -pedantic as well.
76674         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
76675         if gcc -pedantic.
76676         * lib/regexec.c (check_node_accept_bytes): Don't use auto
76677         initializers for struct if -pedantic, unless it's C99 or later.
76678
76679 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
76680
76681         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
76682         Don't close an fd more than once. Identical atimes indicate
76683         success, not failure.
76684
76685 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
76686
76687         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
76688
76689 2006-11-23  Jim Meyering  <jim@meyering.net>
76690
76691         * build-aux/announce-gen: New file.  From coreutils.
76692
76693 2006-11-22  Jim Meyering  <jim@meyering.net>
76694
76695         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
76696         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
76697         (fts_read): Use a temporary to narrow the overused st_size member
76698         before using it in a switch statement.  Reported by Matthew Woehlke.
76699
76700         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
76701         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
76702
76703 2006-11-20  Bruno Haible  <bruno@clisp.org>
76704
76705         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
76706         changequote instead of pairs of brackets.
76707         Reported by Andreas Schwab <schwab@suse.de>.
76708
76709 2006-11-21  Jim Meyering  <jim@meyering.net>
76710
76711         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
76712         so as to remain compatible with older compilers.
76713         Patch from Michael Deutschmann.
76714
76715 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76716
76717         * MODULES.html.sh (File system functions): Add openat.
76718
76719         * lib/openat.h (rpl_fstatat): New macro, if
76720         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
76721         (fstatat): Define to rpl_fstatat under the same conditions,
76722         unless COMPILING_FSTATAT.
76723         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
76724         seems to have the bug.
76725         * lib/fstatat.c: New file.
76726         * modules/openat (Files): Add it.
76727
76728 2006-11-20  Bruno Haible  <bruno@clisp.org>
76729
76730         * Makefile: New file.
76731
76732 2006-11-20  Jim Meyering  <jim@meyering.net>
76733
76734         The beginnings of syntax-related checks for gnulib.
76735         * lib/Makefile: New file.
76736         * lib/t-idcache: New script.  Ensure that the two halves of
76737         idcache.c stay in sync.
76738
76739         * lib/idcache.c: Adjust comments in user- and group- portions to
76740         be more accurate, and to be consistent with one another.
76741
76742 2006-11-20  Jim Meyering  <jim@meyering.net>
76743
76744         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
76745         continue using the flexible array member (thus, this module performs
76746         half as many malloc calls), with the addition that...
76747         (getgroup, getuser): Consistently record a non-match via an empty
76748         "name" string, and map an empty string match to a NULL return value.
76749         * modules/idcache (Depends-on): Re-add flexmember.
76750
76751         * lib/idcache.c (getuser): Remove all uses of the register keyword.
76752         (getuidbyname, getgroup, getgidbyname): Likewise.
76753
76754         Use cleaner syntax: NULL rather than 0.
76755         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
76756
76757 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76758
76759         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
76760         It mishandled the case where the group was missing.
76761         Problem reported by Greg Schafer.
76762         * modules/idcache: Likewise.
76763
76764 2006-11-18  Jim Meyering  <jim@meyering.net>
76765
76766         * check-module (%exempt_header): Add exception for some
76767         conditionally-included headers.
76768
76769         * modules/i-ring (Depends-on): Add verify.
76770         (License): Change to LGPL.
76771
76772 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76773
76774         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
76775         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
76776         and inttostr.h.  Use snprintf rather than uinttostr, so that
76777         LGPLed code doesn't depend on GPLed.
76778
76779 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
76780
76781         * modules/inline (License): Change from GPL to LGPL.
76782
76783 2006-11-17  Jim Meyering  <jim@meyering.net>
76784
76785         * modules/d-type (License): Switch to LGPL.
76786
76787 2006-11-15  Bruno Haible  <bruno@clisp.org>
76788
76789         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
76790
76791 2006-11-15  Eric Blake  <ebb9@byu.net>
76792
76793         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
76794         the module dependency.
76795
76796 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76797             Bruno Haible  <bruno@clisp.org>
76798
76799         * gnulib-tool (func_create_testdir): Add license consistency check.
76800
76801 2006-11-15  Eric Blake  <ebb9@byu.net>
76802
76803         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
76804         random "(cached)" in configure output.
76805
76806 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76807
76808         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
76809         test for conforming inttypes.h is both announced and cached.
76810
76811         * MODULES.html.sh (seen_modules, seen_files): New variables.
76812         (func_module): Rewrite to use a few less gnulib-tool and sed
76813         invocations.  Avoid a couple of quadratic algorithms for ...
76814         (missed_modules, missed_files): ... these, with ...
76815         (func_append, func_tmpdir): ... these new functions, from
76816         gnulib-tool.  Analogously, install traps for cleanup.
76817
76818         * tests/test-gc.c (main): Remove unused variables.
76819         * tests/test-read-file.c: Include stdlib.h, for 'free'.
76820
76821 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
76822
76823         * modules/inttostr (License): Change to LGPL.
76824
76825 2006-11-14  Eric Blake  <ebb9@byu.net>
76826
76827         * modules/tempname (License): Change to LGPL.
76828
76829 2006-11-14  Eric Blake  <ebb9@byu.net>
76830
76831         * doc/functions.texi (Function Portability): *printf functions on
76832         Cygwin now understand all POSIX size specifiers.
76833
76834 2006-11-14  Bruno Haible  <bruno@clisp.org>
76835
76836         * modules/c-ctype (License): Change to LGPL.
76837
76838 2006-11-12  Bruno Haible  <bruno@clisp.org>
76839
76840         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
76841         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
76842         for GNOME libraries, for which the include files are installed in
76843         subdirectories of $prefix/include.
76844
76845 2006-11-12  Bruno Haible  <bruno@clisp.org>
76846
76847         * m4/lib-link.m4: Require at least autoconf-2.54.
76848         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
76849         name to underscores for the --with option.
76850
76851 2006-11-13  Bruno Haible  <bruno@clisp.org>
76852
76853         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
76854         the tests directory.
76855         Reported by Ralf Wildenhues.
76856
76857 2006-11-13  Bruno Haible  <bruno@clisp.org>
76858
76859         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
76860         (func_emit_initmacro_end): Undo the override here.
76861         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
76862         Works around the famous automake error in coreutils.
76863
76864 2006-11-13  Eric Blake  <ebb9@byu.net>
76865
76866         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
76867         element, not its node.
76868
76869 2006-11-12  Bruno Haible  <bruno@clisp.org>
76870
76871         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
76872         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
76873
76874 2006-11-12  Bruno Haible  <bruno@clisp.org>
76875
76876         * gnulib-tool: New option --local-symlink.
76877         (func_usage): Document it.
76878         (lsymbolic): New variable.
76879         (func_import, func_create_testdir): If --symlink was not specified,
76880         test whether --local-symlink was specified and the file comes from
76881         the local_gnulib_dir.
76882
76883 2006-11-12  Bruno Haible  <bruno@clisp.org>
76884
76885         * gnulib-tool (func_ln): New function.
76886         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
76887
76888 2006-11-12  Bruno Haible  <bruno@clisp.org>
76889
76890         Finish support for source files in subdirectories.
76891         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
76892         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
76893         AUTOMAKE_OPTIONS.
76894         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
76895
76896 2006-11-12  Bruno Haible  <bruno@clisp.org>
76897
76898         * gnulib-tool (func_get_automake_snippet): Synthesize also an
76899         EXTRA_lib_SOURCES augmentation.
76900         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
76901
76902 2006-11-12  Jim Meyering  <jim@meyering.net>
76903
76904         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
76905         file descriptors.  This also averts a failure on systems with
76906         native openat support when a traversed directory lacks "x" access.
76907         * lib/fts_.h: Include "i-ring.h"
76908         (struct FTS) [fts_fd_ring]: New member.
76909         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
76910         (FCHDIR): Add parentheses.
76911         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
76912         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
76913         When descending, rather than simply closing the previous
76914         fts_cwd_fd value, push that file descriptor onto the ring.
76915         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
76916         (fts_open): Initialize the new fd_ring member.
76917         (fts_close): Clear the ring.
76918         (fts_safe_changedir): When possible, use our new fd_ring to skip
76919         the diropen and fstat and dev/ino comparison that would normally
76920         accompany a virtual `chdir ("..")'.
76921
76922         * modules/fts (Depends-on): Add i-ring.
76923         * modules/i-ring: New module.
76924         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
76925         * m4/i-ring.m4: New file.
76926
76927 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76928
76929         * gnulib-tool (func_create_testdir): Fix replacement of
76930         `build-aux' in configure.ac.  Run autotools in gltests
76931         subdirectory.
76932         (func_create_testdir, func_create_megatestdir, test): There is
76933         no need for '--force' in most autotool invocations in a new
76934         tree.  Actually fail the whole test if any of the tools, or the
76935         configure or make stages fail.
76936
76937         Sync from Automake.
76938         * build-aux/gnupload: Revert last change.  Add pointer to upload
76939         instructions of the GNU Maintenance Instructions.
76940         Suggestion by Karl Berry.
76941
76942 2006-11-10  Jim Meyering  <jim@meyering.net>
76943
76944         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
76945
76946 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76947
76948         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
76949         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
76950         (bind_textdomain_codeset) [! ENABLE_NLS]:
76951         Evaluate all the arguments.  That way, callers get compatible behavior
76952         if the arguments have side effects.  Also, it avoids some GCC
76953         diagnostics in some cases; Joel E. Denny reported problems when Bison
76954         was configured with --enable-gcc-warnigs.
76955
76956 2006-11-10  Jim Meyering  <jim@meyering.net>
76957
76958         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
76959         relevant options in CFLAGS (like -O, -fno-inline) are taken into
76960         account.
76961
76962 2006-11-10  Jim Meyering  <jim@meyering.net>
76963
76964         * modules/inline: New file/module.
76965         * modules/xalloc (Files): Remove m4/inline.m4.
76966         (Depends-on): Add inline, instead.
76967         * modules/oset: Likewise.
76968         * modules/list: Likewise.
76969
76970 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76971
76972         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
76973         Problem reported by Matthew Woehlke.
76974
76975 2006-11-09  Bruno Haible  <bruno@clisp.org>
76976
76977         * lib/tempname.c (gen_tempname): Remove variant that invokes
76978         __gen_tempname.
76979         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
76980         __gen_tempname.
76981
76982 2006-11-08  Bruno Haible  <bruno@clisp.org>
76983
76984         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
76985         to 'yes' instead of 'cross-compiling'.
76986
76987 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
76988
76989         * lib/quotearg.h (quotearg_free): New decl.
76990         * lib/quotearg.c (quotearg_free): New function.
76991         (slot0, nslots, slotvec0, slotvec):
76992         Now file-scope so that quotearg_free can get at them.
76993
76994 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76995
76996         Sync from Automake.
76997         * build-aux/gnupload: Add missing 'gnu' to example URL.
76998         Report by Karl Berry.
76999
77000 2006-11-08  Bruno Haible  <bruno@clisp.org>
77001
77002         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
77003         Suggested by Paul Eggert.
77004
77005 2006-11-08  Jim Meyering  <jim@meyering.net>
77006
77007         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
77008         It's already included if !_LIBC.
77009         (fts_safe_changedir): Add a comment.
77010
77011 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
77012
77013         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
77014         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
77015         Matthew Woehlke.
77016
77017         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
77018         definitions up, to avoid colliding with change below.
77019         (static_inline) [HAVE_INLINE]: New macro.
77020         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
77021         Provide extern decls when !HAVE_INLINE.  Do not define unless
77022         static_inline is defined, either by us or by xmalloc.c.  Use
77023         static_inline rather than static inline.
77024         (XCALLOC): Optimize sizeof(T) = 1 case.
77025         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
77026
77027 2006-11-07  Bruno Haible  <bruno@clisp.org>
77028
77029         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
77030         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
77031         AC_C_INLINE.
77032         * modules/xalloc (Files): Add m4/inline.m4.
77033
77034 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77035
77036         * README: Fix typo.
77037         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
77038         (Miscellanous Notes): ...from this.
77039
77040 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
77041
77042         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
77043         Mention that offsetof should be used instead of sizeof.
77044         From Bruno Haible.
77045
77046 2006-11-07  Bruno Haible  <bruno@clisp.org>
77047
77048         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
77049
77050 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
77051
77052         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
77053         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
77054         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
77055         (gl_tree_add_before, gl_tree_add_after):
77056         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
77057         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
77058         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
77059         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
77060         (gl_linked_add_after, gl_linked_add_at): Likewise.
77061         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
77062         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
77063         (gl_tree_add_before, gl_tree_add_after): Likewise.
77064         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
77065         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
77066         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
77067
77068 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77069
77070         * lib/gl_oset.h: Use C comment style, not C++ comment style.
77071
77072 2006-11-06  Bruno Haible  <bruno@clisp.org>
77073
77074         * m4/inline.m4: New file.
77075         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
77076         * modules/list (Files): Add m4/inline.m4.
77077         * modules/oset (Files): Likewise.
77078
77079 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
77080
77081         * lib/idcache.c: Include <stddef.h>, for offsetof.
77082         (struct userid.name): Change from char * to a flexible array member.
77083         All uses changed.
77084         * modules/idcache (Depends-on): Add flexmember.
77085
77086         * MODULES.html.sh (Core language properties): New module flexmember.
77087         * modules/flexmember, m4/flexmember.m4: New files.
77088
77089         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
77090         inline functions that are identical with the old xnmalloc_inline,
77091         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
77092         that we can avoid some unnecessary integer multiplications and
77093         divisions in the common case where the element size is known at
77094         compile time.
77095         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
77096         needed.
77097         (xnboundedmalloc): Remove.
77098         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
77099         arguments, for consistency with rest of this header.
77100         (xcharalloc): Rewrite using XNMALLOC.
77101         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
77102         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
77103         versions have been moved to lib/xalloc.h and renamed to be the
77104         non-*_inline versions.
77105         (xmalloc, xrealloc): Implement without reference to the xnmalloc
77106         and xnrealloc functions, since those functions are now inline and
77107         now call us.
77108         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
77109         renaming described above.
77110         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
77111         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
77112         captures the dependency in AC_C_INLINE.
77113
77114         New module canonicalize-lgpl, proposed by Charles Wilson in
77115         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
77116         with a few small changes afterwards.
77117         * MODULES.html.sh (File system functions): New module
77118         canonicalize-lgpl.
77119         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
77120         and canonicalize_file_name.
77121         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
77122         * modules/canonicalize-lgpl: New files.
77123
77124 2006-11-05  Bruno Haible  <bruno@clisp.org>
77125
77126         * gnulib-tool (func_import, func_create_testdir): Create directories
77127         also for files in subdirectories of lib/.
77128
77129 2006-11-05  Bruno Haible  <bruno@clisp.org>
77130
77131         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
77132         ANSI C compliant.
77133
77134 2006-11-03  Bruno Haible  <bruno@clisp.org>
77135
77136         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
77137         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
77138         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
77139         (xnboundedmalloc): New inline function.
77140         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
77141         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
77142         xmalloc.
77143         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
77144         xmalloc.
77145         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
77146         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
77147         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
77148         xmalloc.
77149         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
77150         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
77151         xmalloc.
77152         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
77153         gl_tree_add_after): Use XMALLOC instead of xmalloc.
77154         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
77155         xmalloc.
77156         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
77157         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
77158         gl_tree_add_after): Use XMALLOC instead of xmalloc.
77159         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
77160         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
77161         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
77162         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
77163
77164 2006-11-03  Bruno Haible  <bruno@clisp.org>
77165
77166         * lib/c-ctype.h [C++]: Define functions without name mangling.
77167         * lib/fwriteerror.h [C++]: Likewise.
77168         * lib/gcd.h [C++]: Likewise.
77169         * lib/linebreak.h [C++]: Likewise.
77170
77171 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
77172
77173         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
77174         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
77175         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
77176         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
77177         Check for functions and headers just once.
77178         Check for declaration of canonicalize_file_name.
77179         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
77180
77181 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
77182
77183         * gnulib-tool (func_import): Fix typo in actioncmd.
77184
77185 2006-11-02  Bruno Haible  <bruno@clisp.org>
77186
77187         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
77188         newline sequence in the Makefile.am snippet as a space, like "make"
77189         does.
77190         Reported by Roger Persson <perrog@gmail.com>.
77191
77192 2006-11-01  Bruno Haible  <bruno@clisp.org>
77193
77194         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
77195         already declared in <string.h>.
77196         * lib/strcase.h (strncasecmp): Don't declare it if yes.
77197
77198 2006-11-01  Bruno Haible  <bruno@clisp.org>
77199
77200         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
77201         * lib/strcase.h: Include <string.h>.
77202         (strcasecmp): Define to rpl_strcasecmp here.
77203
77204 2006-11-01  Bruno Haible  <bruno@clisp.org>
77205
77206         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
77207
77208 2006-11-01  Eric Blake  <ebb9@byu.net>
77209
77210         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
77211
77212         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
77213
77214 2006-10-29  Bruno Haible  <bruno@clisp.org>
77215
77216         Make it compile in C++ mode.
77217         * lib/full-write.c (full_rw): Add a cast.
77218
77219 2006-11-01  Bruno Haible  <bruno@clisp.org>
77220
77221         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
77222         be POSIX compliant.
77223         Reported by Roger Persson <perrog@gmail.com>.
77224
77225 2006-11-01  Eric Blake  <ebb9@byu.net>
77226
77227         * lib/getopt_.h: Fix comments.
77228
77229 2006-10-31  Eric Blake  <ebb9@byu.net>
77230
77231         * modules/tmpdir (Depends-on): Add sys_stat.
77232         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
77233         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
77234         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
77235         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
77236         tempname.
77237
77238 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
77239
77240         Avoid some C++ diagnostics reported by Bruno Haible.
77241         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
77242         xmalloc.
77243         (quotearg_alloc): Use xcharalloc rather than xmalloc.
77244         (struct slotvec): Move to top level.
77245         (quotearg_n_options): Rewrite to avoid xmalloc.
77246         * lib/xalloc.h (xcharalloc): New function.
77247         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
77248         [defined __cplusplus]: Add function template that provides result
77249         type propagation.  This part of the change is from Bruno Haible.
77250
77251 2006-10-29  Bruno Haible  <bruno@clisp.org>
77252
77253         Make it compile in C++ mode.
77254         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
77255         * lib/strnlen1.c (strnlen1): Cast memchr result.
77256         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
77257         * lib/clean-temp.c (string_equals, string_hash): Add casts.
77258         (create_temp_dir): Rename local variable 'template'.
77259         (compile_csharp_using_sscli): Add cast.
77260         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
77261         * lib/findprog.c (find_in_path): Likewise.
77262         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
77263         * lib/wait-process.c (register_slave_subprocess): Likewise.
77264
77265 2006-10-22  Bruno Haible  <bruno@clisp.org>
77266
77267         * modules/tsearch: New file.
77268         * lib/tsearch.h: New file.
77269         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
77270         * m4/tsearch.m4: New file.
77271         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
77272
77273 2006-10-29  Eric Blake  <ebb9@byu.net>
77274
77275         * lib/arcfour.c: Assume config.h.
77276         * lib/arctwo.c: Likewise.
77277         * lib/base64.c: Likewise.
77278         * lib/check-version.c: Likewise.
77279         * lib/crc.c: Likewise.
77280         * lib/des.c: Likewise.
77281         * lib/gc-gnulib.c: Likewise.
77282         * lib/gc-libgcrypt.c: Likewise.
77283         * lib/gc-pbkdf2-sha1.c: Likewise.
77284         * lib/getaddrinfo.c: Likewise.
77285         * lib/getdelim.c: Likewise.
77286         * lib/getline.c: Likewise.
77287         * lib/hmac-md5.c: Likewise.
77288         * lib/hmac-sha1.c: Likewise.
77289         * lib/iconvme.c: Likewise.
77290         * lib/md2.c: Likewise.
77291         * lib/md4.c: Likewise.
77292         * lib/memxor.c: Likewise.
77293         * lib/read-file.c: Likewise.
77294         * lib/readline.c: Likewise.
77295         * lib/rijndael-alg-fst.c: Likewise.
77296         * lib/rijndael-api-fst.c: Likewise.
77297         * lib/xgetdomainname.c: Likewise.
77298
77299 2006-10-28  Eric Blake  <ebb9@byu.net>
77300
77301         * lib/xstrndup.c: Assume config.h.
77302
77303 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
77304
77305         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
77306         stat-macros.h is now for our own macros, whereas stat_h is for
77307         macros in the <sys/stat.h> name space.
77308         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
77309         (STAT_MACROS_H): Remove.
77310         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
77311         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
77312         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
77313         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
77314         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
77315         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
77316         Move these macros to ...
77317         * lib/stat_.h: here.  Don't include stat-macros.h.
77318         * lib/canonicalize.c: Don't include stat-macros.h.
77319         * lib/chown.c: Likewise.
77320         * lib/euidaccess.c: Likewise.
77321         * lib/file-type.c: Likewise.
77322         * lib/filemode.c: Likewise.
77323         * lib/glob.c: Likewise.
77324         * lib/isapipe.c: Likewise.
77325         * lib/lchown.c: Likewise.
77326         * lib/lstat.c: Likewise.
77327         * lib/mkdir-p.c: Likewise.
77328         * lib/rmdir.c: Likewise.
77329         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
77330         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
77331         unless mkdir isn't declared, to speed up 'configure'.
77332         Always create sys/stat.h, since it's unlikely any real sys/stat.h
77333         would define all the S_* symbols.
77334         * modules/canonicalize (Depends-on):
77335         Depend on sys_stat, not stat-macros.
77336         * modules/chown: Likewise.
77337         * modules/euidaccess: Likewise.
77338         * modules/filemode: Likewise.
77339         * modules/file-type: Likewise.
77340         * modules/glob: Likewise.
77341         * modules/isapipe: Likewise.
77342         * modules/lchown: Likewise.
77343         * modules/lstat: Likewise.
77344         * modules/mkancesdirs: Likewise.
77345         * modules/rmdir: Likewise.
77346         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
77347         * modules/modechange: Likewise.
77348         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
77349         (configure.ac): Remove gl_STAT_MACROS.
77350         * modules/sys_stat (Depends-on): Remove stat-macros.
77351
77352 2006-10-27  Bruno Haible  <bruno@clisp.org>
77353
77354         * m4/signed.m4: Remove file.
77355         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
77356         invocation.
77357         * modules/vasnprintf (Files): Remove m4/signed.m4.
77358
77359 2006-10-27  Bruno Haible  <bruno@clisp.org>
77360
77361         Update to GNU gettext 0.16.
77362         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
77363         m4/inttypes-h.m4, m4/signed.m4.
77364         * m4/gettext.m4: Update to GNU gettext 0.16.
77365         * m4/intl.m4: New file, from GNU gettext.
77366         * m4/intldir.m4: New file, from GNU gettext.
77367         * config/srclist.txt: Update
77368
77369 2006-10-27  Eric Blake  <ebb9@byu.net>
77370
77371         * MODULES.html.sh: Document tempname.
77372         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
77373         dependencies.
77374         (Files): Move lib/tempname.c...
77375         * modules/tempname: ...to this new module.
77376         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
77377         (gl_PREREQ_TEMPNAME): Move...
77378         * m4/tempname.m4: ...to this new file.
77379         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
77380         * modules/sys_stat (Depends-on): Add stat-macros.
77381         * lib/stat_.h (includes): Pick up stat macros.
77382         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
77383         if stat macros are broken.
77384         * lib/tempname.c (includes): No need to include "stat-macros.h".
77385         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
77386         (direxists, __path_search) [!_LIBC]: Don't compile these in
77387         gnulib; the tmpdir module covers that.
77388         * lib/tempname.h: New file.
77389
77390 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
77391
77392         * COPYING: Explain how gnulib-tool converts licence headers.
77393         Almost all wording by Eric Blake.
77394
77395 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
77396
77397         * lib/mbchar.h (is_basic_table): Make read-only.
77398         * lib/mbchar.c (is_basic_table): Likewise.
77399         Reported by John Darrington.
77400
77401 2006-10-25  Bruno Haible  <bruno@clisp.org>
77402
77403         * lib/progname.h (set_program_name): Undefine before defining.
77404
77405 2006-10-25  Bruno Haible  <bruno@clisp.org>
77406
77407         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
77408         false for non-gcc C++ compilers.
77409         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
77410
77411 2006-10-24  Bruno Haible  <bruno@clisp.org>
77412
77413         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
77414         iconv implementations like Irix iconv.
77415
77416 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
77417
77418         * modules/vararrays: New file.
77419         * m4/vararrays.m4: New file, taken from diffutils.
77420         * MODULES.html.sh: New module vararrays.
77421
77422 2006-10-24  Karl Berry  <karl@gnu.org>
77423
77424         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
77425         Don't call GNU Unix.
77426
77427 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77428
77429         * users.txt: Add Libtool.
77430
77431         Sync from Libtool:
77432
77433         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
77434
77435         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
77436         to gnulib's policy of including config.h unconditionally.
77437
77438 2006-10-24  Bruno Haible  <bruno@clisp.org>
77439
77440         * modules/wcwidth (Files): Add m4/wint_t.m4.
77441         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
77442         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
77443
77444 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
77445
77446         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
77447         to pacify GCC with some -W flags enabled.  Problem reported by
77448         Bruno Haible.
77449
77450 2006-10-24  Jim Meyering  <jim@meyering.net>
77451
77452         * MODULES.html.sh: Remove uinttostr.  It's not a module.
77453         Reported by Karl Berry.
77454
77455 2006-10-23  Bruno Haible  <bruno@clisp.org>
77456
77457         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
77458
77459 2006-10-24  Bruno Haible  <bruno@clisp.org>
77460
77461         * lib/gl_list.h: Use C comment style, not C++ comment style.
77462
77463 2006-10-23  Eric Blake  <ebb9@byu.net>
77464
77465         * lib/getaddrinfo.c (includes): Add missing include.
77466
77467 2006-10-23  Bruno Haible  <bruno@clisp.org>
77468             Paul Eggert  <eggert@cs.ucla.edu>
77469
77470         Ability to rename obstack_free.
77471         * lib/obstack.h (__obstack_free): New macro. Declare instead of
77472         obstack_free.
77473         (obstack_free): Invoke the __obstack_free macro.
77474         * lib/obstack.c (obstack_free): Use __obstack_free macro.
77475
77476 2006-10-23  Bruno Haible  <bruno@clisp.org>
77477             Paul Eggert  <eggert@cs.ucla.edu>
77478
77479         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
77480         __argc, __argv from the declaration. (They are defined as macros on
77481         mingw.)
77482
77483 2006-10-22  Bruno Haible  <bruno@clisp.org>
77484
77485         * doc/gnulib-intro.texi: New file.
77486         * doc/gnulib.texi: Include it.
77487
77488 2006-10-21  Bruno Haible  <bruno@clisp.org>
77489
77490         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
77491         "Introduction", "Miscellanous Notes", "Particular Modules".
77492
77493 2006-10-21  Bruno Haible  <bruno@clisp.org>
77494
77495         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77496         Change mostlyclean-local rule to avoid sh syntax error from bash
77497         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
77498
77499 2006-10-23  Jim Meyering  <jim@meyering.net>
77500
77501         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
77502         in place of snprintf.
77503
77504         * modules/inttostr (Files): Add lib/uinttostr.c.
77505         * lib/uinttostr.c (inttostr): New file/function.
77506         * lib/inttostr.h (uinttostr): Declare.
77507         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
77508         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
77509         Add uinttostr.
77510         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
77511
77512 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
77513
77514         * lib/canonicalize.c (ELOOP): Define if not already defined.
77515         Problem reported by Bruno Haible in
77516         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
77517
77518 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
77519
77520         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
77521         Problem reported by Perry Smith and Ville Laurikari.
77522
77523         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
77524         uses.
77525
77526 2006-10-19  Bruno Haible  <bruno@clisp.org>
77527
77528         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
77529         for mingw.
77530
77531 2006-10-19  Bruno Haible  <bruno@clisp.org>
77532
77533         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
77534         Needed for mingw.
77535
77536 2006-10-19  Bruno Haible  <bruno@clisp.org>
77537
77538         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
77539
77540 2006-10-19  Bruno Haible  <bruno@clisp.org>
77541
77542         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
77543         it.
77544
77545 2006-10-19  Bruno Haible  <bruno@clisp.org>
77546
77547         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
77548         invocation.
77549
77550 2006-10-19  Bruno Haible  <bruno@clisp.org>
77551
77552         * gnulib-tool (func_create_testdir): Don't include ftruncate and
77553         mountlist by default.
77554
77555 2006-10-16  Bruno Haible  <bruno@clisp.org>
77556
77557         * lib/c-strstr.c: Include c-strstr.h.
77558
77559 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
77560
77561         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
77562         in a slash.
77563
77564 2006-10-18  Bruno Haible  <bruno@clisp.org>
77565
77566         * lib/lock.h [C++]: Wrap definitions in extern "C".
77567
77568 2006-10-18  Bruno Haible  <bruno@clisp.org>
77569
77570         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
77571         gl_LIBOBJS list.
77572
77573 2006-10-18  Bruno Haible  <bruno@clisp.org>
77574
77575         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
77576
77577 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
77578
77579         * lib/xstrtol.h: Include gettext.h.
77580         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
77581         Problem reported by Eric Blake.
77582         * modules/xstrtol (Depends-on): Add gettext-h.
77583
77584 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
77585
77586         * lib/strftime.c (advance): New macro.
77587         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
77588         incomplete type, so you can't add 0 to it.  Problem and patch
77589         reported by Eelco Dolstra for dietlibc.
77590
77591 2006-10-18  Jim Meyering  <jim@meyering.net>
77592
77593         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
77594         type for a local, and rename it: s/up/user_proc/.
77595
77596 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
77597
77598         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
77599         READ_UTMP_USER_PROCESS.
77600         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
77601
77602 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
77603
77604         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
77605         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
77606
77607 2006-10-17  Eric Blake  <ebb9@byu.net>
77608
77609         * lib/sigprocmask.c (sigprocmask): Fix typo.
77610
77611         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
77612
77613         * modules/clean-temp (Makefile.am): Don't add to make output...
77614         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
77615         config.h.
77616
77617 2006-10-17  Bruno Haible  <bruno@clisp.org>
77618
77619         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
77620         differently if DEFAULT_TEXT_DOMAIN is set.
77621
77622 2006-10-16  Bruno Haible  <bruno@clisp.org>
77623
77624         * lib/clean-temp.c: Include fwriteerror.h.
77625
77626 2006-10-16  Bruno Haible  <bruno@clisp.org>
77627
77628         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
77629
77630 2006-10-16  Bruno Haible  <bruno@clisp.org>
77631
77632         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
77633         * lib/sigprocmask.h: Include <sys/types.h>.
77634         (sigset_t): Use the system's definition if present.
77635
77636 2006-10-17  Eric Blake  <ebb9@byu.net>
77637
77638         * lib/xvasprintf.c (includes): Assume config.h.
77639         * lib/xasprintf.c (includes): Likewise.
77640
77641 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
77642
77643         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
77644         at least as wide as intmax_t.
77645
77646 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
77647
77648         (Imported from Automake.)
77649         * build-aux/gnupload: Update to version 1.1 of directive file.
77650
77651 2006-10-16  Eric Blake  <ebb9@byu.net>
77652
77653         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
77654         match Automake 1.10a.
77655
77656 2006-10-14  Bruno Haible  <bruno@clisp.org>
77657
77658         * modules/sigprocmask: New file.
77659         * lib/sigprocmask.h: New file.
77660         * lib/sigprocmask.c: New file.
77661         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
77662         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
77663         request sigprocmask.o.
77664         (gl_PREREQ_SIGPROCMASK): New macro.
77665         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
77666         (Depends-on): Add sigprocmask.
77667         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
77668         gt_SIGNALBLOCKING. Test for 'raise' only once.
77669         * lib/fatal-signal.c: Include sigprocmask.h.
77670         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
77671         unblock_fatal_signals): Define always.
77672         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77673         sigprocmask.
77674
77675 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77676
77677         Sync from Automake.
77678         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
77679         which incorrectly sets the mode of an existing destination
77680         directory.  In some cases the unpatched install-sh could do the
77681         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
77682         system.  We hope this is rare in practice, but it's clearly worth
77683         fixing.  Problem reported by Alex Unleashed in
77684         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
77685         Also, don't bother to check for -m bugs unless we're using -m;
77686         suggested by Stepan Kasal.
77687
77688 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77689
77690         Sync from Automake.
77691         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
77692         `-c' flag, so they appear at the same position as in %FASTDEP%
77693         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
77694         which ignores unknown options only after the first non-option.
77695         Bug report against M4 by Nelson H. F. Beebe.
77696
77697 2006-10-13  Jim Meyering  <jim@meyering.net>
77698
77699         Fix a bug in yesterday's change.
77700         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
77701         p->fts_statp->st_dev would be used uninitialized.
77702         Ensures that we always call fts_stat on the very first entry.
77703         Miklos Szeredi reported that find -xdev stopped working.
77704
77705 2006-10-12  Bruno Haible  <bruno@clisp.org>
77706
77707         * gnulib-tool (func_get_automake_snippet): Append an automatically
77708         computed EXTRA_DIST augmentation.
77709         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
77710         * modules/alloca-opt (Makefile.am): Likewise.
77711         * modules/allocsa (Makefile.am): Likewise.
77712         * modules/arcfour (Makefile.am): Likewise.
77713         * modules/arctwo (Makefile.am): Likewise.
77714         * modules/argmatch (Makefile.am): Likewise.
77715         * modules/argz (Makefile.am): Likewise.
77716         * modules/atexit (Makefile.am): Likewise.
77717         * modules/backupfile (Makefile.am): Likewise.
77718         * modules/byteswap (Makefile.am): Likewise.
77719         * modules/c-strtod (Makefile.am): Likewise.
77720         * modules/c-strtold (Makefile.am): Likewise.
77721         * modules/calloc (Makefile.am): Likewise.
77722         * modules/canon-host (Makefile.am): Likewise.
77723         * modules/canonicalize (Makefile.am): Likewise.
77724         * modules/chdir-long (Makefile.am): Likewise.
77725         * modules/chdir-safer (Makefile.am): Likewise.
77726         * modules/check-version (Makefile.am): Likewise.
77727         * modules/chown (Makefile.am): Likewise.
77728         * modules/cloexec (Makefile.am): Likewise.
77729         * modules/close-stream (Makefile.am): Likewise.
77730         * modules/closeout (Makefile.am): Likewise.
77731         * modules/crc (Makefile.am): Likewise.
77732         * modules/csharpexec (Makefile.am): Likewise.
77733         * modules/cycle-check (Makefile.am): Likewise.
77734         * modules/des (Makefile.am): Likewise.
77735         * modules/dev-ino (Makefile.am): Likewise.
77736         * modules/dirfd (Makefile.am): Likewise.
77737         * modules/dirname (Makefile.am): Likewise.
77738         * modules/dup2 (Makefile.am): Likewise.
77739         * modules/eealloc (Makefile.am): Likewise.
77740         * modules/error (Makefile.am): Likewise.
77741         * modules/euidaccess (Makefile.am): Likewise.
77742         * modules/exclude (Makefile.am): Likewise.
77743         * modules/exitfail (Makefile.am): Likewise.
77744         * modules/fcntl-safer (Makefile.am): Likewise.
77745         * modules/fcntl (Makefile.am): Likewise.
77746         * modules/file-type (Makefile.am): Likewise.
77747         * modules/fileblocks (Makefile.am): Likewise.
77748         * modules/filemode (Makefile.am): Likewise.
77749         * modules/filenamecat (Makefile.am): Likewise.
77750         * modules/fnmatch (Makefile.am): Likewise.
77751         * modules/fopen-safer (Makefile.am): Likewise.
77752         * modules/fpending (Makefile.am): Likewise.
77753         * modules/fprintftime (Makefile.am): Likewise.
77754         * modules/free (Makefile.am): Likewise.
77755         * modules/fsusage (Makefile.am): Likewise.
77756         * modules/ftruncate (Makefile.am): Likewise.
77757         * modules/fts (Makefile.am): Likewise.
77758         * modules/gc-arcfour (Makefile.am): Likewise.
77759         * modules/gc-des (Makefile.am): Likewise.
77760         * modules/gc-hmac-md5 (Makefile.am): Likewise.
77761         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
77762         * modules/gc-md4 (Makefile.am): Likewise.
77763         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77764         * modules/gc-sha1 (Makefile.am): Likewise.
77765         * modules/gc (Makefile.am): Likewise.
77766         * modules/getaddrinfo (Makefile.am): Likewise.
77767         * modules/getcwd (Makefile.am): Likewise.
77768         * modules/getdelim (Makefile.am): Likewise.
77769         * modules/getdomainname (Makefile.am): Likewise.
77770         * modules/getgroups (Makefile.am): Likewise.
77771         * modules/gethostname (Makefile.am): Likewise.
77772         * modules/gethrxtime (Makefile.am): Likewise.
77773         * modules/getline (Makefile.am): Likewise.
77774         * modules/getloadavg (Makefile.am): Likewise.
77775         * modules/getlogin_r (Makefile.am): Likewise.
77776         * modules/getndelim2 (Makefile.am): Likewise.
77777         * modules/getopt (Makefile.am): Likewise.
77778         * modules/getpagesize (Makefile.am): Likewise.
77779         * modules/getpass-gnu (Makefile.am): Likewise.
77780         * modules/getpass (Makefile.am): Likewise.
77781         * modules/getsubopt (Makefile.am): Likewise.
77782         * modules/gettime (Makefile.am): Likewise.
77783         * modules/gettimeofday (Makefile.am): Likewise.
77784         * modules/getugroups (Makefile.am): Likewise.
77785         * modules/getusershell (Makefile.am): Likewise.
77786         * modules/glob (Makefile.am): Likewise.
77787         * modules/group-member (Makefile.am): Likewise.
77788         * modules/hard-locale (Makefile.am): Likewise.
77789         * modules/hash (Makefile.am): Likewise.
77790         * modules/hmac-md5 (Makefile.am): Likewise.
77791         * modules/hmac-sha1 (Makefile.am): Likewise.
77792         * modules/human (Makefile.am): Likewise.
77793         * modules/idcache (Makefile.am): Likewise.
77794         * modules/imaxabs (Makefile.am): Likewise.
77795         * modules/imaxdiv (Makefile.am): Likewise.
77796         * modules/inet_ntop (Makefile.am): Likewise.
77797         * modules/inet_pton (Makefile.am): Likewise.
77798         * modules/intprops (Makefile.am): Likewise.
77799         * modules/inttostr (Makefile.am): Likewise.
77800         * modules/inttypes (Makefile.am): Likewise.
77801         * modules/isapipe (Makefile.am): Likewise.
77802         * modules/javaversion (Makefile.am): Likewise.
77803         * modules/lchmod (Makefile.am): Likewise.
77804         * modules/lchown (Makefile.am): Likewise.
77805         * modules/localcharset (Makefile.am): Likewise.
77806         * modules/long-options (Makefile.am): Likewise.
77807         * modules/lstat (Makefile.am): Likewise.
77808         * modules/malloc (Makefile.am): Likewise.
77809         * modules/mathl (Makefile.am): Likewise.
77810         * modules/mbchar (Makefile.am): Likewise.
77811         * modules/md2 (Makefile.am): Likewise.
77812         * modules/md4 (Makefile.am): Likewise.
77813         * modules/md5 (Makefile.am): Likewise.
77814         * modules/memcasecmp (Makefile.am): Likewise.
77815         * modules/memchr (Makefile.am): Likewise.
77816         * modules/memcmp (Makefile.am): Likewise.
77817         * modules/memcoll (Makefile.am): Likewise.
77818         * modules/memcpy (Makefile.am): Likewise.
77819         * modules/memmem (Makefile.am): Likewise.
77820         * modules/memmove (Makefile.am): Likewise.
77821         * modules/mempcpy (Makefile.am): Likewise.
77822         * modules/memrchr (Makefile.am): Likewise.
77823         * modules/memset (Makefile.am): Likewise.
77824         * modules/memxor (Makefile.am): Likewise.
77825         * modules/mkancesdirs (Makefile.am): Likewise.
77826         * modules/mkdir-p (Makefile.am): Likewise.
77827         * modules/mkdir (Makefile.am): Likewise.
77828         * modules/mkdtemp (Makefile.am): Likewise.
77829         * modules/mkstemp (Makefile.am): Likewise.
77830         * modules/mktime (Makefile.am): Likewise.
77831         * modules/modechange (Makefile.am): Likewise.
77832         * modules/mountlist (Makefile.am): Likewise.
77833         * modules/nanosleep (Makefile.am): Likewise.
77834         * modules/obstack (Makefile.am): Likewise.
77835         * modules/openat (Makefile.am): Likewise.
77836         * modules/pagealign_alloc (Makefile.am): Likewise.
77837         * modules/pathmax (Makefile.am): Likewise.
77838         * modules/physmem (Makefile.am): Likewise.
77839         * modules/poll (Makefile.am): Likewise.
77840         * modules/posixtm (Makefile.am): Likewise.
77841         * modules/posixver (Makefile.am): Likewise.
77842         * modules/putenv (Makefile.am): Likewise.
77843         * modules/quote (Makefile.am): Likewise.
77844         * modules/quotearg (Makefile.am): Likewise.
77845         * modules/raise (Makefile.am): Likewise.
77846         * modules/read-file (Makefile.am): Likewise.
77847         * modules/readline (Makefile.am): Likewise.
77848         * modules/readlink (Makefile.am): Likewise.
77849         * modules/readtokens (Makefile.am): Likewise.
77850         * modules/readutmp (Makefile.am): Likewise.
77851         * modules/realloc (Makefile.am): Likewise.
77852         * modules/regex (Makefile.am): Likewise.
77853         * modules/rename-dest-slash (Makefile.am): Likewise.
77854         * modules/rename (Makefile.am): Likewise.
77855         * modules/rijndael (Makefile.am): Likewise.
77856         * modules/rmdir (Makefile.am): Likewise.
77857         * modules/rpmatch (Makefile.am): Likewise.
77858         * modules/safe-read (Makefile.am): Likewise.
77859         * modules/safe-write (Makefile.am): Likewise.
77860         * modules/same-inode (Makefile.am): Likewise.
77861         * modules/same (Makefile.am): Likewise.
77862         * modules/save-cwd (Makefile.am): Likewise.
77863         * modules/savedir (Makefile.am): Likewise.
77864         * modules/setenv (Makefile.am): Likewise.
77865         * modules/settime (Makefile.am): Likewise.
77866         * modules/sha1 (Makefile.am): Likewise.
77867         * modules/sig2str (Makefile.am): Likewise.
77868         * modules/snprintf (Makefile.am): Likewise.
77869         * modules/stat-macros (Makefile.am): Likewise.
77870         * modules/stat-time (Makefile.am): Likewise.
77871         * modules/stdbool (Makefile.am): Likewise.
77872         * modules/stdint (Makefile.am): Likewise.
77873         * modules/stdlib-safer (Makefile.am): Likewise.
77874         * modules/stpcpy (Makefile.am): Likewise.
77875         * modules/stpncpy (Makefile.am): Likewise.
77876         * modules/strcase (Makefile.am): Likewise.
77877         * modules/strcasestr (Makefile.am): Likewise.
77878         * modules/strchrnul (Makefile.am): Likewise.
77879         * modules/strcspn (Makefile.am): Likewise.
77880         * modules/strdup (Makefile.am): Likewise.
77881         * modules/strerror (Makefile.am): Likewise.
77882         * modules/strftime (Makefile.am): Likewise.
77883         * modules/strndup (Makefile.am): Likewise.
77884         * modules/strnlen (Makefile.am): Likewise.
77885         * modules/strpbrk (Makefile.am): Likewise.
77886         * modules/strsep (Makefile.am): Likewise.
77887         * modules/strstr (Makefile.am): Likewise.
77888         * modules/strtod (Makefile.am): Likewise.
77889         * modules/strtoimax (Makefile.am): Likewise.
77890         * modules/strtok_r (Makefile.am): Likewise.
77891         * modules/strtol (Makefile.am): Likewise.
77892         * modules/strtoll (Makefile.am): Likewise.
77893         * modules/strtoul (Makefile.am): Likewise.
77894         * modules/strtoull (Makefile.am): Likewise.
77895         * modules/strtoumax (Makefile.am): Likewise.
77896         * modules/strverscmp (Makefile.am): Likewise.
77897         * modules/sys_socket (Makefile.am): Likewise.
77898         * modules/sys_stat (Makefile.am): Likewise.
77899         * modules/sysexits (Makefile.am): Likewise.
77900         * modules/time_r (Makefile.am): Likewise.
77901         * modules/timegm (Makefile.am): Likewise.
77902         * modules/timespec (Makefile.am): Likewise.
77903         * modules/tmpfile-safer (Makefile.am): Likewise.
77904         * modules/trim (Makefile.am): Likewise.
77905         * modules/unistd-safer (Makefile.am): Likewise.
77906         * modules/unlinkdir (Makefile.am): Likewise.
77907         * modules/unlocked-io (Makefile.am): Likewise.
77908         * modules/userspec (Makefile.am): Likewise.
77909         * modules/utime (Makefile.am): Likewise.
77910         * modules/utimecmp (Makefile.am): Likewise.
77911         * modules/utimens (Makefile.am): Likewise.
77912         * modules/vasnprintf (Makefile.am): Likewise.
77913         * modules/vasprintf (Makefile.am): Likewise.
77914         * modules/vsnprintf (Makefile.am): Likewise.
77915         * modules/xalloc (Makefile.am): Likewise.
77916         * modules/xgetcwd (Makefile.am): Likewise.
77917         * modules/xnanosleep (Makefile.am): Likewise.
77918         * modules/xreadlink (Makefile.am): Likewise.
77919         * modules/xstrtod (Makefile.am): Likewise.
77920         * modules/xstrtol (Makefile.am): Likewise.
77921         * modules/xstrtold (Makefile.am): Likewise.
77922         * modules/yesno (Makefile.am): Likewise.
77923         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
77924
77925 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77926
77927         * modules/error (Makefile.am): Distribute files through
77928         EXTRA_DIST, not lib_SOURCES.
77929
77930 2006-10-12  Eric Blake  <ebb9@byu.net>
77931
77932         * modules/error (Makefile.am): Distribute files in /lib.
77933         * modules/obstack (Makefile.am): Likewise.
77934
77935 2006-10-12  Bruno Haible  <bruno@clisp.org>
77936
77937         * modules/acl (Makefile.am): Distribute all files in lib/ through
77938         EXTRA_DIST.
77939         * modules/arcfour (Makefile.am): Likewise.
77940         * modules/arctwo (Makefile.am): Likewise.
77941         * modules/argmatch (Makefile.am): Likewise.
77942         * modules/argz (Makefile.am): Likewise.
77943         * modules/atexit (Makefile.am): Likewise.
77944         * modules/backupfile (Makefile.am): Likewise.
77945         * modules/c-strtod (Makefile.am): Likewise.
77946         * modules/c-strtold (Makefile.am): Likewise.
77947         * modules/calloc (Makefile.am): Likewise.
77948         * modules/canon-host (Makefile.am): Likewise.
77949         * modules/canonicalize (Makefile.am): Likewise.
77950         * modules/chdir-long (Makefile.am): Likewise.
77951         * modules/chdir-safer (Makefile.am): Likewise.
77952         * modules/check-version (Makefile.am): Likewise.
77953         * modules/chown (Makefile.am): Likewise.
77954         * modules/cloexec (Makefile.am): Likewise.
77955         * modules/close-stream (Makefile.am): Likewise.
77956         * modules/closeout (Makefile.am): Likewise.
77957         * modules/crc (Makefile.am): Likewise.
77958         * modules/cycle-check (Makefile.am): Likewise.
77959         * modules/des (Makefile.am): Likewise.
77960         * modules/dirfd (Makefile.am): Likewise.
77961         * modules/dirname (Makefile.am): Likewise.
77962         * modules/dup2 (Makefile.am): Likewise.
77963         * modules/euidaccess (Makefile.am): Likewise.
77964         * modules/exclude (Makefile.am): Likewise.
77965         * modules/exitfail (Makefile.am): Likewise.
77966         * modules/fcntl-safer (Makefile.am): Likewise.
77967         * modules/file-type (Makefile.am): Likewise.
77968         * modules/fileblocks (Makefile.am): Likewise.
77969         * modules/filemode (Makefile.am): Likewise.
77970         * modules/filenamecat (Makefile.am): Likewise.
77971         * modules/fnmatch (Makefile.am): Likewise.
77972         * modules/fopen-safer (Makefile.am): Likewise.
77973         * modules/fpending (Makefile.am): Likewise.
77974         * modules/fprintftime (Makefile.am): Likewise.
77975         * modules/free (Makefile.am): Likewise.
77976         * modules/fsusage (Makefile.am): Likewise.
77977         * modules/ftruncate (Makefile.am): Likewise.
77978         * modules/fts (Makefile.am): Likewise.
77979         * modules/gc (Makefile.am): Likewise.
77980         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77981         * modules/getaddrinfo (Makefile.am): Likewise.
77982         * modules/getcwd (Makefile.am): Likewise.
77983         * modules/getdelim (Makefile.am): Likewise.
77984         * modules/getdomainname (Makefile.am): Likewise.
77985         * modules/getgroups (Makefile.am): Likewise.
77986         * modules/gethostname (Makefile.am): Likewise.
77987         * modules/gethrxtime (Makefile.am): Likewise.
77988         * modules/getline (Makefile.am): Likewise.
77989         * modules/getloadavg (Makefile.am): Likewise.
77990         * modules/getlogin_r (Makefile.am): Likewise.
77991         * modules/getopt (Makefile.am): Likewise.
77992         * modules/getpass (Makefile.am): Likewise.
77993         * modules/getpass-gnu (Makefile.am): Likewise.
77994         * modules/getsubopt (Makefile.am): Likewise.
77995         * modules/gettime (Makefile.am): Likewise.
77996         * modules/gettimeofday (Makefile.am): Likewise.
77997         * modules/getugroups (Makefile.am): Likewise.
77998         * modules/getusershell (Makefile.am): Likewise.
77999         * modules/glob (Makefile.am): Likewise.
78000         * modules/group-member (Makefile.am): Likewise.
78001         * modules/hard-locale (Makefile.am): Likewise.
78002         * modules/hash (Makefile.am): Likewise.
78003         * modules/hmac-md5 (Makefile.am): Likewise.
78004         * modules/hmac-sha1 (Makefile.am): Likewise.
78005         * modules/human (Makefile.am): Likewise.
78006         * modules/idcache (Makefile.am): Likewise.
78007         * modules/imaxabs (Makefile.am): Likewise.
78008         * modules/imaxdiv (Makefile.am): Likewise.
78009         * modules/inet_ntop (Makefile.am): Likewise.
78010         * modules/inet_pton (Makefile.am): Likewise.
78011         * modules/inttostr (Makefile.am): Likewise.
78012         * modules/isapipe (Makefile.am): Likewise.
78013         * modules/lchown (Makefile.am): Likewise.
78014         * modules/long-options (Makefile.am): Likewise.
78015         * modules/lstat (Makefile.am): Likewise.
78016         * modules/malloc (Makefile.am): Likewise.
78017         * modules/mathl (Makefile.am): Likewise.
78018         * modules/mbchar (Makefile.am): Likewise.
78019         * modules/md2 (Makefile.am): Likewise.
78020         * modules/md4 (Makefile.am): Likewise.
78021         * modules/md5 (Makefile.am): Likewise.
78022         * modules/memcasecmp (Makefile.am): Likewise.
78023         * modules/memchr (Makefile.am): Likewise.
78024         * modules/memcmp (Makefile.am): Likewise.
78025         * modules/memcoll (Makefile.am): Likewise.
78026         * modules/memcpy (Makefile.am): Likewise.
78027         * modules/memmem (Makefile.am): Likewise.
78028         * modules/memmove (Makefile.am): Likewise.
78029         * modules/mempcpy (Makefile.am): Likewise.
78030         * modules/memrchr (Makefile.am): Likewise.
78031         * modules/memset (Makefile.am): Likewise.
78032         * modules/memxor (Makefile.am): Likewise.
78033         * modules/mkancesdirs (Makefile.am): Likewise.
78034         * modules/mkdir (Makefile.am): Likewise.
78035         * modules/mkdir-p (Makefile.am): Likewise.
78036         * modules/mkdtemp (Makefile.am): Likewise.
78037         * modules/mkstemp (Makefile.am): Likewise.
78038         * modules/mktime (Makefile.am): Likewise.
78039         * modules/modechange (Makefile.am): Likewise.
78040         * modules/mountlist (Makefile.am): Likewise.
78041         * modules/nanosleep (Makefile.am): Likewise.
78042         * modules/openat (Makefile.am): Likewise.
78043         * modules/pagealign_alloc (Makefile.am): Likewise.
78044         * modules/physmem (Makefile.am): Likewise.
78045         * modules/poll (Makefile.am): Likewise.
78046         * modules/posixtm (Makefile.am): Likewise.
78047         * modules/posixver (Makefile.am): Likewise.
78048         * modules/putenv (Makefile.am): Likewise.
78049         * modules/quote (Makefile.am): Likewise.
78050         * modules/quotearg (Makefile.am): Likewise.
78051         * modules/raise (Makefile.am): Likewise.
78052         * modules/read-file (Makefile.am): Likewise.
78053         * modules/readline (Makefile.am): Likewise.
78054         * modules/readlink (Makefile.am): Likewise.
78055         * modules/readtokens (Makefile.am): Likewise.
78056         * modules/readutmp (Makefile.am): Likewise.
78057         * modules/realloc (Makefile.am): Likewise.
78058         * modules/regex (Makefile.am): Likewise.
78059         * modules/rename (Makefile.am): Likewise.
78060         * modules/rename-dest-slash (Makefile.am): Likewise.
78061         * modules/rijndael (Makefile.am): Likewise.
78062         * modules/rmdir (Makefile.am): Likewise.
78063         * modules/rpmatch (Makefile.am): Likewise.
78064         * modules/safe-read (Makefile.am): Likewise.
78065         * modules/safe-write (Makefile.am): Likewise.
78066         * modules/same (Makefile.am): Likewise.
78067         * modules/save-cwd (Makefile.am): Likewise.
78068         * modules/savedir (Makefile.am): Likewise.
78069         * modules/setenv (Makefile.am): Likewise.
78070         * modules/settime (Makefile.am): Likewise.
78071         * modules/sha1 (Makefile.am): Likewise.
78072         * modules/sig2str (Makefile.am): Likewise.
78073         * modules/snprintf (Makefile.am): Likewise.
78074         * modules/stdlib-safer (Makefile.am): Likewise.
78075         * modules/stpcpy (Makefile.am): Likewise.
78076         * modules/stpncpy (Makefile.am): Likewise.
78077         * modules/strcase (Makefile.am): Likewise.
78078         * modules/strcasestr (Makefile.am): Likewise.
78079         * modules/strchrnul (Makefile.am): Likewise.
78080         * modules/strcspn (Makefile.am): Likewise.
78081         * modules/strdup (Makefile.am): Likewise.
78082         * modules/strerror (Makefile.am): Likewise.
78083         * modules/strftime (Makefile.am): Likewise.
78084         * modules/strndup (Makefile.am): Likewise.
78085         * modules/strnlen (Makefile.am): Likewise.
78086         * modules/strpbrk (Makefile.am): Likewise.
78087         * modules/strsep (Makefile.am): Likewise.
78088         * modules/strstr (Makefile.am): Likewise.
78089         * modules/strtod (Makefile.am): Likewise.
78090         * modules/strtoimax (Makefile.am): Likewise.
78091         * modules/strtok_r (Makefile.am): Likewise.
78092         * modules/strtol (Makefile.am): Likewise.
78093         * modules/strtoll (Makefile.am): Likewise.
78094         * modules/strtoul (Makefile.am): Likewise.
78095         * modules/strtoull (Makefile.am): Likewise.
78096         * modules/strtoumax (Makefile.am): Likewise.
78097         * modules/strverscmp (Makefile.am): Likewise.
78098         * modules/time_r (Makefile.am): Likewise.
78099         * modules/timegm (Makefile.am): Likewise.
78100         * modules/tmpfile-safer (Makefile.am): Likewise.
78101         * modules/unistd-safer (Makefile.am): Likewise.
78102         * modules/unlinkdir (Makefile.am): Likewise.
78103         * modules/userspec (Makefile.am): Likewise.
78104         * modules/utime (Makefile.am): Likewise.
78105         * modules/utimecmp (Makefile.am): Likewise.
78106         * modules/utimens (Makefile.am): Likewise.
78107         * modules/vasnprintf (Makefile.am): Likewise.
78108         * modules/vasprintf (Makefile.am): Likewise.
78109         * modules/vsnprintf (Makefile.am): Likewise.
78110         * modules/xalloc (Makefile.am): Likewise.
78111         * modules/xgetcwd (Makefile.am): Likewise.
78112         * modules/xnanosleep (Makefile.am): Likewise.
78113         * modules/xreadlink (Makefile.am): Likewise.
78114         * modules/xstrtod (Makefile.am): Likewise.
78115         * modules/xstrtol (Makefile.am): Likewise.
78116         * modules/xstrtold (Makefile.am): Likewise.
78117         * modules/yesno (Makefile.am): Likewise.
78118
78119 2006-10-12  Jim Meyering  <jim@meyering.net>
78120
78121         * m4/getloadavg.m4: Revert the change below.
78122
78123         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
78124         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
78125         fail with a symlink, which is what coreutils' ./bootstrap now
78126         creates by default.
78127
78128 2006-10-12  Bruno Haible  <bruno@clisp.org>
78129
78130         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
78131         mingw.
78132         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
78133         MSVC and mingw explicitly.
78134
78135 2006-10-11  Simon Josefsson  <jas@extundo.com>
78136             Bruno Haible  <bruno@clisp.org>
78137
78138         Add support for multiple gnulib-tool invocations in the scope of a
78139         single configure.ac file.
78140         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
78141         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
78142         with the same contents as the _LIBADD variable.
78143         (func_emit_initmacro_start, func_emit_initmacro_end,
78144         func_emit_initmacro_done): New functions.
78145         (func_import, func_create_testdir): Invoke them. Allow the identifiers
78146         gl_LIBOBJS and gl_LTLIBOBJS.
78147
78148 2006-10-11  Bruno Haible  <bruno@clisp.org>
78149
78150         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
78151         (func_create_testdir): Don't create po/Makefile.am, don't invoke
78152         autoreconf. Instead, invoke autopoint explicitly but move back the
78153         *.m4 files from gnulib.
78154
78155 2006-10-11  Bruno Haible  <bruno@clisp.org>
78156
78157         * gnulib-tool (func_usage): Make module names after --create-testdir
78158         optional.
78159         (func_create_testdir): If no module was specified, use nearly all
78160         modules.
78161
78162 2006-10-12  Jim Meyering  <jim@meyering.net>
78163
78164         Big performance improvement for fts-based tools that use FTS_NOSTAT.
78165         Avoid spurious inode-mismatch problems on non-POSIX file systems.
78166         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
78167         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
78168         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
78169         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
78170         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
78171         (fts_set_stat_required): New function.
78172         (fts_open): Defer the calls to fts_stat, if possible or requested.
78173         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
78174         into fts_stat itself.
78175         (fts_read): Perform any required (deferred) fts_stat call.
78176         (fts_build): Likewise, for the directory we're about to open and read.
78177         In the readdir loop, carefully decide whether each entry will require
78178         an eventual call to fts_stat, using dirent.d_type info if available.
78179         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
78180         a command line argument into this function.  Update all callers.
78181         Map a return value of FTS_DOT to FTS_D for a command line argument.
78182         * modules/fts (Depends-on): Add d-type.  Alphabetize.
78183         Thanks to Miklos Szeredi for his tenacity and for the initial
78184         bug report about "find" failing on a FUSE-based file system.
78185
78186         * lib/fts.c (fts_open): Use consistent indentation.
78187
78188 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
78189
78190         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
78191         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
78192         reported by Jim Meyering.  All uses of cache variables renamed
78193         to match Autoconf's.
78194         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
78195         the other one.
78196
78197         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
78198         Fix misspelling in diagnostic.
78199
78200 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
78201
78202         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
78203         defined.  Problem reported by Matthew Woehlke.
78204
78205         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
78206         Add support for Tandem NonStop R series.
78207         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
78208         Use new macro.
78209
78210         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
78211         (has_trailing_slash): Omit size arg; all callers changed.
78212         Omit 'inline', since it doesn't help performance and we'd
78213         need to configure it.
78214         Don't count //, ///, etc. as having a trailing slash.
78215         As a side effect, this removes a C99ism reported by Matthew Woehlke.
78216         (rpl_rename_dest_slash): On failure, use rename's errno rather
78217         than (in some cases) an incorrect or junk errno.
78218         Simplify code by removing need to compute length; this does
78219         cause it to make two passes instead of one over the file name,
78220         but it's worth it.
78221
78222         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
78223         change, since Autoconf's version may no longer be appropriate now
78224         that we are using CVS Autoconf's version.  Add support for Tandem.
78225
78226 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
78227             Bruno Haible  <bruno@clisp.org>
78228
78229         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
78230         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
78231         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
78232         gl_AC_TYPE_LONG_LONG.
78233
78234         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
78235         instead of HAVE_LONG_LONG.
78236         * lib/printf-args.c (printf_fetchargs): Likewise.
78237         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
78238         * lib/vasnprintf.c (VASNPRINTF): Likewise.
78239         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
78240         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
78241         gl_AC_TYPE_LONG_LONG.
78242
78243 2006-10-11  Bruno Haible  <bruno@clisp.org>
78244
78245         * m4/longlong.m4: Add comments.
78246         * m4/ulonglong.m4: Likewise.
78247
78248 2006-10-10  Bruno Haible  <bruno@clisp.org>
78249
78250         Make it possible to #define stpcpy, strdup to aliases.
78251         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
78252         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
78253
78254 2006-10-10  Bruno Haible  <bruno@clisp.org>
78255
78256         Make it possible to #define gcd to an alias.
78257         * lib/gcd.c: Include config.h.
78258
78259 2006-10-10  Bruno Haible  <bruno@clisp.org>
78260
78261         Make it possible to #define c_isascii to an alias.
78262         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
78263         defined. Undefine the macros before defining them, to avoid gcc
78264         warnings.
78265         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
78266         define NO_C_CTYPE_MACROS early.
78267
78268 2006-10-10  Bruno Haible  <bruno@clisp.org>
78269
78270         Make it possible to #define set_program_name to an alias.
78271         * lib/progname.c: Don't undefine set_program_name; instead, undefine
78272         ENABLE_RELOCATABLE early.
78273
78274 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78275
78276         Port to Tandem NSK OSS, which has 64-bit signed int but at most
78277         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
78278         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
78279         More generally, don't assume that 64-bit signed int is available
78280         if unsigned int is, and vice versa.
78281         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
78282         unsigned symbols, not on their signed counterparts.
78283         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
78284         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
78285         (UINT64_C, UINTMAX_C):
78286         Likewise.
78287         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
78288         unsigned counterparts.
78289         (Have_long_long, Unsigned): New macros.
78290         (Int): Renamed from INT.
78291         (strtoimax): Use the new macros.
78292         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
78293         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
78294         * modules/inttypes (inttypes.h): Substitute
78295         HAVE_UNSIGNED_LONG_LONG_INT.
78296         * modules/stdint (stdint.h): Likewise.
78297         (Files): Add m4/ulonglong.m4.
78298
78299 2006-10-10  Bruno Haible  <bruno@clisp.org>
78300
78301         Fix a gcc -Wshadow warning.
78302         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
78303         to 'bucket'.
78304         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
78305         gl_linked_indexof_from_to): Likewise.
78306         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
78307         Likewise.
78308         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
78309         Likewise.
78310         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
78311         Reported by Eric Blake.
78312
78313 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
78314
78315         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
78316         for NetBSD.  Problem reported by Bruno Haible.
78317
78318 2006-10-09  Jim Meyering  <jim@meyering.net>
78319
78320         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
78321         Patch from Bruno Haible.
78322
78323 2006-10-09  Jim Meyering  <jim@meyering.net>
78324
78325         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
78326         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
78327         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
78328
78329 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
78330
78331         Don't include <config.h> twice; this doesn't work in some cases,
78332         e.g., when config.h has "#define intmax_t long long int" and
78333         we include <config.h>, <inttypes.h>, <config.h> in that order.
78334         Problem reported by Matthew Woehlke in:
78335         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
78336         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
78337         * lib/fts-cycle.c: Don't include config.h.
78338         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
78339         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
78340         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
78341         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
78342         inttypes.h.
78343         * lib/xstrtoumax.c: Likewise.
78344         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
78345         __strtol and the like, so that this module is more like its siblings.
78346         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
78347         Remove; no longer needed now that we assume gnulib inttypes.h.
78348
78349 2006-10-08  Bruno Haible  <bruno@clisp.org>
78350
78351         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
78352         option.
78353
78354 2006-10-07  Jim Meyering  <jim@meyering.net>
78355
78356         * modules/inttypes (inttypes.h): Revert what seems to have been
78357         an inadvertent part of today's change: use "|", not "/" in the
78358         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
78359
78360 2006-10-07  Bruno Haible  <bruno@clisp.org>
78361
78362         * modules/sublist: New file.
78363
78364 2006-10-07  Bruno Haible  <bruno@clisp.org>
78365
78366         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
78367         * modules/argz (argz.h): Likewise.
78368         * modules/arpa_inet (arpa/inet.h): Likewise.
78369         * modules/byteswap (byteswap.h): Likewise.
78370         * modules/configmake (configmake.h): Likewise.
78371         * modules/fcntl (fcntl.h): Likewise.
78372         * modules/fnmatch (fnmatch.h): Likewise.
78373         * modules/getopt (getopt.h): Likewise.
78374         * modules/glob (glob.h): Likewise.
78375         * modules/inttypes (inttypes.h): Likewise.
78376         * modules/netinet_in (netinet/in.h): Likewise.
78377         * modules/poll (poll.h): Likewise.
78378         * modules/stdbool (stdbool.h): Likewise.
78379         * modules/stdint (stdint.h): Likewise.
78380         * modules/sys_select (sys/select.h): Likewise.
78381         * modules/sys_socket (sys/socket.h): Likewise.
78382         * modules/sys_stat (sys/stat.h): Likewise.
78383         * modules/sysexits (sysexits.h): Likewise.
78384         * modules/unistd (unistd.h): Likewise.
78385         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78386         Add a "DO NOT EDIT" comment to the generated file.
78387         (func_import): Likewise for gnulib-comp.m4.
78388
78389 2006-10-07  Bruno Haible  <bruno@clisp.org>
78390
78391         * lib/gl_sublist.h: New file.
78392         * lib/gl_sublist.c: New file.
78393
78394 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78395
78396         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
78397         name (relative to the original working directory) and the file
78398         name component (relative to the temporary working directory).  All
78399         callers changed.
78400         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
78401         * lib/mkdir-p.c (make_dir_parents): Likewise.
78402         * lib/mkdir-p.h (make_dir_parents): Likewise.
78403
78404 2006-10-06  Eric Blake  <ebb9@byu.net>
78405
78406         Define several macros for use by the clean-temp module.
78407         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
78408         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
78409         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
78410
78411         * lib/clean-temp.h (close_stream_temp): New declaration.
78412         * lib/clean-temp.c (includes): Pull in headers according to what
78413         other modules are in use.
78414         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
78415
78416 2006-10-06  Bruno Haible  <bruno@clisp.org>
78417
78418         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
78419         instead of fopen, fwriteerror.
78420
78421 2006-10-06  Bruno Haible  <bruno@clisp.org>
78422
78423         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
78424         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
78425         int.
78426         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
78427         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
78428         Return an error indicator.
78429         Suggested by Eric Blake.
78430
78431 2006-10-06  Bruno Haible  <bruno@clisp.org>
78432
78433         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
78434         Reported by Eric Blake.
78435
78436 2006-10-06  Bruno Haible  <bruno@clisp.org>
78437
78438         * modules/closeout (Description): Mention stderr too.
78439
78440 2006-10-06  Bruno Haible  <bruno@clisp.org>
78441         and Paul Eggert  <eggert@cs.ucla.edu>
78442
78443         * lib/closeout.c (close_stdout): Also close stderr.
78444         * lib/closeout.h: Update comment.
78445
78446 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
78447
78448         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
78449         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
78450         * lib/dirchownmod.c: Include lchown.h.
78451         * lib/lchown.c: Don't include files that lchown.h now includes.
78452         Don't declare chown, since lchown.h now does that.
78453         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
78454         (lchown): Define to rpl_chown if lchown is declared but
78455         does not exist.  Declare using a prototype if lchown is not
78456         declared.  Add a copyright notice.
78457         * lib/mkstemp.h: Include <unistd.h>.
78458         * lib/openat.c: Include lchown.h.
78459
78460         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
78461         we now test for that separately.
78462         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
78463         rather than O_NOFOLLOW, when testing whether it's possible to
78464         avoid a race condition reliably.
78465         * lib/savewd.c (savewd_chdir): Likewise.
78466
78467         Remove macros that are no longer needed now that stdint.h is
78468         reliable.
78469         * lib/fsusage.c (UINTMAX_MAX): Remove.
78470         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
78471         * lib/utimecmp.c (SIZE_MAX): Remove.
78472
78473         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
78474
78475         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
78476         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
78477         O_NOATIME works.
78478
78479 2006-10-05  Bruno Haible  <bruno@clisp.org>
78480
78481         * lib/gl_list.h (gl_sortedlist_search_from_to,
78482         gl_sortedlist_indexof_from_to): New declarations.
78483         (gl_list_implementation): New fields sortedlist_search_from_to,
78484         sortedlist_indexof_from_to.
78485         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
78486         inline functions.
78487         * lib/gl_list.c (gl_sortedlist_search_from_to,
78488         gl_sortedlist_indexof_from_to): New functions.
78489         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
78490         function.
78491         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
78492         (gl_array_sortedlist_search_from_to): New function.
78493         (gl_array_list_implementation): Update.
78494         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
78495         function.
78496         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
78497         (gl_carray_sortedlist_search_from_to): New function.
78498         (gl_carray_list_implementation): Update.
78499         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
78500         gl_linked_sortedlist_indexof_from_to): New functions.
78501         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
78502         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
78503         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
78504         gl_tree_sortedlist_indexof_from_to): New functions.
78505         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
78506         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
78507         Update.
78508         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
78509         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
78510         Update.
78511
78512 2006-10-05  Bruno Haible  <bruno@clisp.org>
78513
78514         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
78515         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
78516         (struct gl_list_implementation): Add fields search_from_to,
78517         indexof_from_to. Remove fields search, indexof.
78518         (gl_list_search): Use the search_from_to method.
78519         (gl_list_search_from, gl_list_search_from_to): New functions.
78520         (gl_list_indexof): Use the indexof_from_to method.
78521         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
78522         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
78523         (gl_list_search_from, gl_list_search_from_to): New functions.
78524         (gl_list_indexof): Use the indexof_from_to method.
78525         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
78526         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
78527         gl_array_indexof. Add start_index, end_index arguments.
78528         (gl_array_search_from_to): Renamed from gl_array_search. Add
78529         start_index, end_index arguments.
78530         (gl_array_remove, gl_array_list_implementation): Update.
78531         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
78532         gl_carray_indexof. Add start_index, end_index arguments.
78533         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
78534         start_index, end_index arguments.
78535         (gl_carray_remove, gl_carray_list_implementation): Update.
78536         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
78537         gl_linked_search. Add start_index, end_index arguments.
78538         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
78539         start_index, end_index arguments.
78540         (gl_linked_remove): Update.
78541         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
78542         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
78543         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
78544         field to 'size_t'.
78545         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
78546         gl_tree_search. Add start_index, end_index arguments.
78547         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
78548         start_index, end_index arguments.
78549         (gl_tree_remove): Update.
78550         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
78551         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
78552         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
78553         function.
78554         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
78555         gl_tree_search. Add start_index, end_index arguments.
78556         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
78557         start_index, end_index arguments.
78558         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
78559         Update.
78560         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
78561
78562 2006-10-05  Bruno Haible  <bruno@clisp.org>
78563
78564         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
78565
78566         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
78567         fwriteerror_temp): New declarations.
78568         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
78569         (descriptors): New variable.
78570         (cleanup): First, close the descriptors.
78571         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
78572         fclose_temp, fwriteerror_temp): New functions.
78573
78574 2006-10-04  Jim Meyering  <jim@meyering.net>
78575
78576         * lib/fts.c (fts_open): Tiny comment change.
78577
78578 2006-10-04  Bruno Haible  <bruno@clisp.org>
78579
78580         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
78581         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
78582         gl_LOCK_BODY.
78583         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
78584         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
78585         gl_LOCK_EARLY_BODY.
78586         (gl_LOCK): Require gl_LOCK_BODY.
78587
78588 2006-10-04  Bruno Haible  <bruno@clisp.org>
78589
78590         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
78591         (gl_oset_search_atleast): New declaration.
78592         (struct gl_oset_implementation): Add field 'search_atleast'.
78593         (gl_oset_search_atleast): New inline function.
78594         * lib/gl_oset.c (gl_oset_search_atleast): New function.
78595         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
78596         (gl_array_oset_implementation): Update.
78597         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
78598         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
78599         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
78600
78601 2006-10-04  Bruno Haible  <bruno@clisp.org>
78602
78603         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
78604
78605 2006-10-03  Bruno Haible  <bruno@clisp.org>
78606
78607         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
78608         from gl_avltreehash_list_implementation.
78609
78610 2006-10-03  Bruno Haible  <bruno@clisp.org>
78611
78612         * lib/gl_oset.c (gl_oset_add): Fix return type.
78613
78614 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
78615
78616         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
78617
78618 2006-10-02  Eric Blake  <ebb9@byu.net>
78619
78620         * modules/strnlen (Depends-on): Add extensions.
78621
78622 2006-10-02  Eric Blake  <ebb9@byu.net>
78623
78624         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
78625         definition in 2.60+.
78626
78627 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
78628
78629         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
78630         checks.
78631
78632 2006-10-02  Bruno Haible  <bruno@clisp.org>
78633
78634         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
78635         to the AUTOMAKE_OPTIONS.
78636         Reported by Jim Meyering.
78637
78638 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78639
78640         Work around bug in Solaris 10 /proc file system:
78641         /proc/self/fd/NNN/.. isn't the parent directory of
78642         the directory whose file descriptor is NNN.  This needs to
78643         be worked around at run time, not compile time, since a
78644         program might be built on Solaris 8, where things work, and
78645         run on Solaris 10.
78646         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
78647         to use the following interface instead:
78648         (OPENAT_BUFFER_SIZE): New macro.
78649         (openat_proc_name): New function.
78650         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
78651         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
78652         Likewise.
78653         * lib/openat-proc.c: New file.
78654         * modules/openat (Files): Add lib/openat-proc.c.
78655         (Depends-on): Add same-inode, stdbool.
78656         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
78657
78658 2006-09-29  Bruno Haible  <bruno@clisp.org>
78659
78660         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
78661         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
78662         argument. Set stdout_closed before testing for ferror, not after.
78663         (fwriteerror, fwriteerror_no_ebadf): New functions.
78664
78665 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78666
78667         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
78668
78669 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
78670
78671         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
78672         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
78673
78674 2006-09-28  Jim Meyering  <jim@meyering.net>
78675
78676         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
78677         Include <unistd.h>.
78678
78679 2006-09-28  Bruno Haible  <bruno@clisp.org>
78680
78681         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
78682         * modules/linkedhash-list (Depends-on): Likewise.
78683         * modules/rbtreehash-list (Depends-on): Likewise.
78684
78685 2006-09-28  Bruno Haible  <bruno@clisp.org>
78686
78687         * lib/strndup.h: Simplify the redefinition of strndup.
78688         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
78689         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
78690
78691 2006-09-28  Bruno Haible  <bruno@clisp.org>
78692
78693         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
78694         * lib/gl_linkedhash_list.c: Likewise.
78695         * lib/gl_rbtreehash_list.c: Likewise.
78696
78697 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78698
78699         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
78700         getaddrinfo.
78701
78702         * lib/__fpending.h: Don't include <stdio_ext.h> unless
78703         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
78704         it causes <stdio_ext.h> to cause a compile-time error.
78705         Problem reported by Nelson H. F. Beebe.
78706         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
78707         of HAVE_DECL___PENDING.
78708
78709         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
78710         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
78711         declaration.
78712
78713 2006-09-27  Jim Meyering  <jim@meyering.net>
78714
78715         This file could end up with a definition for a function
78716         named __strndup, rather than rpl_strndup on a system with
78717         incomplete weak_alias support.
78718         * lib/strndup.c (strndup): Rename from __strndup.
78719         Remove #defines that used to map __strndup to strndup.
78720         Don't use K&R prototypes.
78721         Remove LIBC-related code, since this file is not sync'd with glibc.
78722         * lib/strndup.h: Revamp, accordingly.
78723         * m4/strndup.m4: Modernize.
78724
78725 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78726
78727         * modules/savewd (Depends-on): Add 'raise'.
78728         * lib/savewd.c: Include <signal.h>, for 'raise'.
78729
78730 2006-09-26  Jim Meyering  <jim@meyering.net>
78731
78732         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
78733         when we detect Darwin 8.7.0's acl_get_file bug.
78734         Rearrange to perform the new (below) run-test while $LIBS
78735         contains any acl-related library.  Set USE_ACL at the end.
78736         (gl_ACL_GET_FILE): New function.
78737
78738 2006-09-26  Eric Blake  <ebb9@byu.net>
78739
78740         * lib/verror.c: Include <config.h> unconditionally.
78741
78742 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
78743
78744         * modules/clock-time (Maintainer): Add self.
78745         * modules/getlogin_r (Depends-on): Add extensions.
78746
78747 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78748
78749         * modules/clock-time: New module.
78750         * modules/nanosleep (Depends-on): Add clock-time.
78751         * modules/gethrxtime (Depends-on): Likewise.
78752         * modules/gettime (Depends-on): Likewise.
78753         * modules/settime (Depends-on): Likewise.
78754
78755         * modules/fts-lgpl: Depend on openat.
78756         * modules/mkancesdirs: Depend on savewd.
78757         * modules/mkdir-p: Likewise.
78758
78759 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78760
78761         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
78762
78763         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
78764         `gl_have_arbitrary_file_name_length_limit' to
78765         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
78766         actually works between configure runs.
78767
78768 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78769             Bruno Haible  <bruno@clisp.org>
78770
78771         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
78772
78773 2006-09-25  Jim Meyering  <jim@meyering.net>
78774
78775         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
78776         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
78777
78778 2006-09-25  Eric Blake  <ebb9@byu.net>
78779
78780         * gnulib-tool (func_import, func_create_testdir): Fix typos in
78781         exec's in 2006-09-18 patch when shuffling fds.
78782
78783 2006-09-25  Bruno Haible  <bruno@clisp.org>
78784
78785         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
78786         Reported by Jim Meyering.
78787
78788 2006-09-24  Jim Meyering  <jim@meyering.net>
78789
78790         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
78791         compare a pointer against a literal "0".  That caused failures with
78792         at least HP-UX's hpcc.
78793
78794 2006-09-22  Simon Josefsson  <jas@extundo.com>
78795
78796         * modules/gc-sha1:
78797         * modules/gc-md4:
78798         * modules/gc-hmac-sha1:
78799         * modules/gc-hmac-md5:
78800         * modules/gc-des:
78801         * modules/gc-arcfour: Distribute more files.
78802
78803 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78804
78805         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
78806         (gl_linked_iterator_from_to): Initialize struct completely.
78807         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
78808         (gl_tree_iterator_from_to): Likewise
78809         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
78810         * lib/gl_array_list.c [lint] (gl_array_iterator)
78811         (gl_array_iterator_from_to): Likewise.
78812         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
78813         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
78814         (gl_carray_iterator_from_to): Likewise.
78815
78816         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
78817         * lib/md4.c (md4_process_block): Remove unused variable.
78818         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
78819         parentheses for clarity.
78820
78821 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78822
78823         * modules/bison-i18n (Depends-on): Add gettext.
78824
78825 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78826
78827         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
78828         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
78829         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
78830         also add missing comma that caused broken test.
78831         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
78832         stdlib.h, for `abort'.
78833         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
78834         variables.
78835         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
78836         include unistd.h if present, for `rmdir'.
78837         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
78838         variables.
78839         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
78840         in the process include standard headers for prototypes.
78841         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
78842         gets declared on GNU/Linux.
78843         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
78844         unistd.h, for `rmdir'.
78845         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
78846
78847         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
78848         always true.
78849         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
78850
78851         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
78852
78853 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78854
78855         * gnulib-tool (func_version): Create output all at once.  This
78856         may help avoid triggering unnecessary SIGPIPEs, and at any
78857         rate it doesn't hurt.
78858
78859 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78860             Bruno Haible  <bruno@clisp.org>
78861
78862         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
78863         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
78864         * m4/signed.m4 (bh_C_SIGNED): Likewise.
78865
78866         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
78867         (gl_FUNC_VASPRINTF): Invoke it.
78868
78869 2006-09-22  Bruno Haible  <bruno@clisp.org>
78870
78871         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
78872         getloadavg.c as first argument.
78873
78874 2006-09-22  Bruno Haible  <bruno@clisp.org>
78875
78876         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
78877         at the beginning of the gl_INIT macro.
78878         * modules/getloadavg (configure.ac): Pass $gl_source_base to
78879         gl_GETLOADAVG.
78880
78881 2006-09-22  Bruno Haible  <bruno@clisp.org>
78882
78883         * gnulib-tool (func_create_megatestdir): Don't include the config-h
78884         module.
78885         Suggested by Ralf Wildenhues.
78886
78887 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78888
78889         Import this patch from libc:
78890
78891         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
78892
78893         * lib/regex_internal.c (re_string_reconstruct): Handle
78894         offset < pstr->valid_raw_len && pstr->offsets_needed case.
78895         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
78896         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
78897         re_string_context_at.
78898
78899         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
78900         now requires it.
78901         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
78902         gl_REGEX now does it for us.
78903         (gl_REGEX): Add test taken from
78904         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
78905
78906         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
78907         Check that large offsets work.  Modernize Autoconf usages.
78908         Prefer "yes" to mean a good thing rather than a bad.
78909         Don't put "#define mkstemp" in config.h, as this might interfere
78910         with standard system headers that "#define mkstemp mkstemp64".
78911
78912         * modules/mkstemp (Depends-on): Add extensions, so that
78913         mkstemp is visible on some platforms.
78914         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
78915         (Include): Change to "mkstemp.h" from <stdlib.h>.
78916         (Files): Add mkstemp.h.
78917
78918         * lib/mkstemp.h: New file, since some standard headers
78919         #define mkstemp.
78920         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
78921         Include "mkstemp.h".
78922         Make the _LIBC code resemble glibc original more,
78923         e.g., use K&R style.
78924         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
78925         (mkstemp): Remove, since mkstemp.h does this for us.
78926         * lib/stdlib--.h: Include mkstemp.h.
78927
78928         Import this patch from libc:
78929
78930         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78931
78932         * lib/tempname.c (__gen_tempname): Change attempts_min
78933         into a macro.  Use preprocessor to decide how to initialize
78934         attempts [Coverity CID 67].
78935
78936 2006-09-20  Bruno Haible  <bruno@clisp.org>
78937
78938         * lib/mkdtemp.c: Import from libc.
78939         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78940                 * sysdeps/posix/tempname.c (__gen_tempname): Change
78941                 attempts_min into a macro.  Use preprocessor to decide how to
78942                 initialize attempts [Coverity CID 67].
78943         2001-11-27  Paul Eggert  <eggert@twinsun.com>
78944                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
78945                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
78946
78947 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78948
78949         * gnulib-tool (func_exit): New function, to allow to pass the
78950         exit status portably through the trap.  Use everywhere.
78951         (--help, --version): Signal a write error.
78952         (trap): catch SIGPIPE, for write errors.
78953         Exit at the end of the trap, with the correct exit status.
78954
78955 2006-09-19  Karl Berry  <karl@gnu.org>
78956
78957         * doc/gnulib.texi: note about the license texinfo files.
78958
78959 2006-09-19  Eric Blake  <ebb9@byu.net>
78960
78961         * gnulib-tool: Avoid space-tab.
78962
78963 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78964
78965         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
78966         that prevented coreutils 6.1 from building.  Problem reported
78967         by Petter Reinholdtsen.
78968
78969 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78970
78971         * gnulib-tool (avoidlist): Fix typo that broke options like
78972         --avoid=lock that are used by coreutils bootstrap.
78973
78974 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
78975
78976         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
78977         more systematically.
78978
78979 2006-09-18  Jim Meyering  <jim@meyering.net>
78980
78981         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
78982
78983 2006-09-18  Bruno Haible  <bruno@clisp.org>
78984
78985         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
78986
78987 2006-09-18  Bruno Haible  <bruno@clisp.org>
78988
78989         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
78990         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
78991         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
78992         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
78993         * m4/gettext.m4: Require autoconf >= 2.52.
78994         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
78995         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
78996         of gl_cv_header_inttypes_h.
78997
78998 2006-09-18  Bruno Haible  <bruno@clisp.org>
78999
79000         * lib/javaversion.c: Include configmake.h.
79001
79002 2006-09-18  Bruno Haible  <bruno@clisp.org>
79003
79004         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
79005         avoid that the while loops be executed in a subshell.
79006
79007 2006-09-18  Bruno Haible  <bruno@clisp.org>
79008
79009         * MODULES.html.sh (func_module): Break long lines.
79010         Suggested by Bruce Korb <bkorb@gnu.org>.
79011
79012 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79013
79014         Speed up by a factor of 1.12.
79015         * gnulib-tool (nl): New variable.
79016         (func_import): Rewrite include directive extraction to only read each
79017         directive once.
79018
79019 2006-09-17  Bruno Haible  <bruno@clisp.org>
79020
79021         * modules/javaversion (Makefile.am): Remove DEFS setting.
79022         (Depends-on): Add configmake, for PKGDATADIR definition.
79023
79024 2006-09-17  Bruno Haible  <bruno@clisp.org>
79025
79026         * gnulib-tool (func_create_testdir): Rewrite all files at once.
79027
79028 2006-09-17  Bruno Haible  <bruno@clisp.org>
79029
79030         * gnulib-tool (func_append): New function, stolen from libtool.m4.
79031         (func_modules_transitive_closure, func_modules_add_dummy,
79032         func_modules_to_filelist, func_import, func_create_testdir,
79033         func_create_megatestdir, ...): Use it wherever possible.
79034         Suggested by Ralf Wildenhues.
79035
79036 2006-09-16  Karl Berry  <karl@gnu.org>
79037
79038         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
79039         to avoid sectioning errors.
79040         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
79041         [ifinfo]: blank line after @center-ed titles.
79042         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
79043         Spell FSF address consistently with others.
79044         (These changes approved by rms.)
79045
79046 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79047
79048         Speed up by a factor of 1.61.
79049         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
79050         already checked module names again.
79051
79052 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79053
79054         Speed up by a factor of 1.13.
79055         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
79056         for new_files, and the input to func_add_or_update.
79057
79058 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79059
79060         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
79061         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
79062
79063 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
79064
79065         * modules/mkancesdirs (Depends-on): Add fcntl.
79066         * modules/savewd: New file.
79067         * MODULES.html.sh (File system functions): Add savewd.
79068
79069         * modules/configmake (Makefile.am): Add support for the
79070         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
79071
79072 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
79073
79074         * m4/savewd.m4: New file.
79075
79076 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
79077
79078         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
79079         (dirchownmod): New arg FD.  All callers changed.
79080         Use FD rather than opening the directory ourself, as opening is
79081         now the caller's responsibility.
79082         * lib/dirchownmod.h: Likewise.
79083         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
79084         hosts that require <sys/types.h> before <sys/stat.h>.  Include
79085         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
79086         (test_dir): Remove.
79087         (mkancesdirs): Return length of prefix of FILE that has already
79088         been made, or -2 if there is a child doing the work.  Redo
79089         algorithm so that it is O(N) rather than O(N**2).  Optimize away
79090         ".", and treat ".." specially since it might stray back into
79091         already-created areas.  Use a subprocess if necessary.  New arg
79092         WD; all users changed.  MAKE_DIR function should now return 1
79093         if it creates a directory that is not readable.  Return -2 if
79094         a child process is spun off.
79095         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
79096         Adjust signature to match code.
79097         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
79098         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
79099         all users changed.
79100         * lib/savewd.c, lib/savewd.h: New files.
79101
79102 2006-09-15  Jim Meyering  <jim@meyering.net>
79103
79104         * modules/rename-dest-slash: New module.
79105         * MODULES.html.sh (posix_compat): Add it here.
79106
79107         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
79108
79109 2006-09-15  Jim Meyering  <jim@meyering.net>
79110
79111         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
79112         file.
79113
79114         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
79115
79116 2006-09-15  Jim Meyering  <jim@meyering.net>
79117
79118         * lib/rename-dest-slash.c (has_trailing_slash): Use
79119         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
79120         (rpl_rename_dest_slash): Perform the cheaper trailing slash
79121         test before testing whether SRC is a directory.
79122         Suggestions from Bruno Haible.
79123
79124         Avoid a warning about an unused variable.
79125         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
79126         into the #ifdef block where it's used.
79127
79128         * lib/rename-dest-slash.c: New file.
79129
79130 2006-09-14  Bruno Haible  <bruno@clisp.org>
79131
79132         * lib/allocsa.c: Include <config.h> unconditionally.
79133         * lib/asnprintf.c: Likewise.
79134         * lib/asprintf.c: Likewise.
79135         * lib/c-strcasecmp.c: Likewise.
79136         * lib/c-strcasestr.c: Likewise.
79137         * lib/c-strncasecmp.c: Likewise.
79138         * lib/c-strstr.c: Likewise.
79139         * lib/classpath.c: Likewise.
79140         * lib/clean-temp.c: Likewise.
79141         * lib/concatpath.c: Likewise.
79142         * lib/copy-file.c: Likewise.
79143         * lib/csharpcomp.c: Likewise.
79144         * lib/csharpexec.c: Likewise.
79145         * lib/execute.c: Likewise.
79146         * lib/fatal-signal.c: Likewise.
79147         * lib/findprog.c: Likewise.
79148         * lib/fwriteerror.c: Likewise.
79149         * lib/gl_array_list.c: Likewise.
79150         * lib/gl_array_oset.c: Likewise.
79151         * lib/gl_avltree_list.c: Likewise.
79152         * lib/gl_avltree_oset.c: Likewise.
79153         * lib/gl_avltreehash_list.c: Likewise.
79154         * lib/gl_carray_list.c: Likewise.
79155         * lib/gl_linked_list.c: Likewise.
79156         * lib/gl_linkedhash_list.c: Likewise.
79157         * lib/gl_list.c: Likewise.
79158         * lib/gl_oset.c: Likewise.
79159         * lib/gl_rbtree_list.c: Likewise.
79160         * lib/gl_rbtree_oset.c: Likewise.
79161         * lib/gl_rbtreehash_list.c: Likewise.
79162         * lib/imaxabs.c: Likewise.
79163         * lib/imaxdiv.c: Likewise.
79164         * lib/javacomp.c: Likewise.
79165         * lib/javaexec.c: Likewise.
79166         * lib/javaversion.c: Likewise.
79167         * lib/linebreak.c: Likewise.
79168         * lib/localcharset.c: Likewise.
79169         * lib/lock.c: Likewise.
79170         * lib/mbchar.c: Likewise.
79171         * lib/mbswidth.c: Likewise.
79172         * lib/mkdtemp.c: Likewise.
79173         * lib/pipe.c: Likewise.
79174         * lib/printf-args.c: Likewise.
79175         * lib/printf-parse.c: Likewise.
79176         * lib/progname.c: Likewise.
79177         * lib/progreloc.c: Likewise.
79178         * lib/readlink.c: Likewise.
79179         * lib/sh-quote.c: Likewise.
79180         * lib/stpcpy.c: Likewise.
79181         * lib/stpncpy.c: Likewise.
79182         * lib/strcasecmp.c: Likewise.
79183         * lib/strcasestr.c: Likewise.
79184         * lib/strcspn.c: Likewise.
79185         * lib/striconv.c: Likewise.
79186         * lib/strncasecmp.c: Likewise.
79187         * lib/strnlen1.c: Likewise.
79188         * lib/strstr.c: Likewise.
79189         * lib/strtok_r.c: Likewise.
79190         * lib/tls.c: Likewise.
79191         * lib/tmpdir.c: Likewise.
79192         * lib/unicodeio.c: Likewise.
79193         * lib/unsetenv.c: Likewise.
79194         * lib/vasnprintf.c: Likewise.
79195         * lib/vasprintf.c: Likewise.
79196         * lib/wait-process.c: Likewise.
79197         * lib/xallocsa.c: Likewise.
79198         * lib/xsetenv.c: Likewise.
79199         * lib/xstriconv.c: Likewise.
79200
79201 2006-09-13  Simon Josefsson  <jas@extundo.com>
79202
79203         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
79204         that internally, suggested by Ralf Wildenhues
79205         <Ralf.Wildenhues@gmx.de>.
79206
79207 2006-09-13  Simon Josefsson  <jas@extundo.com>
79208
79209         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
79210         @LIBOBJS@.
79211         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79212
79213 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79214
79215         * lib/_fpending.c: Include <config.h> unconditionally, since we no
79216         longer worry about uses that don't define HAVE_CONFIG_H.
79217         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
79218         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
79219         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
79220         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
79221         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
79222         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
79223         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
79224         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
79225         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
79226         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
79227         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
79228         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
79229         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
79230         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
79231         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
79232         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
79233         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
79234         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
79235         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
79236         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
79237         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
79238         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
79239         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
79240         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
79241         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
79242         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
79243         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
79244         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
79245         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
79246         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
79247         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
79248         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
79249         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
79250         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
79251         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
79252         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
79253         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
79254         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
79255         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
79256         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
79257         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
79258         Likewise.
79259
79260 2006-09-13  Eric Blake  <ebb9@byu.net>
79261
79262         * lib/getopt.c: Fix typo in last commit.
79263
79264 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
79265
79266         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
79267         dgettext.
79268
79269 2006-09-12  Jim Meyering  <jim@meyering.net>
79270
79271         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
79272         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
79273         Reported by Nelson H. F. Beebe.
79274
79275 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79276
79277         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
79278         program_invocation_name and program_invocation_short_name are
79279         initialized.
79280         * lib/argp-namefrob.h: Move declarations of program_invocation_name
79281         and program_invocation_short_name to argp.h, so they are visible
79282         to user programs.
79283         * lib/argp.h: Likewise
79284
79285 2006-09-10  Bruno Haible  <bruno@clisp.org>
79286
79287         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79288         m4/inttypes_h.m4, m4/uintmax_t.m4.
79289
79290 2006-09-10  Bruno Haible  <bruno@clisp.org>
79291
79292         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
79293         gl_AC_TYPE_UINTMAX_T.
79294
79295 2006-09-10  Bruno Haible  <bruno@clisp.org>
79296
79297         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
79298
79299 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79300
79301         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
79302         convention.  Text proposed by Bruno Haible.
79303         (struct argp_option): Document the use of N_() wrappers.
79304
79305         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
79306         '\v', and translate the two parts separately, instead of feeding
79307         the whole string to gettext.  This allows to exclude
79308         '\v' from the strings visible to the translator by writing doc
79309         strings as N_("..") "\v" N_("..").
79310
79311 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
79312
79313         * config/srclist.txt: Undo latest change; the bug was fixed.
79314
79315 2006-09-09  Bruno Haible  <bruno@clisp.org>
79316
79317         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
79318         assignments if building a library without libtool.
79319         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
79320         in func_emit_lib_Makefile_am.
79321         (func_import): When building a static library libfoo.a, arrange to
79322         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
79323         (func_create_testdir): Likewise.
79324         * modules/gc (configure.ac, Makefile.am): If building statically,
79325         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
79326         * modules/iconvme (configure.ac, Makefile.am): Likewise.
79327         * modules/striconv (configure.ac, Makefile.am): Likewise.
79328         Based on a suggestion by Ralf Wildenhues.
79329
79330 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79331
79332         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
79333         Check for unistd.h too, since Autoconf doesn't assume POSIX.
79334         Also:
79335
79336         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79337         Add year_2050_test to catch glibc bug 2821
79338         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
79339
79340         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79341         Prefer #ifdef to #if.
79342
79343         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
79344         Return from 'main' instead of calling 'exit'.
79345
79346 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79347
79348         * lib/mktime.c (guess_time_tm): Fix bug where mktime
79349         returned the maximum time_t value rather than (time_t) -1.
79350         Problem originally reported by William Bardwell
79351         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
79352
79353         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
79354         Moved to here ...
79355         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
79356         ... from here.
79357
79358 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79359
79360         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
79361         2821 is fixed.
79362
79363 2006-09-08  Jim Meyering  <jim@meyering.net>
79364
79365         Don't make generated files read-only.  That would bother too many
79366         people.  However, do retain the ability to work when targets are
79367         read-only: remove the destination and temporary files before writing
79368         them (when generated via sed or echo), or by using the -f option for
79369         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
79370         * modules/alloca-opt, modules/argz, modules/arpa_inet:
79371         * modules/byteswap, modules/configmake, modules/fcntl:
79372         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
79373         * modules/localcharset, modules/netinet_in, modules/poll:
79374         * modules/stdbool, modules/stdint, modules/sys_select:
79375         * modules/sys_socket, modules/sys_stat, modules/sysexits:
79376
79377 2006-09-08  Jim Meyering  <jim@meyering.net>
79378
79379         Avoid new build failure on FreeBSD 6.0.
79380         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
79381         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
79382         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
79383
79384 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79385
79386         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
79387
79388 2006-09-07  Jim Meyering  <jim@meyering.net>
79389
79390         Fix global typo in last change: use chmod u-w, not chmod u-x.
79391         Spotted by Paul Eggert and Bruce Korb.
79392         * modules/alloca-opt, modules/argz, modules/arpa_inet:
79393         * modules/byteswap, modules/configmake, modules/fcntl:
79394         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
79395         * modules/localcharset, modules/netinet_in, modules/poll:
79396         * modules/stdbool, modules/stdint, modules/sys_select:
79397         * modules/sys_socket, modules/sys_stat, modules/sysexits:
79398
79399 2006-09-06  Jim Meyering  <jim@meyering.net>
79400
79401         Make generated files be read-only.
79402         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
79403         Ensure that each generated file is now read-only.
79404         * modules/argz: Likewise.
79405         * modules/arpa_inet: Likewise.
79406         * modules/byteswap: Likewise.
79407         * modules/configmake: Likewise.
79408         * modules/fcntl: Likewise.
79409         * modules/fnmatch: Likewise.
79410         * modules/getopt: Likewise.
79411         * modules/glob: Likewise.
79412         * modules/inttypes: Likewise.
79413         * modules/netinet_in: Likewise.
79414         * modules/poll: Likewise.
79415         * modules/stdbool: Likewise.
79416         * modules/stdint: Likewise.
79417         * modules/sys_select: Likewise.
79418         * modules/sys_socket: Likewise.
79419         * modules/sys_stat: Likewise.
79420         * modules/sysexits: Likewise.
79421         * modules/localcharset: Same as above, but continue using temporary
79422         file named "t-$@" (why different?) rather than the "$@-t" used
79423         everywhere else.
79424
79425         * modules/sysexits (Makefile.am): Replace literal occurrences
79426         of "sysexit.h" more readable, and more consistent, "$@".
79427
79428 2006-09-06  Bruno Haible  <bruno@clisp.org>
79429
79430         * modules/striconv: New file.
79431         * modules/xstriconv: New file.
79432         * MODULES.html.sh (Internationalization functions): Add striconv,
79433         xstriconv.
79434
79435 2006-09-06  Bruno Haible  <bruno@clisp.org>
79436
79437         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
79438         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
79439         not using libtool correctly.
79440
79441 2006-09-06  Bruno Haible  <bruno@clisp.org>
79442
79443         * lib/striconv.h: New file.
79444         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
79445         iconvstring.c.
79446         * lib/xstriconv.h: New file.
79447         * lib/xstriconv.c: New file.
79448
79449 2006-09-06  Bruno Haible  <bruno@clisp.org>
79450
79451         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
79452         lib_..._LDFLAGS.
79453
79454 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79455
79456         * lib/argz_.h: Sync from Libtool.
79457
79458         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
79459                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79460
79461         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
79462
79463 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
79464
79465         * modules/trim: New file.
79466
79467 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
79468
79469         * lib/trim.h: New file.
79470         * lib/trim.c: New file.
79471
79472 2006-09-05  Bruno Haible  <bruno@clisp.org>
79473
79474         * MODULES.html.sh (String handling): Add trim.
79475
79476 2006-09-04  Karl Berry  <karl@gnu.org>
79477
79478         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
79479         until next release.
79480
79481 2006-09-03  Bruno Haible  <bruno@clisp.org>
79482
79483         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
79484         correctly.
79485
79486 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79487
79488         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
79489         not gl_GETLOADAVG.  Omit unneeded semicolons.
79490         Problems reported by Ralf Wildenhues in
79491         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
79492         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
79493         at the end, which is the usual gnulib style.
79494
79495         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
79496         of doing all the work ourselves.
79497         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
79498         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
79499
79500 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79501
79502         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
79503         Problem reported by Ralf Wildenhues in
79504         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
79505
79506         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
79507         HAVE_STRUCT_STATFS_F_FSTYPENAME.
79508
79509 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79510
79511         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
79512         yesterday's patch by changing test -n to test -z.
79513
79514 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79515
79516         * modules/getloadavg (Files): Add m4/getloadavg.m4.
79517         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
79518         the former is now obsolescent.
79519
79520         * modules/chdir-long (Depends-on): Add fcntl.
79521
79522 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79523
79524         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
79525         obsolescent, and programs should use gnulib instead.
79526         * m4/getloadavg.m4: New file, with contents taken from Autoconf
79527         but with prefixes changed.
79528
79529 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79530
79531         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
79532         or stdbool.h, because they might not exist while configuring.
79533
79534         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
79535         Don't include unistd.h or limits.h; not needed, since chdir-long.h
79536         does that for us.
79537         (O_DIRECTORY): Remove.
79538
79539 2006-08-31  Eric Blake  <ebb9@byu.net>
79540
79541         * gnulib-tool: Don't let emacs change spaces to TAB.
79542
79543 2006-08-31  Bruno Haible  <bruno@clisp.org>
79544
79545         * gnulib-tool: When calling func_import more than once, do it in a
79546         subshell.
79547         Reported by Eric Blake <ebb9@byu.net>.
79548
79549 2006-08-31  Bruno Haible  <bruno@clisp.org>
79550
79551         * gnulib-tool (nl): Remove variable.
79552         (sed_transform_lib_file): Use more robust test for config-h module.
79553         (func_import): Fix typo in 2006-08-25 patch.
79554
79555 2006-08-31  Bruno Haible  <bruno@clisp.org>
79556
79557         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
79558         specified, augment Makefile.am variables instead of assigning them.
79559
79560 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
79561
79562         Work around a bug in both the Linux and SunOS 64-bit kernels:
79563         nanosleep mishandles sleeps for longer than 2**31 seconds.
79564         Problem reported by Frank v Waveren in
79565         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
79566         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
79567         Check for nanosleep bug.
79568         (LIB_NANOSLEEP): Append clock_gettime library if needed.
79569
79570 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
79571
79572         Work around a bug in both the Linux and SunOS 64-bit kernels:
79573         nanosleep mishandles sleeps for longer than 2**31 seconds.
79574         Problem reported by Frank v Waveren in
79575         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
79576         * lib/nanosleep.c (BILLION): New constant.
79577         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
79578         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
79579         implementation.
79580
79581 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
79582
79583         * modules/nanosleep (Depends-on): Add gettime.
79584
79585 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
79586         and Simon Josefsson  <jas@extundo.com>
79587         and Oskar Liljeblad  <oskar@osk.mine.nu>
79588
79589         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
79590         * gnulib-tool (func_import): New license type 'unmodifiable license
79591         text'.
79592         * modules/fdl: Use it.  Longer description.
79593         * module/gpl, module/lgpl: New files.
79594
79595 2006-08-30  Jim Meyering  <jim@meyering.net>
79596
79597         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
79598         shadowing the parameter.
79599
79600 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79601
79602         Sync from Libtool:
79603
79604         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79605
79606         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
79607         sharing with gnulib.  Report by Eric Blake.
79608
79609 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79610
79611         * modules/isapipe: New file.
79612         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
79613
79614 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79615
79616         * modules/configmake (Makefile.am): Add a comment, and omit
79617         the CONFIGMAKE_ prefix from generated macro names.  Suggested
79618         by Bruno Haible.
79619
79620 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79621
79622         * m4/isapipe.m4: New file.
79623
79624 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79625
79626         * lib/isapipe.c, lib/isapipe.h: New files.
79627
79628 2006-08-29  Jim Meyering  <jim@meyering.net>
79629
79630         * modules/configmake (Makefile.am): Make configmake.h depend on
79631         Makefile.  Otherwise, a stale configmake.h could hang around.
79632
79633 2006-08-29  Eric Blake  <ebb9@byu.net>
79634
79635         * lib/error.c (error_at_line, print_errno_message): Match libc, after
79636         resolution of upstream bug 3044.
79637
79638 2006-08-29  Bruno Haible  <bruno@clisp.org>
79639
79640         * modules/localcharset (Depends-on): Add configmake.
79641         (Makefile.am): Remove setting of LIBDIR through DEFS.
79642
79643 2006-08-29  Bruno Haible  <bruno@clisp.org>
79644
79645         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
79646         defined.
79647
79648 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79649
79650         * modules/fcntl: New file.
79651         * modules/chdir-safer (Depends-on): Add fcntl.
79652         * modules/fts: Likewise.
79653         * modules/mkdir-p: Likewise.
79654
79655         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
79656         This undoes the most recent change, since we're now addressing the
79657         problem in a different way.
79658
79659         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
79660         into output, since the output might be called Makefile.am even
79661         if $makefile_name is something different.
79662         (func_import): Use $makefile_am rather than
79663         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
79664         empty.
79665
79666         * modules/inttypes (Files): Add m4/inttypes-h.m4.
79667
79668 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79669
79670         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
79671         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
79672         recent change to stdint.m4, since we're now addressing the problem in a
79673         different way.
79674
79675 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79676
79677         * m4/fcntl_h.m4: New file.
79678
79679 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79680
79681         * lib/fcntl_.h: New file.
79682         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
79683         the fcntl module.
79684         * lib/dirchownmod.c: Likewise.
79685         * lib/fts.c: Likewise.
79686
79687         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
79688         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
79689         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
79690         just before including <inttypes.h>, to avoid circular inclusion.
79691
79692 2006-08-28  Jim Meyering  <jim@meyering.net>
79693
79694         * doc/visibility.texi: Actually read and correct the grammar of the
79695         sentence affected by yesterday's change.
79696
79697 2006-08-28  Eric Blake  <ebb9@byu.net>
79698
79699         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
79700         needs wrapper.
79701
79702 2006-08-28  Eric Blake  <ebb9@byu.net>
79703
79704         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
79705
79706 2006-08-28  Eric Blake  <ebb9@byu.net>
79707
79708         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
79709
79710 2006-08-28  Bruno Haible  <bruno@clisp.org>
79711
79712         * modules/c-strstr: New file, from GNU gettext.
79713         * MODULES.html.sh (String handling): Add c-strstr.
79714
79715 2006-08-28  Bruno Haible  <bruno@clisp.org>
79716
79717         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
79718         macros.
79719         Reported by Eric Blake.
79720
79721 2006-08-28  Bruno Haible  <bruno@clisp.org>
79722
79723         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
79724         (VASNPRINTF): Return a string of length > INT_MAX without failing.
79725         * lib/vasprintf.c: Include errno.h, limits.h.
79726         (EOVERFLOW): New fallback definition.
79727         (vasprintf): Test here whether the string length is > INT_MAX.
79728         * lib/vsnprintf.c: Include errno.h, limits.h.
79729         (EOVERFLOW): New fallback definition.
79730         (vsnprintf): Fix bug when generated string was too long for the buffer.
79731         Test here whether the string length is > INT_MAX.
79732
79733 2006-08-28  Bruno Haible  <bruno@clisp.org>
79734
79735         * lib/inttypes_.h (SCNX*): Remove definitions.
79736         Reported by Eric Blake.
79737
79738 2006-08-28  Bruno Haible  <bruno@clisp.org>
79739
79740         * lib/c-strstr.h: New file, from GNU gettext.
79741         * lib/c-strstr.c: New file, from GNU gettext.
79742
79743 2006-08-28  Bruno Haible  <bruno@clisp.org>
79744
79745         * gnulib-tool: Reorder some statements.
79746
79747 2006-08-28  Bruno Haible  <bruno@clisp.org>
79748
79749         * gnulib-tool: New option --makefile-name.
79750         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
79751         $makefile_name.
79752         (func_import): Write $makefile_name to the cache file, and read it from
79753         there unless explicitly specified. Use $makefile_name as file name
79754         instead of Makefile.am. Adjust the recommendations accordingly.
79755
79756 2006-08-28  Bruno Haible  <bruno@clisp.org>
79757
79758         * gnulib-tool (func_verify_module): Check against misapplying patch.
79759
79760 2006-08-28  Bruno Haible  <bruno@clisp.org>
79761
79762         * gnulib-tool (func_relativize, func_relconcat): New functions.
79763         Give an error if --local-dir is given with --update.
79764         Remove trailing slashes from $local_gnulib_dir.
79765         (func_import): Store the relativized $local_gnulib_dir in
79766         gnulib-cache.m4, and read it from there if not specified explicitly.
79767
79768 2006-08-28  Bruno Haible  <bruno@clisp.org>
79769
79770         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
79771         is the current directory. Respect also $local_gnulib_dir.
79772
79773 2006-08-28  Bruno Haible  <bruno@clisp.org>
79774             Simon Josefsson  <jas@extundo.com>
79775
79776         BeOS portability.
79777         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
79778
79779 2006-08-27  Jim Meyering  <jim@meyering.net>
79780
79781         * doc/visibility.texi: Remove duplicate word: "pointer".
79782
79783 2006-08-26  Bruno Haible  <bruno@clisp.org>
79784
79785         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
79786         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
79787         (Makefile.am): Create inttypes.h from inttypes_.h.
79788         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
79789
79790         * modules/imaxabs: New file.
79791
79792         * modules/imaxdiv: New file.
79793
79794 2006-08-26  Bruno Haible  <bruno@clisp.org>
79795
79796         * m4/inttypes.m4: New file.
79797         * m4/_inttypes_h.m4: Remove file.
79798         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
79799         PRI_MACROS_BROKEN.
79800         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
79801
79802         * m4/imaxabs.m4: New file.
79803
79804         * m4/imaxdiv.m4: New file.
79805
79806 2006-08-26  Bruno Haible  <bruno@clisp.org>
79807
79808         * lib/inttypes_.h: New file.
79809         * lib/inttypes.h: Remove file.
79810         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
79811
79812         * lib/imaxabs.c: New file.
79813
79814         * lib/imaxdiv.c: New file.
79815
79816 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79817
79818         New config-h module, so that "make" output needn't be cluttered
79819         by -DHAVE_CONFIG_H.
79820         * MODULES.html.sh (Support for building libraries and executables):
79821         Add config-h.
79822         * modules/config-h: New file.
79823         * gnulib-tool (nl, sed_transform_lib_file): New vars.
79824         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
79825         the config-h module is used.
79826
79827         New configmake module, so that "make" output needn't be cluttered
79828         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
79829         * MODULES.html.sh (Support for building libraries and executables):
79830         Add configmake.
79831         * modules/configmake: New file.
79832
79833 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79834
79835         * m4/config-h.m4: New file.
79836
79837 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79838
79839         * config/srclist.txt: Add elisp-comp.
79840
79841 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79842
79843         * MODULES.html.sh (Support for building libraries and executables):
79844         Add elisp-comp.
79845         * build-aux/elisp-comp: New file.
79846         * modules/elisp-comp: New file.
79847
79848 2006-08-24  Bruno Haible  <bruno@clisp.org>
79849
79850         * gnulib-tool (func_create_testdir): Use non-default values of
79851         sourcebase and m4base.
79852
79853 2006-08-24  Bruno Haible  <bruno@clisp.org>
79854
79855         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
79856         HTML structure.
79857
79858 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79859
79860         * modules/openat (Depends-on): Add lchown.
79861
79862 2006-08-23  Bruno Haible  <bruno@clisp.org>
79863
79864         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
79865         of gl_LOCK_EARLY instead of gl_LOCK.
79866
79867 2006-08-23  Bruno Haible  <bruno@clisp.org>
79868
79869         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
79870         on OSF/1 to no.
79871         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
79872
79873 2006-08-23  Bruno Haible  <bruno@clisp.org>
79874
79875         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
79876         as unusable.
79877
79878         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
79879         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
79880         (gl_LOCK): New macro.
79881
79882 2006-08-22  Simon Josefsson  <jas@extundo.com>
79883
79884         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
79885         to md5 module.
79886
79887 2006-08-22  Simon Josefsson  <jas@extundo.com>
79888
79889         * MODULES.html.sh: Add "Support for maintaining and release
79890         projects".
79891
79892         * build-aux/gnupload: New file, from coreutils.
79893
79894 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79895
79896         Avoid the need for AC_LIBSOURCES in m4 macros.
79897         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
79898         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
79899         * modules/check-version (EXTRA_DIST): Add check-version.h.
79900         * modules/crc (EXTRA_DIST): Add crc.h.
79901         * modules/des (EXTRA_DIST): Add des.h.
79902         * modules/gc (EXTRA_DIST): Add gc.h.
79903         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
79904         * modules/getline (EXTRA_DIST): Add getline.h.
79905         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
79906         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
79907         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
79908         * modules/md2 (EXTRA_DIST): Add md2.h.
79909         * modules/md4 (EXTRA_DIST): Add md4.h.
79910         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
79911         * modules/read-file (EXTRA_DIST): Add read-file.h.
79912         * modules/readline (EXTRA_DIST): Add readline.h.
79913         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
79914         rijndael-api-fst.h.
79915
79916 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79917
79918         * m4/rijndael.m4 (gl_ARCFOUR):
79919         * m4/arctwo.m4 (gl_ARCTWO):
79920         * m4/check-version.m4 (gl_CHECK_VERSION):
79921         * m4/crc.m4 (gl_CRC):
79922         * m4/des.m4 (gl_DES):
79923         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
79924         * m4/gc.m4 (gl_GC):
79925         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
79926         * m4/getline.m4 (gl_FUNC_GETLINE):
79927         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
79928         * m4/hmac-md5.m4 (gl_HMAC_MD5):
79929         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
79930         * m4/md2.m4 (gl_MD2):
79931         * m4/md4.m4 (gl_MD4):
79932         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
79933         * m4/read-file.m4 (gl_FUNC_READ_FILE):
79934         * m4/readline.m4 (gl_FUNC_READLINE):
79935         * m4/rijndael.m4 (gl_RIJNDAEL):
79936         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79937         to get the necessary .h files and whatnot.
79938
79939 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79940
79941         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
79942         gnulib rather than the other way around.
79943         * config/srclistvars.sh (COREUTILS): Remove.
79944
79945 2006-08-22  Jim Meyering  <jim@meyering.net>
79946
79947         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
79948
79949         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
79950
79951 2006-08-22  Eric Blake  <ebb9@byu.net>
79952
79953         * modules/regexprops-generic: New file.
79954         * MODULES.html.sh (Support for building documentation): List it.
79955
79956 2006-08-22  Eric Blake  <ebb9@byu.net>
79957
79958         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
79959         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
79960         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
79961         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
79962
79963 2006-08-22  Bruno Haible  <bruno@clisp.org>
79964
79965         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
79966         and lib_LTLIBRARIES like the other lib_* variables.
79967
79968 2006-08-22  Bruno Haible  <bruno@clisp.org>
79969
79970         * build-aux/x-to-1.in: New file, from GNU gettext.
79971
79972 2006-08-22  Bruno Haible  <bruno@clisp.org>
79973
79974         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
79975         <utmpx.h> exists.
79976
79977 2006-08-22  Bruno Haible  <bruno@clisp.org>
79978
79979         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
79980         <utmpx.h> exists.
79981
79982 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79983
79984         BeOS portability.
79985         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
79986         exist.
79987         Problem reported by Bruno Haible.
79988
79989 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79990
79991         Avoid the need for AC_LIBSOURCES in m4 macros.
79992         * modules/acl (EXTRA_DIST): Add acl.h.
79993         * modules/argmatch (Files): Add m4/argmatch.m4.
79994         (configure.ac): Add gl_ARGMATCH.
79995         (EXTRA_DIST): Renamed from lib_SOURCES, for
79996         consistency with the other modules.  Remove argmatch.c.
79997         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
79998         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
79999         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
80000         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
80001         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
80002         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
80003         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
80004         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
80005         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
80006         * modules/closeout (EXTRA_DIST): Add closeout.h.
80007         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
80008         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
80009         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
80010         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
80011         dirname.h; remove basename.c and stripslash.c.
80012         * modules/exclude (EXTRA_DIST): Add exclude.h.
80013         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
80014         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
80015         * modules/file-type (EXTRA_DIST): Add file-type.h.
80016         * modules/filemode (EXTRA_DIST): Add filemode.h.
80017         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
80018         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
80019         * modules/fpending (EXTRA_DIST): Add __fpending.h.
80020         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
80021         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
80022         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
80023         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
80024         * modules/getdate (EXTRA_DIST): Add getdate.c.
80025         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
80026         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
80027         * modules/getpass (EXTRA_DIST): Add getpass.h.
80028         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
80029         * modules/group-member (EXTRA_DIST): Add group-member.h.
80030         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
80031         * modules/hash (EXTRA_DIST): Add hash.h.
80032         * modules/human (EXTRA_DIST): Add human.h.
80033         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
80034         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
80035         * modules/lchown (EXTRA_DIST): Add lchown.h.
80036         * modules/long-options (EXTRA_DIST): Add long-options.h.
80037         * modules/lstat (EXTRA_DIST): Add lstat.h.
80038         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
80039         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
80040         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
80041         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
80042         * modules/memxor (EXTRA_DIST): Add memxor.h.
80043         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
80044         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
80045         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
80046         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
80047         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
80048         * modules/physmem (EXTRA_DIST): Add physmem.h.
80049         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
80050         * modules/posixver (EXTRA_DIST): Add posixver.h.
80051         * modules/quote (EXTRA_DIST): Add quote.h.
80052         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
80053         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
80054         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
80055         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
80056         regex_internal.h regexec.c.
80057         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
80058         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
80059         * modules/same (EXTRA_DIST): Add same.h.
80060         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
80061         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
80062         * modules/savedir (EXTRA_DIST): Add savedir.h.
80063         * modules/sha1 (EXTRA_DIST): Add sha1.h.
80064         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
80065         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
80066         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
80067         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
80068         * modules/strdup (EXTRA_DIST): Add strdup.h.
80069         * modules/strftime (EXTRA_DIST): Add strftime.h.
80070         * modules/strndup (EXTRA_DIST): Add strndup.h.
80071         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
80072         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
80073         * modules/time_r (EXTRA_DIST): Add time_r.h.
80074         * modules/timespec (EXTRA_DIST): Add timespec.h.
80075         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
80076         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
80077         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
80078         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
80079         * modules/userspec (EXTRA_DIST): Add userspec.h.
80080         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
80081         * modules/utimens (EXTRA_DIST): Add utimens.h.
80082         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
80083         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
80084         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
80085         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
80086         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
80087         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
80088         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
80089         * modules/yesno (EXTRA_DIST): Add yesno.h.
80090
80091 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
80092
80093         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
80094
80095         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
80096         * m4/dev-ino.m4, same-inode.m4: Remove.
80097
80098         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
80099         * m4/acl.m4 (AC_FUNC_ACL):
80100         * m4/backupfile.m4 (gl_BACKUPFILE):
80101         * m4/c-strtod.m4 (gl_C99_STRTOLD):
80102         * m4/canon-host.m4 (gl_CANON_HOST):
80103         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
80104         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
80105         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
80106         * m4/cloexec.m4 (gl_CLOEXEC):
80107         * m4/close-stream.m4 (gl_CLOSE_STREAM):
80108         * m4/closeout.m4 (gl_CLOSEOUT):
80109         * m4/dirfd.m4 (gl_FUNC_DIRFD):
80110         * m4/dirname.m4 (gl_DIRNAME):
80111         * m4/exclude.m4 (gl_EXCLUDE):
80112         * m4/exitfail.m4 (gl_EXITFAIL):
80113         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
80114         * m4/file-type.m4 (gl_FILE_TYPE):
80115         * m4/filemode.m4 (gl_FILEMODE):
80116         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
80117         * m4/fpending.m4 (gl_FUNC_FPENDING):
80118         * m4/fprintftime.m4 (gl_FPRINTFTIME):
80119         * m4/fts.m4 (gl_FUNC_FTS):
80120         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
80121         * m4/getdate.m4 (gl_GETDATE):
80122         * m4/gethrxtime.m4 (gl_GETHRXTIME):
80123         * m4/getpagesize.m4 (gl_GETPAGESIZE):
80124         * m4/getpass.m4 (gl_FUNC_GETPASS):
80125         * m4/gettime.m4 (gl_GETTIME):
80126         * m4/getugroups.m4 (gl_GETUGROUPS):
80127         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
80128         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
80129         * m4/hard-locale.m4 (gl_HARD_LOCALE):
80130         * m4/hash.m4 (gl_HASH):
80131         * m4/idcache.m4 (gl_IDCACHE):
80132         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
80133         * m4/lchown.m4 (gl_FUNC_LCHOWN):
80134         * m4/long-options.m4 (gl_LONG_OPTIONS):
80135         * m4/lstat.m4 (gl_FUNC_LSTAT):
80136         * m4/md5.m4 (gl_MD5):
80137         * m4/memcasecmp.m4 (gl_MEMCASECMP):
80138         * m4/memcoll.m4 (gl_MEMCOLL):
80139         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
80140         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
80141         * m4/memxor.m4 (gl_MEMXOR):
80142         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
80143         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
80144         * m4/modechange.m4 (gl_MODECHANGE):
80145         * m4/mountlist.m4 (gl_MOUNTLIST):
80146         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
80147         * m4/openat.m4 (gl_FUNC_OPENAT):
80148         * m4/pathmax.m4 (gl_PATHMAX):
80149         * m4/physmem.m4 (gl_PHYSMEM):
80150         * m4/posixtm.m4 (gl_POSIXTM):
80151         * m4/posixver.m4 (gl_POSIXVER):
80152         * m4/quote.m4 (gl_QUOTE):
80153         * m4/quotearg.m4 (gl_QUOTEARG):
80154         * m4/readtokens.m4 (gl_READTOKENS):
80155         * m4/readutmp.m4 (gl_READUTMP):
80156         * m4/regex.m4 (gl_REGEX):
80157         * m4/safe-read.m4 (gl_SAFE_READ):
80158         * m4/safe-write.m4 (gl_SAFE_WRITE):
80159         * m4/same.m4 (gl_SAME):
80160         * m4/save-cwd.m4 (gl_SAVE_CWD):
80161         * m4/savedir.m4 (gl_SAVEDIR):
80162         * m4/settime.m4 (gl_SETTIME):
80163         * m4/sha1.m4 (gl_SHA1):
80164         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
80165         * m4/stat-macros.m4 (gl_STAT_MACROS):
80166         * m4/stat-time.m4 (gl_STAT_TIME):
80167         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
80168         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
80169         * m4/strdup.m4 (gl_FUNC_STRDUP):
80170         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
80171         * m4/strndup.m4 (gl_FUNC_STRNDUP):
80172         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
80173         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
80174         * m4/time_r.m4 (gl_TIME_R):
80175         * m4/timespec.m4 (gl_TIMESPEC):
80176         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
80177         * m4/unlinkdir.m4 (gl_UNLINKDIR):
80178         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
80179         * m4/userspec.m4 (gl_USERSPEC):
80180         * m4/utimecmp.m4 (gl_UTIMECMP):
80181         * m4/utimens.m4 (gl_UTIMENS):
80182         * m4/xalloc.m4 (gl_XALLOC):
80183         * m4/xgetcwd.m4 (gl_XGETCWD):
80184         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
80185         * m4/xreadlink.m4 (gl_XREADLINK):
80186         * m4/xstrtod.m4 (gl_XSTRTOD):
80187         * m4/yesno.m4 (gl_YESNO):
80188         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
80189         to get the necessary .h files and whatnot.
80190
80191 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
80192             Bruno Haible  <bruno@clisp.org>
80193
80194         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
80195         /bin/sh understanding of '!' conditional negation.
80196
80197 2006-08-21  Jim Meyering  <jim@meyering.net>
80198
80199         * modules/openat (Depends-on): Really alphabetize.
80200
80201         * modules/acl (Depends-on): Add error and quote.
80202
80203         * check-module (find_included_lib_files): Add at-func.c to the
80204         ok-to-include-more-than-once white list.
80205
80206         * modules/openat (Depends-on): Add lstat.  Alphabetize.
80207
80208 2006-08-21  Bruno Haible  <bruno@clisp.org>
80209
80210         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80211         Emit a pkgdata_DATA variable only if some snippets add contents to it.
80212         Reported by Martin Lambers <marlam@marlam.de>.
80213
80214 2006-08-21  Bruno Haible  <bruno@clisp.org>
80215
80216         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
80217         specify an installation location, don't emit a noinst_LIBRARIES or
80218         noinst_LTLIBRARIES assignment.
80219
80220 2006-08-21  Bruno Haible  <bruno@clisp.org>
80221
80222         BeOS portability.
80223         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
80224         BeOS has mbrtowc() but no <wctype.h>.
80225
80226 2006-08-21  Bruno Haible  <bruno@clisp.org>
80227
80228         BeOS portability.
80229         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
80230         exist.
80231
80232 2006-08-21  Bruno Haible  <bruno@clisp.org>
80233
80234         BeOS portability.
80235         * lib/mbchar.h: Include <wctype.h> only if it exists.
80236
80237 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80238
80239         Remove files that are no longer needed by their respective modules.
80240         * m4/obstack.m4: Remove.
80241         * m4/strerror_r.m4: Remove.
80242         * m4/uint32_t.m4: Remove.
80243         * m4/uintptr_t.m4: Remove.
80244         * m4/ullong_max.m4: Remove.
80245         * m4/xstrtoimax.m4: Remove.
80246         * m4/xstrtoumax.m4: Remove.
80247
80248         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
80249         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
80250         dependencies now capture this.
80251
80252         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
80253         Do not use AC_LIBSOURCES, since gnulib modules now do this.
80254         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
80255         * m4/human.m4 (gl_HUMAN): Likewise.
80256         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
80257         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
80258
80259         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
80260
80261         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
80262         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
80263         stdint.
80264         * m4/human.m4 (gl_HUMAN): Likewise.
80265         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
80266         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
80267         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
80268         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
80269         * m4/xstrtol (gl_XSTRTOL): Likewise.
80270
80271         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
80272         AC_TYPE_LONG_LONG_INT.
80273         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
80274         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
80275         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
80276         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
80277
80278         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
80279         on stdbool.
80280
80281         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
80282         (gl_PREREQ_XSTRTOUL): Remove.
80283
80284         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
80285
80286         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
80287         mode.
80288
80289 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80290
80291         Add and change modules to make it easier for coreutils to use
80292         gnulib-tool.
80293         * modules/backupfile (Files): Remove m4/d-ino.m4.
80294         (Depends-on): Add d-ino.
80295         * modules/cycle-check (Depends-on): Add stdint.
80296         (lib_SOURCES): Add cycle-check.h.
80297         * modules/d-ino: New module.
80298         * modules/d-type: New module.
80299         * modules/error (Files): Remove m4/strerror_r.m4.
80300         * modules/filemode (Files): Add m4/st_dm_mode.m4.
80301         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
80302         m4/inttypes_h.m4, m4/uintmax_t.m4.
80303         (Depends-on): Add stdint.
80304         (lib_SOURCES): Add fsusage.h.
80305         * modules/getcwd (Files): Remove d-ino.m4.
80306         (Depends-on): Add d-ino.
80307         * modules/getndelim2 (Depends-on): Add stdint.
80308         * modules/glob (Files): Remove m4/d-type.m4.
80309         (Depends-on): Add d-type.
80310         * modules/host-os: New module.
80311         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
80312         m4/inttypes_h.m4, m4/uintmax_t.m4.
80313         * Depends-on: Add stdint.
80314         (lib_SOURCES): Add human.h.
80315         * modules/inttostr (Files): Remove m4/intmax_t.m4,
80316         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
80317         m4/uintmax_t.m4, m4/ulonglong.m4.
80318         (Depends-on): Add stdint.
80319         (EXTRA_DIST): Add inttostr.h.
80320         * modules/lchmod: New module.
80321         * modules/link-follow: New module.
80322         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
80323         (Depends-on): Add lchmod.
80324         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
80325         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
80326         (Depends-on): Add stdint.
80327         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
80328         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
80329         (Depends-on): Add stdint.
80330         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
80331         * modules/perl: New module.
80332         * modules/regex (Depends-on): Add stdint.
80333         * modules/rmdir-errno: New module.
80334         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
80335         m4/intmax_t.m4.
80336         (Depends-on): Add stdint.
80337         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
80338         m4/uintmax_t.m4.
80339         (Depends-on): Add stdint.
80340         * modules/unlink-busy: New module.
80341         * modules/utimecmp (Depends-on): Add stdint.
80342         * modules/uptime: New module.
80343         * modules/winsz-ioctl: New module.
80344         * modules/winsz-termios: New module.
80345         * modules/xnanosleep (Depends-on): Add nanosleep.
80346         * modules/ullong_max: Remove.
80347         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
80348         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
80349         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
80350         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
80351         (Depends-on): Add inttypes.
80352         (lib_SOURCES): Add xstrtol.h.
80353         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
80354         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
80355         * MODULES.html.sh: Move 'assert' into the assert section.
80356         Move 'dummy' into the linking section.
80357         Remove ullong_max.
80358         Add section for compatibility checks for POSIX:2001 functions,
80359         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
80360         winsz-ioctl, and winsz-termios into it.
80361         Add lchmod.
80362         Add top-level Misc section and put host-os, perl, and uptime
80363         into it.
80364
80365 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80366
80367         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
80368         now assume the stdint module.  Do not include inttypes.h.
80369         * lib/fsusage.h: Likewise.
80370         * lib/getndelim2.c: Likewise.
80371         * lib/human.h: Likewise.
80372         * lib/inttostr.h: Likewise.
80373         * lib/obstack.c: Likewise.
80374         * lib/regex_internal.h: Likewise.
80375         * lib/tempname.c: Likewise.
80376         * lib/utimecmp.c: Likewise.
80377         * lib/xstrtol.h: Likewise.
80378
80379         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
80380
80381         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
80382         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
80383         * lib/xtime.h: Likewise.
80384
80385 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80386
80387         * modules/openat (Files): Add lib/fchmodat.c.
80388         Fixes problem reported by Jay Youngman.
80389
80390 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80391
80392         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
80393         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
80394
80395 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
80396             Bruno Haible  <bruno@clisp.org>
80397
80398         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
80399         and is a script that invokes bison. Tighten the code. Add comments.
80400
80401 2006-08-18  Jim Meyering  <jim@meyering.net>
80402
80403         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
80404         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
80405         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
80406         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
80407
80408 2006-08-18  Bruno Haible  <bruno@clisp.org>
80409
80410         * modules/bison-i18n: New file.
80411         * MODULES.html.sh (Internationalization functions): Add it.
80412
80413 2006-08-18  Bruno Haible  <bruno@clisp.org>
80414
80415         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
80416         sys/statvfs.h. When getmntinfo was found, check its declaration and
80417         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
80418
80419 2006-08-18  Bruno Haible  <bruno@clisp.org>
80420
80421         * m4/bison-i18n.m4: New file, from bison.
80422
80423 2006-08-18  Bruno Haible  <bruno@clisp.org>
80424
80425         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
80426         (ME_DUMMY): Treat "kernfs" as a dummy.
80427         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
80428
80429 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80430
80431         Update from coreutils.
80432
80433         2006-08-15  Jim Meyering  <jim@meyering.net>
80434
80435         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
80436
80437         2006-01-17  Jim Meyering  <jim@meyering.net>
80438
80439         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
80440
80441         2006-01-11  Jim Meyering  <jim@meyering.net>
80442
80443         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
80444         Check for the lchmod function.
80445
80446 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80447
80448         Update from coreutils.
80449
80450         * lib/__fpending.h: Add copyright notice.
80451         * lib/fprintftime.h: Likewise.
80452         * lib/savedir.c: Use (C) in copyright notice.
80453         * lib/savedir.h: Likewise.
80454
80455         2006-08-15  Jim Meyering  <jim@meyering.net>
80456
80457         * lib/at-func.c: New file, with the logic of all emulated at-functions.
80458         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
80459         in support of the EXPECTED_ERRNO macro.
80460         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
80461         definitions.  Instead, define the appropriate symbols and include
80462         "at-func.c".
80463         * lib/mkdirat.c (mkdirat): Likewise.
80464         * lib/fchmodat.c (fchmodat): Likewise.
80465         (ENOSYS): Remove definition.
80466         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
80467         it.  Don't include "unistd--.h" -- it wasn't ever used.
80468
80469         2006-01-17  Jim Meyering  <jim@meyering.net>
80470
80471         Rewrite fts.c not to change the current working directory,
80472         by using openat, fstatat, fdopendir, etc..
80473
80474         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
80475         (HAVE_OPENAT_SUPPORT): Define.
80476         [_LIBC] (fchdir): Don't undef or define; no longer used.
80477         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
80478         Now, this `function' always succeeds, and consumes its file descriptor
80479         parameter -- so callers must not close such FDs.  Update callers.
80480         (diropen_fd, opendirat, cwd_advance_fd): New functions.
80481         (diropen): Add parameter, SP.  Adjust all callers.
80482         Implement using diropen_fd, rather than open.
80483         (fts_open): Initialize new member, fts_cwd_fd.
80484         Remove fts_rft-setting code.
80485         (fts_close): Close fts_cwd_fd, if necessary.
80486         (__opendir2): Define in terms of opendir or opendirat,
80487         depending on whether the FST_NOCHDIR flag is set.
80488         (fts_build): Since fts_safe_changedir consumes its FD, and since
80489         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
80490         and close the dup'd file descriptor upon failure.
80491         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
80492         (fts_safe_changedir): Tweak semantics to reflect that this function
80493         now calls cwd_advance_fd and hence consumes its FD argument.
80494         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
80495         [struct FTS] (fts_rft): Remove now-unused member.
80496         [struct FTS] (fts_cycle.state): Improve comment.
80497
80498         * lib/openat.c (openat_needs_fchdir): New function.
80499         * lib/openat.h (openat_needs_fchdir): Declare it.
80500
80501 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
80502
80503         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
80504         Problem and fix reported by Pádraig Brady in
80505         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
80506
80507 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80508
80509         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
80510
80511 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80512
80513         * lib/memcoll.c (memcoll): Optimize for the common case where the
80514         arguments are bytewise equal.
80515
80516 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80517
80518         * doc/regexprops-generic.texi: Add a copyright notice.
80519
80520 2006-08-15  Bruno Haible  <bruno@clisp.org>
80521
80522         * modules/tmpdir (License): Change to LGPL.
80523
80524 2006-08-15  Bruno Haible  <bruno@clisp.org>
80525
80526         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
80527         module.
80528
80529 2006-08-14  Simon Josefsson  <jas@extundo.com>
80530
80531         * config/srclist.txt: Add gnupload.
80532
80533 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
80534
80535         Change copyright notice from LGPL 2 to GPL 2, since that's the
80536         standard form used in the gnulib repository.
80537         * tests/test-lock.c: Likewise.
80538         * tests/test-stdint.c: Likewise.
80539         * tests/test-tls.c: Likewise.
80540
80541         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
80542         prelude-manager.  User shorter URLs for GNU projects, without '?'.
80543         Add copyright notice.
80544
80545         * check-module: Add copyright notice.  Output a copyright
80546         notice if "--version" is specified.
80547         * modules/COPYING: New file.
80548         * tests/test-getaddrinfo.c: Add copyright notice.
80549         * tests/test-verify.c: Likewise.
80550
80551 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
80552
80553         Change copyright notice from LGPL 2 to GPL 2, since that's the
80554         standard form used in the gnulib repository.
80555         * lib/lock.c: LGPL -> GPL.
80556         * lib/lock.h: Likewise.
80557         * lib/strnlen1.c: Likewise.
80558         * lib/strnlen1.h: Likewise.
80559         * lib/tls.c: Likewise.
80560         * lib/tls.h: Likewise.
80561         * lib/tmpdir.c: Likewise.
80562
80563         * lib/TODO: Remove; this belongs only in coreutils.
80564
80565 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
80566
80567         Add copyright notices to long-enough files that lack them, since
80568         otherwise the files aren't clearly free.  Use the same notice that
80569         getdate.texi already uses.
80570         * doc/alloca-opt.texi: Add copyright notice.
80571         * doc/alloca.texi: Likewise.
80572         * doc/ctime.texi: Likewise.
80573         * doc/functions.texi: Likewise.
80574         * doc/gcd.texi: Likewise.
80575         * doc/gnulib-tool.texi: Likewise.
80576         * doc/inet_ntoa.texi: Likewise.
80577         * doc/visibility.texi: Likewise.
80578
80579         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
80580         * doc/quote.texi: Add copyright notice.
80581
80582         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
80583         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
80584         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
80585         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
80586         is now obsolete, and give a pointer to the Sun list.
80587         Add copyright notice.
80588
80589 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
80590
80591         * config/srclistvars.sh: Add copyright notice.
80592
80593 2006-08-14  Eric Blake  <ebb9@byu.net>
80594
80595         Import the following change from libc:
80596
80597         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
80598
80599         Upstream bug 2997.
80600         * lib/misc/error.c: Add space between program name and message if file
80601         name is missing.
80602
80603 2006-08-12  Karl Berry  <karl@gnu.org>
80604
80605         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
80606         remove, these originate in gnulib now.
80607
80608 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80609
80610         * doc/Makefile (standards.info standards.html standards.dvi):
80611         Also depend on make-stds.texi.
80612
80613 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
80614
80615         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
80616         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
80617
80618         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
80619         in wchar_t.  Problem reported by Eric Blake.
80620
80621         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
80622         LEN is smaller than SIZE.  Suggested by Bruno Haible.
80623         Also, help the compiler to keep LEN in a register.
80624
80625 2006-08-11  Eric Blake  <ebb9@byu.net>
80626
80627         * users.txt: Sort.  Add tar.
80628
80629 2006-08-11  Bruno Haible  <bruno@clisp.org>
80630
80631         * users.txt: New file.
80632
80633 2006-08-11  Bruno Haible  <bruno@clisp.org>
80634
80635         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
80636         before <wchar.h>. Needed for OSF/1 and BSD/OS.
80637
80638 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
80639
80640         * modules/snprintf (Depends-on): Remove minmax.
80641         (Maintainer): Add self and Bruno.
80642
80643 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
80644
80645         * lib/.cppi-disable: Add snprintf.h, socket_.h.
80646         * lib/snprintf.c: Include <errno.h> and <limits.h>.
80647         (EOVERFLOW): Define if the system does not.
80648         Do not include "minmax.h"; it wasn't used.
80649         (snprintf): Don't assume size_t promotes to an unsigned type.
80650         Fix bug when generated string was too long for the buffer: the
80651         buffer's contents are supposed to be the initial prefix of the
80652         output.  Don't assume vasnprintf returns EOVERFLOW if the size
80653         exceeds INT_MAX; do the check ourselves.
80654
80655         Import the following changes from libc:
80656
80657         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
80658
80659         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
80660         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
80661         set wc to the byte which couldn't be converted.
80662         (re_string_reconstruct): Don't clear valid_raw_len before calling
80663         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
80664         tip_context using re_string_context_at.
80665
80666         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
80667
80668         * lib/posix/regex.h: g++ still cannot handled [restrict].
80669
80670         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
80671
80672         * lib/posix/regex.h: Remove special handling for VMS.
80673
80674 2006-08-10  Jim Meyering  <jim@meyering.net>
80675
80676         * modules/same-inode: New module.
80677         * modules/dev-ino: New module.
80678         * modules/cycle-check: Depend on these modules, rather than simply
80679         including their .h files.
80680         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
80681         required via m4/cycle-check.m4.
80682         * modules/same: Depend on new same-inode module, rather than
80683         including same-inode.h.
80684         * modules/chdir-safer: New file.
80685
80686         * modules/chown (Depends-on): Add stat-macros.
80687
80688 2006-08-10  Jim Meyering  <jim@meyering.net>
80689
80690         * m4/cycle-check.m4: New file.
80691         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
80692         * m4/dev-ino.m4, m4/same-inode.m4: New files.
80693
80694 2006-08-10  Eric Blake  <ebb9@byu.net>
80695
80696         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
80697         in from original proposal.
80698
80699 2006-08-10  Eric Blake  <ebb9@byu.net>
80700         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
80701
80702         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
80703         namespace.
80704
80705 2006-08-10  Bruno Haible  <bruno@clisp.org>
80706
80707         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
80708         as well.
80709
80710 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80711
80712         Sync from coreutils.
80713
80714         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
80715
80716         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
80717         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
80718
80719 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80720
80721         * modules/restrict: Remove; no longer needed now that we assume
80722         Autoconf 2.59 or later.
80723         * MODULES.html.sh: Remove 'restrict'.
80724         * modules/argp (Depends-on): Remove 'restrict'.
80725         * modules/base64 (Depends-on): Likewise.
80726         * modules/gc (Depends-on): Likewise.
80727         * modules/getaddrinfo (Depends-on): Likewise.
80728         * modules/glob (Depends-on): Likewise.
80729         * modules/inet_ntop (Depends-on): Likewise.
80730         * modules/inet_pton (Depends-on): Likewise.
80731         * modules/memxor (Depends-on): Likewise.
80732         * modules/regex (Depends-on): Likewise.
80733         * modules/strtok_r (Depends-on): Likewise.
80734         * modules/time_r (Depends-on): Likewise.
80735
80736 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80737
80738         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
80739         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
80740         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80741         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
80742         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
80743         * m4/memxor.m4 (gl_MEMXOR): Likewise.
80744         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
80745         gl_C_RESTRICT replaced by AC_C_RESTRICT.
80746
80747         Merge from coreutils.
80748         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
80749         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
80750         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
80751         * m4/time_r.m4 (gl_TIME_R): Likewise.
80752
80753 2006-08-09  Karl Berry  <karl@gnu.org>
80754
80755         * config/srclist.txt: no more gettext-tools, per Bruno.
80756
80757 2006-08-08  Eric Blake  <ebb9@byu.net>
80758
80759         * modules/verror: New module.
80760         * MODULES.html.sh: Document it.
80761
80762 2006-08-08  Eric Blake  <ebb9@byu.net>
80763
80764         * lib/verror.h, lib/verror.c: New files.
80765
80766 2006-08-08  Eric Blake  <ebb9@byu.net>
80767
80768         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
80769         verror_at_line output complies with GNU Coding Standards even when
80770         file is NULL.
80771
80772 2006-08-07  Bruno Haible  <bruno@clisp.org>
80773
80774         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
80775         versions of AIX.
80776         Reported by Ralf Wildenhues.
80777
80778 2006-08-07  Bruno Haible  <bruno@clisp.org>
80779
80780         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
80781         in an AC_DEFUN. Needed so that the autoconf snippets can use
80782         AC_REQUIRE.
80783
80784 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80785
80786         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80787         Initialize pkgdata_DATA.
80788         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
80789         overriding it.
80790
80791 2006-08-06  Eric Blake  <ebb9@byu.net>
80792
80793         * lib/error.h: Fold in some upstream changes from glibc.
80794         * lib/error.c: Likewise.
80795
80796 2006-08-04  Bruno Haible  <bruno@clisp.org>
80797
80798         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80799         Make the mostlyclean-local rule depend on mostlyclean-generic.
80800         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
80801
80802 2006-07-31  Bruno Haible  <bruno@clisp.org>
80803
80804         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
80805         <stdlib.h>, <string.h>.
80806
80807 2006-07-30  Bruno Haible  <bruno@clisp.org>
80808
80809         * modules/readlink (License): Change to LGPL.
80810
80811 2006-07-30  Bruno Haible  <bruno@clisp.org>
80812
80813         * modules/javaversion (Makefile.am): Distribute javaversion.java and
80814         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
80815         set PKGDATADIR to point to it.
80816
80817 2006-07-30  Bruno Haible  <bruno@clisp.org>
80818
80819         * modules/csharpexec (configure.ac): Comment out macro invocation.
80820         * modules/javaexec (configure.ac): Likewise.
80821         * modules/javacomp-script (configure.ac): Likewise.
80822
80823         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
80824
80825 2006-07-30  Bruno Haible  <bruno@clisp.org>
80826
80827         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
80828         linked-list.
80829
80830 2006-07-30  Bruno Haible  <bruno@clisp.org>
80831
80832         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
80833
80834 2006-07-30  Bruno Haible  <bruno@clisp.org>
80835
80836         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80837         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
80838         get removed.
80839
80840 2006-07-29  Bruno Haible  <bruno@clisp.org>
80841
80842         Make it possible for gnulib-tool to work with locally modified or
80843         augmented gnulib repositories.
80844         * gnulib-tool (func_usage): Document --local-dir option.
80845         (local_gnulib_dir): New variable.
80846         Handle --local-dir option.
80847         (func_lookup_file): New function.
80848         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
80849         (func_get_description, func_get_filelist, func_get_description,
80850         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
80851         func_get_automake_snippet, func_get_include_directive,
80852         func_get_license, func_get_maintainer): Use func_lookup_file.
80853         (func_import, func_create_testdir): Use func_lookup_file.
80854
80855 2006-07-29  Bruno Haible  <bruno@clisp.org>
80856
80857         * modules/setenv (Depends-on): Add unistd.
80858
80859 2006-07-29  Bruno Haible  <bruno@clisp.org>
80860
80861         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
80862
80863 2006-07-29  Bruno Haible  <bruno@clisp.org>
80864
80865         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
80866
80867 2006-07-29  Bruno Haible  <bruno@clisp.org>
80868
80869         * gnulib-tool (import, update): If there is no Makefile.am, look at
80870         aclocal.m4, instead of bailing out.
80871
80872 2006-07-29  Bruno Haible  <bruno@clisp.org>
80873
80874         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
80875         Categorize the options by when they are useful.
80876
80877 2006-07-29  Bruno Haible  <bruno@clisp.org>
80878
80879         * gnulib-tool (func_usage): Document option --no-libtool.
80880         Handle option --no-libtool.
80881         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
80882         for changed semantics of $libtool variable.
80883         (func_import): Likewise. If libtool is not used, show this through
80884         an option --no-libtool.
80885         (func_create_testdir): Update.
80886
80887 2006-07-29  Bruno Haible  <bruno@clisp.org>
80888
80889         * gnulib-tool (func_import): Extend error message about missing
80890         --doc-base.
80891
80892 2006-07-29  Bruno Haible  <bruno@clisp.org>
80893
80894         * gnulib-tool (func_import): Don't create the $docbase directory if
80895         there is no file to store there.
80896
80897 2006-07-29  Bruno Haible  <bruno@clisp.org>
80898
80899         * gnulib-tool (autoconf_minversion): If a --dir option is given and
80900         relevant, look for configure.ac there, not in the current directory.
80901         Also use a simple search for AC_PREREQ, not "autoconf --trace".
80902
80903 2006-07-29  Bruno Haible  <bruno@clisp.org>
80904
80905         * gnulib-tool (SORT): New variable.
80906         (func_usage): Undocument --assume-autoconf option.
80907         Remove --assume-autoconf option handling.
80908         (autoconf_minversion): Determine from the contents of configure.ac.
80909         (func_import): Remove autoconf_minversion handling.
80910         Suggested by Eric Blake.
80911
80912 2006-07-29  Bruno Haible  <bruno@clisp.org>
80913
80914         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
80915
80916 2006-07-29  Bruno Haible  <bruno@clisp.org>
80917
80918         * config/srclist.txt (*setenv.[ch]): Remove rules.
80919
80920 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80921
80922         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
80923
80924 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80925
80926         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
80927         arpa/inet.h.
80928
80929 2006-07-28  Simon Josefsson  <jas@extundo.com>
80930
80931         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
80932         * modules/inet_pton (Depends-on): Likewise.
80933
80934 2006-07-28  Simon Josefsson  <jas@extundo.com>
80935
80936         * m4/netinet_in_h.m4: New file.
80937
80938 2006-07-28  Simon Josefsson  <jas@extundo.com>
80939
80940         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
80941         #include's.
80942
80943 2006-07-28  Simon Josefsson  <jas@extundo.com>
80944
80945         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
80946         #include's.
80947
80948 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
80949
80950         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
80951         setgid on directories only if they set these bits.
80952         * lib/modechange.h: Remove obsolete comment about masks.
80953
80954 2006-07-28  Eric Blake  <ebb9@byu.net>
80955
80956         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
80957         macro expansion.
80958
80959 2006-07-28  Bruno Haible  <bruno@clisp.org>
80960
80961         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
80962
80963 2006-07-28  Bruno Haible  <bruno@clisp.org>
80964
80965         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
80966
80967 2006-07-28  Bruno Haible  <bruno@clisp.org>
80968
80969         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
80970         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
80971         Define fallbacks.
80972         Avoids link error on FreeBSD 4.x.
80973         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80974
80975         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
80976         encoding.
80977         * lib/mbswidth.c (iswcntrl): Likewise.
80978
80979 2006-07-27  Bruno Haible  <bruno@clisp.org>
80980
80981         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
80982         test.
80983
80984 2006-07-27  Bruno Haible  <bruno@clisp.org>
80985
80986         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
80987         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
80988         defined.
80989
80990 2006-07-26  Eric Blake  <ebb9@byu.net>
80991
80992         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
80993
80994 2006-07-26  Eric Blake  <ebb9@byu.net>
80995
80996         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
80997         like mingw that lack mkstemp.
80998         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
80999         avoid compilation warning on mingw.
81000
81001 2006-07-26  Bruno Haible  <bruno@clisp.org>
81002
81003         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
81004         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
81005         INT_FAST*_MIN, INTPTR_MIN.
81006
81007 2006-07-25  Bruno Haible  <bruno@clisp.org>
81008
81009         * modules/version-etc (Depends-on): Add stdarg.
81010
81011 2006-07-25  Bruno Haible  <bruno@clisp.org>
81012
81013         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
81014         complex commands.
81015
81016 2006-07-25  Bruno Haible  <bruno@clisp.org>
81017
81018         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
81019         defined in <stdarg.h> or config.h.
81020
81021 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
81022
81023         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
81024         (gl_STDIO_SAFER): Remove.
81025
81026 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
81027
81028         * MODULES.html.sh (File stream based Input/Output):
81029         Add fopen-safer, tmpfile-safer; remove stdio-safer.
81030         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
81031         * modules/fopen-safer, modules/tmpfile-safer: New files.
81032         * modules/stdio-safer: Remove.
81033
81034 2006-07-24  Bruno Haible  <bruno@clisp.org>
81035
81036         * modules/tmpdir: New file.
81037         * MODULES.html.sh (File system functions): Add it.
81038
81039 2006-07-24  Bruno Haible  <bruno@clisp.org>
81040
81041         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
81042         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
81043
81044 2006-07-24  Bruno Haible  <bruno@clisp.org>
81045
81046         * modules/clean-temp: New file.
81047
81048 2006-07-24  Bruno Haible  <bruno@clisp.org>
81049
81050         * m4/tmpdir.m4: New file, from GNU gettext.
81051
81052 2006-07-24  Bruno Haible  <bruno@clisp.org>
81053
81054         * lib/tmpdir.h: New file, from GNU gettext.
81055         * lib/tmpdir.c: New file, from GNU gettext.
81056
81057 2006-07-24  Bruno Haible  <bruno@clisp.org>
81058
81059         * lib/clean-temp.h: New file, from GNU gettext.
81060         * lib/clean-temp.c: New file, from GNU gettext.
81061
81062 2006-07-23  Eric Blake  <ebb9@byu.net>
81063
81064         * modules/stdio-safer (Files): Add tmpfile-safer.c.
81065         (Depends-on): Add binary-io.
81066
81067 2006-07-23  Eric Blake  <ebb9@byu.net>
81068
81069         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
81070
81071 2006-07-23  Eric Blake  <ebb9@byu.net>
81072
81073         * lib/tmpfile-safer.c: New file.
81074         * lib/stdio-safer.h (fopen_safer): Add prototype.
81075         * lib/stdio--.h (tmpfile): Make safer.
81076
81077 2006-07-23  Bruno Haible  <bruno@clisp.org>
81078
81079         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
81080         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
81081         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
81082         gl_linked_remove_at): Use it.
81083
81084 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81085         and Simon Josefsson <jas@extundo.com>
81086
81087         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
81088
81089         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
81090
81091 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
81092
81093         * modules/close-stream: New file.
81094         * modules/closeout (Description): Make it clear that it exits
81095         with a diagnostic on error.
81096         (Depends-on): Add close-stream.  Remove fpending, stdbool.
81097         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
81098
81099 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
81100
81101         * m4/close-stream.m4: New file.
81102
81103 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
81104
81105         * lib/close-stream.c, lib/close-stream.h: New files.
81106
81107 2006-07-22  Bruno Haible  <bruno@clisp.org>
81108
81109         Merge from GNU gettext 0.15.
81110
81111         2006-05-01  Bruno Haible  <bruno@clisp.org>
81112
81113                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
81114
81115         2006-07-22  Bruno Haible  <bruno@clisp.org>
81116
81117                 * modules/javaversion: New file.
81118                 * MODULES.html.sh (Java): Add javaversion.
81119
81120         2006-03-12  Bruno Haible  <bruno@clisp.org>
81121
81122                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
81123
81124         2005-12-04  Bruno Haible  <bruno@clisp.org>
81125
81126                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
81127                 (untested).
81128
81129         2006-06-21  Bruno Haible  <bruno@clisp.org>
81130
81131                 Avoid warnings from recent versions of mcs.
81132                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
81133                 -o, -L, -r any more. Use options documented since mcs-1.0
81134                 instead. Similarly for -g.
81135
81136         2005-12-04  Bruno Haible  <bruno@clisp.org>
81137
81138                 * build-aux/csharpcomp.sh.in: Suffix for resources is
81139                 .resources, not .resource.
81140
81141         2005-07-09  Bruno Haible  <bruno@clisp.org>
81142
81143                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
81144                 add a .dll suffix.
81145                 Reported by Mark Junker <mjscod@gmx.de>.
81146
81147         2006-07-22  Bruno Haible  <bruno@clisp.org>
81148
81149                 * modules/gettext: Upgrade to gettext-0.15.
81150                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
81151                 m4/visibility.m4.
81152                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
81153
81154 2006-07-22  Bruno Haible  <bruno@clisp.org>
81155
81156         Merge from GNU gettext 0.15.
81157
81158         2006-03-25  Bruno Haible  <bruno@clisp.org>
81159
81160                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
81161
81162         2006-07-21  Bruno Haible  <bruno@clisp.org>
81163
81164                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
81165                 "1.1".
81166
81167         2006-05-09  Bruno Haible  <bruno@clisp.org>
81168
81169                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
81170                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
81171                 for the conftestver execution.
81172
81173         2006-05-01  Bruno Haible  <bruno@clisp.org>
81174
81175                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
81176                 optional target-version argument. Verify that the compiler
81177                 groks source of the specified source-version, or add -source
81178                 option as necessary. Verify that the compiler produces
81179                 bytecode in the specified target-version, or add -target and
81180                 -source options as necessary. Make the result of the test
81181                 available as variable CONF_JAVAC. Also log error output in
81182                 config.log.
81183
81184         2006-03-11  Bruno Haible  <bruno@clisp.org>
81185
81186                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
81187
81188         2006-05-09  Bruno Haible  <bruno@clisp.org>
81189
81190                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
81191                 CLASSPATH_SEPARATOR to a semicolon.
81192
81193         2006-03-12  Bruno Haible  <bruno@clisp.org>
81194
81195                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
81196                 available as variable CONF_JAVA, for subsequent autoconf
81197                 tests. Also log error output in config.log.
81198
81199         2006-07-19  Bruno Haible  <bruno@clisp.org>
81200
81201                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
81202                 that getline works on glibc2 systems. Needed to avoid trouble
81203                 in relocatable.c.
81204                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
81205
81206         2005-12-04  Bruno Haible  <bruno@clisp.org>
81207
81208                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
81209                 launcher (untested).
81210
81211         2005-12-04  Bruno Haible  <bruno@clisp.org>
81212
81213                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
81214
81215         2006-07-22  Bruno Haible  <bruno@clisp.org>
81216
81217                 * gettext.m4: Update from GNU gettext-0.15.
81218                 * nls.m4: Likewise.
81219                 * po.m4: Likewise.
81220                 * inttypes-pri.m4: Likewise.
81221                 * inttypes-h.m4: Renamed from inttypes.m4.
81222                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
81223
81224 2006-07-22  Bruno Haible  <bruno@clisp.org>
81225
81226         Merge from GNU gettext 0.15.
81227
81228         2005-07-05  Bruno Haible  <bruno@clisp.org>
81229
81230                 * printf-args.c (printf_fetchargs): Work around broken
81231                 definition of wint_t on mingw.
81232
81233         2005-02-12  Bruno Haible  <bruno@clisp.org>
81234
81235                 * xallocsa.h: Add extern "C" for C++.
81236
81237         2006-05-17  Bruno Haible  <bruno@clisp.org>
81238
81239                 Cygwin portability.
81240                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
81241
81242         2006-04-30  Bruno Haible  <bruno@clisp.org>
81243
81244                 * progreloc.c: Include <mach-o/dyld.h> if available.
81245                 (find_executable): Use _NSGetExecutablePath when possible.
81246
81247         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
81248
81249                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
81250                 function.
81251
81252         2005-12-29  Bruno Haible  <bruno@clisp.org>
81253
81254                 * progreloc.c (set_program_name_and_installdir): Fix
81255                 compilation error.
81256
81257         2005-12-04  Bruno Haible  <bruno@clisp.org>
81258
81259                 Cygwin portability.
81260                 * progreloc.c: Include <windows.h> also on Cygwin.
81261                 (find_executable): Add support for Cygwin.
81262                 (set_program_name_and_installdir): Handle also platforms with
81263                 nonempty EXEEXT.
81264
81265         2006-07-11  Bruno Haible  <bruno@clisp.org>
81266
81267                 * javacomp.c: Fix a comment.
81268                 Reported by Jim Meyering.
81269
81270         2006-04-30  Bruno Haible  <bruno@clisp.org>
81271
81272                 * javacomp.h (compile_java_class): Add source_version,
81273                 target_version arguments.
81274                 * javacomp.c: Rewritten to choose only a compiler that
81275                 respects the specified source_version and target_version.
81276
81277         2006-06-27  Bruno Haible  <bruno@clisp.org>
81278
81279                 Assume correct S_ISDIR macro.
81280                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
81281
81282         2006-07-22  Bruno Haible  <bruno@clisp.org>
81283
81284                 * javaversion.h: New file, from GNU gettext.
81285                 * javaversion.c: New file, from GNU gettext.
81286                 * javaversion.java: New file, from GNU gettext.
81287                 * javaversion.class: New file, from GNU gettext.
81288
81289         2006-05-17  Bruno Haible  <bruno@clisp.org>
81290
81291                 Cygwin portability.
81292                 * javaexec.c (execute_java_class): Test for jview program
81293                 also on Cygwin.
81294
81295         2006-04-09  Bruno Haible  <bruno@clisp.org>
81296
81297                 * fatal-signal.c: Don't include string.h.
81298                 (at_fatal_signal): Use a copying loop instead of memcpy.
81299
81300         2005-12-04  Bruno Haible  <bruno@clisp.org>
81301
81302                 * csharpexec.c: Add support for 'clix' launcher (untested).
81303                 (execute_csharp_using_sscli): New function.
81304                 (execute_csharp_program): Call it.
81305
81306         2006-06-21  Bruno Haible  <bruno@clisp.org>
81307
81308                 Avoid warnings from recent versions of mcs.
81309                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
81310                 -o, -L, -r any more. Use options documented since mcs-1.0
81311                 instead. Similarly for -g.
81312
81313         2005-07-09  Bruno Haible  <bruno@clisp.org>
81314
81315                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
81316                 add a .dll suffix.
81317                 Reported by Mark Junker <mjscod@gmx.de>.
81318
81319         2006-06-17  Bruno Haible  <bruno@clisp.org>
81320
81321                 * config.charset: Update for NetBSD 3.0.
81322
81323         2006-05-17  Bruno Haible  <bruno@clisp.org>
81324
81325                 Cygwin portability.
81326                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
81327
81328         2006-05-16  Bruno Haible  <bruno@clisp.org>
81329
81330                 * localcharset.c [CYGWIN]: Include <windows.h>.
81331                 (get_charset_aliases): For Cygwin, return the same CPxxx
81332                 aliases list as under WIN32.
81333                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
81334                 the environment variables. Fall back to GetACP().
81335
81336         2006-04-05  Bruno Haible  <bruno@clisp.org>
81337
81338                 * config.charset: Update Juan Manuel Guerrero's address.
81339
81340         2005-02-12  Bruno Haible  <bruno@clisp.org>
81341
81342                 * allocsa.h: Add extern "C" for C++.
81343
81344         2005-02-10  Bruno Haible  <bruno@clisp.org>
81345
81346                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
81347                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
81348
81349         2006-07-22  Bruno Haible  <bruno@clisp.org>
81350
81351                 * gettext.h: Update to GNU gettext-0.15.
81352
81353 2006-07-22  Bruno Haible  <bruno@clisp.org>
81354
81355         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
81356         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
81357         lib-prefix.m4, longdouble.m4, ssize_t.m4.
81358
81359 2006-07-21  Eric Blake  <ebb9@byu.net>
81360
81361         * modules/stdlib-safer: New file.
81362         * MODULES.html.sh (File stream based Input/Output): Add
81363         stdlib-safer.
81364
81365 2006-07-21  Eric Blake  <ebb9@byu.net>
81366
81367         * lib/stdlib-safer.h: New file from coreutils, required by
81368         stdlib--.h.
81369
81370 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
81371
81372         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
81373
81374 2006-07-20  Bruno Haible  <bruno@clisp.org>
81375
81376         * gnulib-tool: Recognize new option --assume-autoconf.
81377         (autoconf_minversion): New variable.
81378         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
81379
81380 2006-07-20  Bruno Haible  <bruno@clisp.org>
81381
81382         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
81383
81384 2006-07-19  Derek R. Price  <derek@ximbiot.com>
81385
81386         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
81387         Reindent and repaginate.
81388
81389 2006-07-19  Derek Price  <derek@ximbiot.com>
81390
81391         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
81392         Correct grammar.
81393
81394 2006-07-17  Bruno Haible  <bruno@clisp.org>
81395
81396         * modules/list: New file.
81397         * modules/array-list: New file.
81398         * modules/carray-list, modules/carray-list-tests: New files.
81399         * modules/linked-list, modules/linked-list-tests: New files.
81400         * modules/avltree-list, modules/avltree-list-tests: New files.
81401         * modules/rbtree-list, modules/rbtree-list-tests: New files.
81402         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
81403         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
81404         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
81405         * modules/oset: New file.
81406         * modules/array-oset: New file.
81407         * modules/avltree-oset, modules/avltree-oset-tests: New files.
81408         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
81409         * tests/test-carray_list.c: New file.
81410         * tests/test-linked_list.c: New file.
81411         * tests/test-avltree_list.c: New file.
81412         * tests/test-rbtree_list.c: New file.
81413         * tests/test-linkedhash_list.c: New file.
81414         * tests/test-avltreehash_list.c: New file.
81415         * tests/test-rbtreehash_list.c: New file.
81416         * tests/test-avltree_oset.c: New file.
81417         * tests/test-rbtree_oset.c: New file.
81418         * MODULES.html.sh (Container data structures): New section.
81419
81420 2006-07-17  Bruno Haible  <bruno@clisp.org>
81421
81422         * m4/gl_list.m4: New file.
81423
81424 2006-07-17  Bruno Haible  <bruno@clisp.org>
81425
81426         * lib/gl_list.h: New file.
81427         * lib/gl_list.c: New file.
81428         * lib/gl_array_list.h: New file.
81429         * lib/gl_array_list.c: New file.
81430         * lib/gl_carray_list.h: New file.
81431         * lib/gl_carray_list.c: New file.
81432         * lib/gl_linked_list.h: New file.
81433         * lib/gl_linked_list.c: New file.
81434         * lib/gl_anylinked_list1.h: New file.
81435         * lib/gl_anylinked_list2.h: New file.
81436         * lib/gl_avltree_list.h: New file.
81437         * lib/gl_avltree_list.c: New file.
81438         * lib/gl_anyavltree_list1.h: New file.
81439         * lib/gl_anyavltree_list2.h: New file.
81440         * lib/gl_rbtree_list.h: New file.
81441         * lib/gl_rbtree_list.c: New file.
81442         * lib/gl_anyrbtree_list1.h: New file.
81443         * lib/gl_anyrbtree_list2.h: New file.
81444         * lib/gl_anytree_list1.h: New file.
81445         * lib/gl_anytree_list2.h: New file.
81446         * lib/gl_linkedhash_list.h: New file.
81447         * lib/gl_linkedhash_list.c: New file.
81448         * lib/gl_anyhash_list1.h: New file.
81449         * lib/gl_anyhash_list2.h: New file.
81450         * lib/gl_avltreehash_list.h: New file.
81451         * lib/gl_avltreehash_list.c: New file.
81452         * lib/gl_rbtreehash_list.h: New file.
81453         * lib/gl_rbtreehash_list.c: New file.
81454         * lib/gl_anytreehash_list1.h: New file.
81455         * lib/gl_anytreehash_list2.h: New file.
81456
81457         * lib/gl_oset.h: New file.
81458         * lib/gl_oset.c: New file.
81459         * lib/gl_array_oset.h: New file.
81460         * lib/gl_array_oset.c: New file.
81461         * lib/gl_avltree_oset.h: New file.
81462         * lib/gl_avltree_oset.c: New file.
81463         * lib/gl_rbtree_oset.h: New file.
81464         * lib/gl_rbtree_oset.c: New file.
81465         * lib/gl_anytree_oset.h: New file.
81466
81467 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
81468
81469         * m4/mkancesdirs.m4: New file.
81470         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
81471         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
81472         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
81473         it.
81474
81475 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
81476
81477         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
81478         * lib/mkancesdirs.h: New files.
81479         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
81480         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
81481         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
81482         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
81483         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
81484         callers changed.  Revamp internals significantly, by not
81485         attempting to create directories that are temporarily more
81486         permissive than the final results.  Do not attempt to use
81487         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
81488         This removes some race conditions, fixes some bugs, and simplifies
81489         things.  Use new dirchownmod function to do owner and mode changes.
81490         * lib/mkdir-p.h: Likewise.
81491         * lib/modechange.c (octal_to_mode): New function.
81492         (struct mode_change): New member mentioned.
81493         (make_node_op_equals): New arg mentioned.  All callers changed.
81494         (mode_compile): Keep track of which mode bits the user has explicitly
81495         mentioned.
81496         (mode_adjust): New arg DIR, so that we implement the X op correctly.
81497         New arg PMODE_BITS, to keep track of which mode bits the user
81498         mentioned; it treats S_ISUID and S_ISGID speciall.
81499         All callers changed.
81500         * lib/modechange.h: Likewise.
81501
81502 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
81503
81504         * MODULES.html.sh: Add mkancestors.
81505         * modules/mkancesdirs: New module.
81506         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
81507         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
81508         The chdir-safer and afs files are now orphans; I'll remove them
81509         unless someone speaks up.
81510         Add lib/dirchownmod.c, lib/dirchownmod.h.
81511         (Depends-on): Remove alloca, chown, save-cwd, dirname.
81512         Add lchown, mkancesdirs.
81513         (Maintainer): Add self.
81514
81515 2006-07-15  Karl Berry  <karl@gnu.org>
81516
81517         * gnulib-tool: help message wording/arrangement.
81518
81519 2006-07-14  Simon Josefsson  <jas@extundo.com>
81520
81521         * doc/gnulib.texi (Libtool and Windows): New section.
81522
81523 2006-07-12  Simon Josefsson  <jas@extundo.com>
81524
81525         * modules/gendocs (License): Fix license, approved by Karl.
81526
81527 2006-07-12  Eric Blake  <ebb9@byu.net>
81528
81529         * MODULES.html.sh: Add gendocs.
81530
81531 2006-07-11  Eric Blake  <ebb9@byu.net>
81532
81533         * modules/fdl: New module, to install doc/fdl.texi.
81534         * MODULES.html.sh: Add new section for documentation modules.
81535         * gnulib-tool: Avoid space-tab.
81536         (--doc-base): New option, to manage files from doc.
81537
81538 2006-07-11  Eric Blake  <ebb9@byu.net>
81539
81540         * m4/absolute-header.m4: Fix comments to match recent change.
81541
81542 2006-07-11  Eric Blake  <ebb9@byu.net>
81543
81544         * gnulib-tool: List --doc-base before --tests-base.
81545
81546 2006-07-11  Derek R. Price  <derek@ximbiot.com>
81547
81548         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
81549
81550 2006-07-11  Bruno Haible  <bruno@clisp.org>
81551
81552         * README: Mention where to put documentation.
81553
81554 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81555
81556         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
81557
81558 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
81559
81560         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
81561         to stdint.m4.
81562
81563 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
81564
81565         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
81566         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
81567         "no/such/file/stdint.h" when there is no such file, so that
81568         the resulting C code can be parsed by dodgy compilers.
81569         Problems reported by Bob Proulx.
81570
81571 2006-07-10  Derek R. Price  <derek@ximbiot.com>
81572
81573         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
81574         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
81575         macros into the GNU _D_EXACT_NAMLEN.
81576         * lib/savedir.c:  Likewise.
81577         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
81578
81579 2006-07-10  Derek R. Price  <derek@ximbiot.com>
81580         and Paul Eggert  <eggert@cs.ucla.edu>
81581
81582         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
81583         * m4/savedir.m4:
81584         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
81585         macros into the GNU _D_EXACT_NAMLEN.
81586
81587 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81588
81589         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
81590         around the absolute name, to work around a problem with the HP-UX
81591         11.23 native C compiler, reported by Bob Proulx.
81592
81593 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81594
81595         * doc/maintain.texi, make-stds.texi: Sync from
81596         <http://savannah.gnu.org/projects/gnustandards>.
81597
81598 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81599
81600         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
81601
81602 2006-07-09  Jim Meyering  <jim@meyering.net>
81603
81604         * m4/glob.m4: Remove a doubled word in a comment.
81605
81606 2006-07-09  Jim Meyering  <jim@meyering.net>
81607
81608         * lib/argp-pv.c: Remove a doubled word in a comment.
81609         * lib/check-version.c (check_version): Likewise.
81610         * lib/javacomp.c (compile_java_class): Likewise.
81611
81612 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
81613
81614         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
81615         for the benefit of people using Autoconf 2.60.  If you want to
81616         support older Autoconf versions you can copy m4/onceonly_2_57.m4
81617         (or m4/onceonly.m4, if pre-2.57) manually.
81618
81619 2006-07-08  Jim Meyering  <jim@meyering.net>
81620
81621         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
81622         comment.
81623         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
81624         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
81625         comment.
81626
81627 2006-07-08  Jim Meyering  <jim@meyering.net>
81628
81629         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
81630
81631 2006-07-07  Simon Josefsson  <jas@extundo.com>
81632
81633         * tests/test-crc.c: Change expected crc value, the test vector
81634         were probably computed using the old broken crc.c?
81635
81636 2006-07-06  Simon Josefsson  <jas@extundo.com>
81637
81638         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
81639         now the canonical place for the M4 file).
81640
81641         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
81642         from the sys_socket dependency now.
81643
81644         * modules/inet_pton (Files): Ditto.
81645
81646         * modules/inet_ntop (Files): Ditto.
81647
81648 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81649
81650         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
81651         not gl_PREREQ_GETUSERSHELL.
81652
81653 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81654
81655         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
81656         with only one argument, for Autoconf 2.60.
81657         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
81658         expand to nothing, so add a shell command to avoid syntax error.
81659         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81660
81661 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81662
81663         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
81664
81665 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81666
81667         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
81668         no longer needed.  Check for isblank decl.
81669         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
81670         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
81671         of existence.
81672
81673 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81674
81675         * lib/getloadavg.c: Use __VMS, not VMS.
81676         * lib/getopt.c: Likewise.
81677         * lib/getpagesize.h: Likewise.
81678         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
81679         and probably does not work.
81680
81681 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81682
81683         * lib/.cppi-disable: Add wcwidth.
81684         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
81685         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
81686         (ISGRAPH): Remove.  All uses changed to isgraph.
81687         (FOLD) [!defined _LIBC]: Remove special case.
81688         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
81689         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
81690         HAVE_ISBLANK.
81691         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
81692         case.
81693
81694 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81695
81696         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
81697         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
81698         brackets.  Other minor changes to suppress some compiler
81699         warnings.
81700
81701 2006-07-06  Derek R. Price  <derek@ximbiot.com>
81702         and Paul Eggert  <eggert@cs.ucla.edu>
81703
81704         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
81705         of invoking obsolescent AC_HEADER_DIRENT macro.
81706         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
81707         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
81708         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
81709         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
81710         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
81711         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
81712         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
81713         * m4/readdir.m4: Remove; no longer needed.
81714
81715 2006-07-06  Derek R. Price  <derek@ximbiot.com>
81716         and Paul Eggert  <eggert@cs.ucla.edu>
81717
81718         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
81719         Don't worry about this obsolete case any more.
81720         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
81721         directories.
81722         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
81723         worry about this obsolete case any more.
81724         * lib/fts.c: Likewise.
81725         * lib/getcwd.c: Likewise.
81726         * lib/glob.h: Likewise.
81727         * lib/savedir.c: Likewise.
81728
81729 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81730
81731         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
81732         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
81733         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
81734         needed.
81735         All uses removed.
81736         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81737         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
81738         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
81739         needed.
81740         * m4/getdate.m4 (gl_GETDATE): Likewise.
81741         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81742         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81743         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81744         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81745         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
81746         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81747         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
81748         needed.
81749
81750 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81751
81752         * lib/memcasecmp.c: Include <limits.h>.
81753         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
81754         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
81755         Don't assume isdigit succeeds only on '0' through '9'.
81756
81757 2006-07-05  Eric Blake  <ebb9@byu.net>
81758
81759         * modules/getaddrinfo (Depends-on): Add snprintf.
81760
81761 2006-07-05  Eric Blake  <ebb9@byu.net>
81762
81763         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
81764         to avoid 'header present but could not be compiled' on cygwin.
81765
81766 2006-07-05  Eric Blake  <ebb9@byu.net>
81767
81768         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
81769         missing from netdb.h.
81770         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
81771
81772 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81773
81774         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
81775         no longer needed.
81776         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
81777         * m4/getdate.m4 (gl_GETDATE): Likewise.
81778         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81779         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81780         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81781         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81782         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81783
81784 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81785
81786         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
81787         All uses of is_space replaced by isspace.
81788         * lib/exit.h: Don't talk about STDC_HEADERS.
81789         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
81790         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
81791         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
81792         replaced by isprint etc.
81793         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
81794         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81795         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
81796         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
81797         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
81798         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81799
81800 2006-07-05  Bruno Haible  <bruno@clisp.org>
81801
81802         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
81803         the function exists, before testing against AIX.
81804         Reported by Martin Lambers <marlam@marlam.de>.
81805
81806 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81807
81808         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
81809         From Mark D. Baushke.
81810
81811 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81812
81813         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
81814         to the absolute name, not just one, to bypass Sun C 5.8's
81815         "warning: #include of /usr/include/... may be non-portable".
81816
81817 2006-07-04  Eric Blake  <ebb9@byu.net>
81818
81819         * modules/dirname-tests: New test module.
81820         * tests/test-dirname.c: New file, replacing dirname.c
81821         TEST_DIRNAME section that was recently deleted.
81822
81823 2006-07-04  Bruno Haible  <bruno@clisp.org>
81824
81825         Assume ANSI C header files and <ctype.h> functions.
81826         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
81827         (mbsnwidth): Use isprint, iscntrl instead.
81828
81829 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81830
81831         Merge from coreutils.
81832         * MODULES.html.sh: Add xstrtold.
81833         * modules/xstrtold: New file.
81834         * modules/cycle-check (Files): Add lib/same-inode.h.
81835         * modules/dirname (Files): Add m4/double-slash-root.m4.
81836         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
81837         * modules/mkdir-p (Files): Add lib/same-inode.h.
81838         * modules/same (Files): Add lib/same-inode.h.
81839
81840 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81841
81842         * m4/absolute-header.m4: Renamed from full-header-path.m4.
81843         This is to keep the terminology clean; POSIX talks about
81844         "absolute pathnames", not "full pathnames", but the GNU
81845         Coding Standards say to use "path" for something else;
81846         so use "absolute" to keep both sides happy.
81847         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
81848         Set gl_absolute_header, not gl_full_header_path.
81849         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
81850         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
81851         All uses changed.
81852
81853         Merge from coreutils.
81854
81855         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81856
81857         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
81858         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
81859         want to require the building of c-strtod.o.
81860         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
81861         needs -lm directly.
81862         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
81863
81864         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81865
81866         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
81867         --as-needed option if available.  Problem reported by Albert Chin in
81868         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
81869         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
81870         cc merely issues a bunch of annoying warnings for --as-needed
81871         (this problem was reported by Bob Proulx).  Also, try linking with
81872         -lm to detect a bug in binutils 2.16 (this problem was reported
81873         by Ralf Wildenhues).
81874
81875         2006-06-18  Jim Meyering  <jim@meyering.net>
81876
81877         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
81878         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
81879         macro.
81880         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
81881         also check for glibc-2.4's abort-inducing bug.
81882
81883         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
81884         Low-probability clean-up should be to use rmdir to get rid of
81885         the just-created directory, not unlink.
81886
81887         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
81888         configure fail, and request a bug report to inform us about it.
81889         Add a comment that, barring reports to the contrary, in 2007 we'll
81890         assume ftruncate is universally available.
81891
81892         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81893
81894         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
81895
81896         2006-03-12  Jim Meyering  <jim@meyering.net>
81897
81898         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
81899         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
81900         * m4/same.m4 (gl_SAME): Likewise.
81901         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
81902
81903         2006-03-11  Eric Blake  <ebb9@byu.net>
81904
81905         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
81906         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
81907         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
81908         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
81909
81910 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81911
81912         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
81913         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
81914         reported by Mark D. Baushke, one in
81915         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
81916
81917         Merge from coreutils.
81918
81919         * lib/.cppi-disable: Add stdint_.h.
81920         * lib/.cvsignore: Add stdint.h.
81921
81922         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81923
81924         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
81925         both double and long double versions.
81926         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
81927         * lib/xstrtold.c: New file.
81928         * lib/xstrtod.h (xstrtold): New decl.
81929
81930         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81931
81932         * lib/filemode.c (setst): Remove.
81933         (strmode): Rewrite to avoid setst.  This makes the code shorter,
81934         (arguably) clearer, and the generated code is a bit smaller on my
81935         Debian GNU/Linux stable x86 host.
81936
81937         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81938
81939         * lib/filemode.c: Include "filemode.h" first, to test the interface.
81940         Assume that filemode.h includes sys/types.h and sys/stat.h.
81941         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
81942         (ftypelet): Reorder to put common cases first, for efficiency.
81943         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
81944         to do 'M'.
81945         (strmode): Renamed from mode_string, and now stores 12 bytes instead
81946         of 10, for compatibility with FreeBSD.  All callers changed.
81947         (filemodestring): Now stores 12 bytes instead of 10, and sets file
81948         types that can't be deduced solely from st_mode.  First arg is now a
81949         const pointer.
81950         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
81951         (strmode): Renamed from mode_string.
81952         (filemodestring): New decl.
81953         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
81954         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
81955         needed.
81956         (S_ISPORT, S_ISWHT): New macros, if not already defined.
81957
81958         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81959
81960         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
81961         fsusage.h now does that.  Include fsusage.h first, to test interface.
81962         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
81963         at most one method (the old code could have generated decls that
81964         didn't conform to C89, not that this was ever exercised).
81965         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
81966
81967         2006-03-19  Jim Meyering  <jim@meyering.net>
81968
81969         Work even in a chroot where d_ino values for entries in "/"
81970         don't match the stat.st_ino values for the same names.
81971         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
81972         number, iterate through all entries again, using lstat instead.
81973         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
81974         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
81975
81976         * lib/getcwd.c (__getcwd): Clarify a comment.
81977         Use memcpy in place of a call to strcpy.
81978
81979         2006-03-12  Jim Meyering  <jim@meyering.net>
81980
81981         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
81982         matches that of the current directory (which we're about to chdir ".."
81983         out of), then save the dev-ino of the parent, instead.
81984
81985         * lib/same-inode.h (SAME_INODE): New file/macro.
81986         * lib/chdir-safer.c (SAME_INODE): Remove definition.
81987         Include "same-inode.h", instead.
81988         * lib/same.c: Likewise.
81989         * lib/cycle-check.h: Include "same-inode.h".
81990         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
81991         * lib/cycle-check.c (SAME_INODE): Remove definition.
81992         * lib/root-dev-ino.h: Include "same-inode.h".
81993
81994         2006-03-11  Eric Blake  <ebb9@byu.net>
81995
81996         * lib/same.c (same_name): s/base_name/last_component/
81997         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
81998         * lib/filenamecat.c (file_name_concat): Likewise.
81999
82000         2006-03-11  Eric Blake  <ebb9@byu.net>,
82001                     Paul Eggert  <eggert@cs.ucla.edu>
82002
82003         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
82004         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
82005         drive prefix.
82006         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
82007         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
82008         (last_component): New method.
82009         * lib/dirname.c (dir_len): Determine when drive letters need a
82010         subsequent slash.  Preserve // when it is special.
82011         (dir_name): Don't append dot when drive letter is absolute.
82012         [TEST_DIRNAME]: Move into a full-blown gnulib test.
82013         * lib/basename.c (base_name): New semantics - malloc the result.
82014         Preserve // when it is special.  Preserve relative files that look
82015         like drive letters.
82016         (base_len): Preserve // when it is special.
82017         (last_component): New method, similar to old base_name semantics.
82018         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
82019         base_name.  Strip redundant slashes from ///.
82020
82021 2006-07-03  Jim Meyering  <jim@meyering.net>
82022
82023         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
82024         macro is used before the first cycle_check call.
82025
82026 2006-07-03  Eric Blake  <ebb9@byu.net>
82027
82028         * modules/dirname (Depends-on): Add xstrndup.
82029
82030 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
82031
82032         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
82033         test cases, so that config.log is a bit easier to follow.
82034
82035 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
82036
82037         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
82038         both are 64 bits, since this seems to be the tradition, and this
82039         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
82040         we ever run into a host that prefers long long to long in this
82041         case, we'll need another configure-time test.  Problem reported by
82042         Jim Meyering.
82043
82044 2006-07-02  Eric Blake  <ebb9@byu.net>
82045
82046         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
82047
82048 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
82049
82050         * modules/inttypes (Depends-on): No longer depends on stdint.
82051         * modules/stdint (Description): Say more about assumptions.
82052         Say that the fast types might differ.  Say macros are used.
82053         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
82054         (Makefile.am): Revise list of substituted symbols to match
82055         new stdint.m4.
82056         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
82057         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
82058         * tests/test-stdint.c (verify_same_types)
82059         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
82060         the code conforms to C99/C89.
82061         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
82062         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
82063
82064 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
82065
82066         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
82067         but fix a bug, by requiring at least 64 bits.
82068         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
82069         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
82070         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
82071         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
82072
82073         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
82074         changes.  Make 2.59 a prerequisite.  Check and substitute for
82075         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
82076         inttypes.h.  Do not use special include files; just use the
82077         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
82078         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
82079         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
82080         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
82081         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
82082         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
82083         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
82084         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
82085         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
82086         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
82087         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
82088         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
82089         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
82090         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
82091         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
82092         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
82093         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
82094         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
82095         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
82096         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
82097         WINT_MAX.  Check for C99 conformance more strictly, by detecting
82098         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
82099         not check for things that C99 does not require, e.g., int8_t.  If
82100         a test isn't needed unless <stdint.h> isn't working, and is
82101         unlikely to be needed for any other reason, then don't do it
82102         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
82103         size_t, since we assume C89 freestanding at least.  Do not check
82104         for sig_atomic_t, wchar_t, or wint_t, since the code now does
82105         the right thing even if the types are not defined.  Instead use:
82106         (gl_STDINT_TYPE_PROPERTIES): New macro.
82107         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
82108         testing whether <sys/types.h> clashes, as Autoconf does this for
82109         us now.  All uses removed.
82110         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
82111         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
82112         (gl_CHECK_TYPE_SAME):
82113         Remove; no longer needed.
82114         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
82115         exists, since we'll return 0 anyway in that case.
82116         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
82117
82118 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
82119
82120         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
82121         possible collision with system files.
82122         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
82123         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
82124         WCHAR_MIN and WCHAR_MAX in this case.
82125         (<stddef.h>): Do not include; no longer needed.
82126         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
82127         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
82128         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
82129         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
82130         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
82131         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
82132         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
82133         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
82134         !defined(__c99))]: Include in this case too, since it's harmless
82135         now.
82136         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
82137         dangerous to do so.
82138         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
82139         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
82140         (_STDINT_MIN, _STDINT_MAX): New macros.
82141         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
82142         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
82143         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
82144         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
82145         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
82146         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
82147         macros, not typedefs; this simplifies things quite a bit.
82148         Use long int for all types narrower than int64_t.
82149         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
82150         Define in terms of long long int or int64_t or long int,
82151         not int64_t or int32_t.  This saves some compile-time testing.
82152         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
82153         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
82154         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
82155         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
82156         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
82157         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
82158         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
82159         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
82160         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
82161         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
82162         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
82163         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
82164         undef any previous version and define our own version, for
82165         simplicity and consistency with the new macros for types.
82166         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
82167         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
82168         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
82169         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
82170         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
82171         @WINT_T_SUFFIX@ to keep things simple here.
82172         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
82173         Simplify by assuming typical 8/16/32/64 host, since we're
82174         already doing that elsewhere anyway.
82175         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
82176         and assume long long int is 64 bits if available.  This
82177         speeds up 'configure'.
82178
82179 2006-07-01  Eric Blake  <ebb9@byu.net>
82180
82181         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
82182         Reported by Andreas Buening.
82183
82184 2006-07-01  Eric Blake  <ebb9@byu.net>
82185
82186         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
82187
82188 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
82189
82190         * lib/getaddrinfo.c: fixed typo
82191
82192 2006-06-29  Jim Meyering  <jim@meyering.net>
82193
82194         * modules/strftime (Maintainer): Add my name, since with the
82195         FPRINTFTIME changes strftime.c has forked from glibc.
82196
82197 2006-06-29  Eric Blake  <ebb9@byu.net>
82198
82199         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
82200
82201 2006-06-29  Eric Blake  <ebb9@byu.net>
82202
82203         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
82204
82205 2006-06-29  Eric Blake  <ebb9@byu.net>
82206
82207         * lib/stat_.h: New file.
82208
82209 2006-06-29  Eric Blake  <ebb9@byu.net>
82210
82211         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
82212         unused static function.
82213
82214 2006-06-29  Eric Blake  <ebb9@byu.net>
82215
82216         * doc/functions.texi (Function Portability): Document missing lstat
82217         on mingw.
82218
82219 2006-06-29  Eric Blake  <ebb9@byu.net>
82220
82221         * MODULES.html.sh: Add sys_stat.
82222         * modules/sys_stat: New module.
82223         * modules/mkstemp (Depends-on): Add sys_stat.
82224
82225 2006-06-29  Derek R. Price  <derek@ximbiot.com>
82226
82227         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
82228
82229 2006-06-29  Derek R. Price  <derek@ximbiot.com>
82230
82231         * m4/c-bs-a.m4: Removed.
82232
82233 2006-06-29  Derek R. Price  <derek@ximbiot.com>
82234
82235         * lib/strftime.c: Assume strftime() exists.
82236
82237 2006-06-29  Derek Price  <derek@ximbiot.com>
82238
82239         * modules/c-bs-a: Removed - \a is C89.
82240         * MODULES.html.sh: Remove c-bs-a.
82241
82242 2006-06-29  Bruno Haible  <bruno@clisp.org>
82243
82244         * modules/wcwidth (License): Change to LGPL.
82245
82246 2006-06-28  Simon Josefsson  <jas@extundo.com>
82247
82248         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
82249         on _WIN32.
82250
82251         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
82252         getnameinfo.
82253
82254 2006-06-28  Simon Josefsson  <jas@extundo.com>
82255
82256         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
82257
82258 2006-06-28  Simon Josefsson  <jas@extundo.com>
82259
82260         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
82261         functions there.  It will succeed on Windows XP, but on Windows
82262         2000 and (presumably) earlier, it will fail, and use the internal
82263         re-implementation.
82264         (use_win32_p): New function.
82265         (getaddrinfo): Use strtoul on servname, to support numeric ports.
82266         Support AI_NUMERICSERV to disable getservbyname.
82267         (getnameinfo): New function, only supports
82268         NI_NUMERICHOST|NI_NUMERICSERV for now.
82269
82270         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
82271         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
82272         getnameinfo.
82273
82274 2006-06-28  Eric Blake  <ebb9@byu.net>
82275
82276         * modules/wcwidth: New file.
82277         * modules/mbchar (Depends-on): Add wcwidth.
82278         * modules/mbswidth (Depends-on): Add wcwidth.
82279         * MODULES.html.sh: Add wcwidth.
82280
82281 2006-06-28  Eric Blake  <ebb9@byu.net>
82282
82283         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
82284         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
82285
82286 2006-06-28  Eric Blake  <ebb9@byu.net>
82287
82288         * lib/xvasprintf.h: Fix comments.
82289
82290 2006-06-28  Eric Blake  <ebb9@byu.net>
82291
82292         * lib/mbchar.h (wcwidth): Include wcwidth.h.
82293         * lib/mbswidth.c (wcwidth): Move from here...
82294         * lib/wcwidth.h: ...to this new file.
82295
82296 2006-06-28  Derek R. Price  <derek@ximbiot.com>
82297
82298         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
82299
82300         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
82301         it's obsolete.
82302         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
82303
82304 2006-06-28  Derek R. Price  <derek@ximbiot.com>
82305
82306         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
82307         Autoconf 2.60 says this stuff was obsolete.
82308
82309 2006-06-28  Bruno Haible  <bruno@clisp.org>
82310
82311         * modules/wcwidth (Files): Add m4/wchar_t.m4.
82312
82313 2006-06-28  Bruno Haible  <bruno@clisp.org>
82314
82315         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
82316         gt_TYPE_WCHAR_T.
82317
82318 2006-06-28  Bruno Haible  <bruno@clisp.org>
82319
82320         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
82321         declaration for wcwidth.
82322         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
82323
82324 2006-06-28  Bruno Haible  <bruno@clisp.org>
82325
82326         * lib/mkdtemp.c [MINGW]: Include <io.h>.
82327         (mkdir): Define using _mkdir.
82328
82329 2006-06-28  Bruno Haible  <bruno@clisp.org>
82330
82331         * lib/getaddrinfo.h: Fix POSIX URL.
82332         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
82333         _WIN32.
82334         (use_win32_p): Make static.
82335         (getaddrinfo): Reject service name if it is empty or does not consist
82336         solely of decimal digits, or if its value is > 65535.
82337         (getnameinfo): Remove useless casts.
82338
82339 2006-06-27  Simon Josefsson  <jas@extundo.com>
82340
82341         * modules/sys_select: New file, suggested by Bruno Haible, Paul
82342         Eggert and Martin Lambers.
82343
82344 2006-06-27  Simon Josefsson  <jas@extundo.com>
82345
82346         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
82347         Eggert and Martin Lambers.
82348
82349 2006-06-27  Bruno Haible  <bruno@clisp.org>
82350
82351         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
82352         result to 0, not to empty.
82353         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
82354
82355 2006-06-27  Bruno Haible  <bruno@clisp.org>
82356
82357         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
82358
82359 2006-06-26  Simon Josefsson  <jas@extundo.com>
82360
82361         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
82362         present.
82363
82364 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
82365
82366         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
82367         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
82368         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
82369
82370 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
82371
82372         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
82373
82374 2006-06-26  Bruno Haible  <bruno@clisp.org>
82375
82376         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
82377
82378 2006-06-26  Bruno Haible  <bruno@clisp.org>
82379
82380         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
82381
82382 2006-06-26  Bruno Haible  <bruno@clisp.org>
82383
82384         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
82385         SGI C compiler in pre-C99 mode.
82386         Suggested by Mark D. Baushke and Larry Jones.
82387
82388 2006-06-26  Bruno Haible  <bruno@clisp.org>
82389
82390         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
82391         WCHAR_MAX.
82392         Reported by Mark D. Baushke and Larry Jones.
82393
82394 2006-06-26  Bruno Haible  <bruno@clisp.org>
82395
82396         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
82397         in pre-C99 mode.
82398         Suggested by Mark D. Baushke and Larry Jones.
82399
82400 2006-06-23  Simon Josefsson  <jas@extundo.com>
82401             Bruno Haible  <bruno@clisp.org>
82402
82403         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
82404         Emit mostlyclean-local rule.
82405         (func_emit_tests_Makefile_am): Likewise.
82406         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
82407
82408 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
82409
82410         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
82411
82412 2006-06-23  Bruno Haible  <bruno@clisp.org>
82413
82414         * tests/test-stdint.c: Update to match ISO C 99 Technical
82415         Corrigendum 1.
82416
82417 2006-06-23  Bruno Haible  <bruno@clisp.org>
82418
82419         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
82420
82421 2006-06-23  Bruno Haible  <bruno@clisp.org>
82422
82423         * lib/stdint_.h: Treat IRIX like OpenBSD.
82424
82425 2006-06-23  Bruno Haible  <bruno@clisp.org>
82426
82427         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
82428         ISO C 99 Technical Corrigendum 1.
82429
82430 2006-06-22  Simon Josefsson  <jas@extundo.com>
82431
82432         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
82433         MinGW.
82434
82435 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82436
82437         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
82438         needed.  Some compiler complained about some of them.  Problem reported
82439         by Larry Jones in
82440         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
82441
82442 2006-06-21  Simon Josefsson  <jas@extundo.com>
82443
82444         * tests/test-getaddrinfo.c: New file.
82445
82446         * modules/getaddrinfo-tests: New file.
82447
82448         * MODULES.html.sh: Add inet_pton.
82449
82450         * modules/inet_pton: New file.
82451
82452 2006-06-21  Simon Josefsson  <jas@extundo.com>
82453
82454         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
82455         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
82456         of using the (limited) gnulib implementation on Windows XP.
82457
82458         * m4/inet_pton.m4: New file.
82459
82460 2006-06-21  Simon Josefsson  <jas@extundo.com>
82461
82462         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
82463         variable.
82464
82465         * lib/socket_.h: Don't define WINVER.
82466
82467         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
82468         slightly modified to work in gnulib.
82469
82470 2006-06-21  Simon Josefsson  <jas@extundo.com>
82471
82472         * doc/gnulib.texi (Windows sockets): Add.
82473
82474 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
82475
82476         * lib/read-file.c (fread_file): Start with buffer allocation of
82477         0 bytes rather than 1 byte; this simplifies the code.
82478         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
82479         code to free buffer and save/restore errno.
82480         (internal_read_file): Remove unused local.
82481
82482 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
82483
82484         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
82485         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
82486         Problem reported by Denis Excoffier in
82487         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
82488
82489 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82490
82491         * modules/sys_socket, modules/socklen: Include sys/types since
82492         FreeBSD 4.x's sys/socket.h needs it.
82493
82494 2006-06-19  Simon Josefsson  <jas@extundo.com>
82495
82496         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
82497
82498 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
82499
82500         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
82501
82502 2006-06-19  Bruno Haible  <bruno@clisp.org>
82503
82504         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
82505         and FULL_PATH_INTTYPES_H in angle brackets.
82506         Reported by Mark D. Baushke <mdb@gnu.org>.
82507
82508 2006-06-17  Eric Blake  <ebb9@byu.net>
82509
82510         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
82511         errno.
82512
82513 2006-06-17  Bruno Haible  <bruno@clisp.org>
82514
82515         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
82516         <sys/inttypes.h>.
82517
82518 2006-06-17  Bruno Haible  <bruno@clisp.org>
82519
82520         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
82521         whether errno is declared. Assume <errno.h> declares errno.
82522
82523 2006-06-17  Bruno Haible  <bruno@clisp.org>
82524
82525         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
82526
82527 2006-06-17  Bruno Haible  <bruno@clisp.org>
82528
82529         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
82530         problem on Solaris 2.5.1.
82531
82532 2006-06-16  Eric Blake  <ebb9@byu.net>
82533
82534         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
82535         * lib/unicodeio.c [!defined errno]: Likewise.
82536         * lib/strtol.c [!defined errno]: Likewise.
82537         * lib/strtod.c [!defined errno]: Likewise.
82538
82539 2006-06-15  Eric Blake  <ebb9@byu.net>
82540
82541         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
82542
82543 2006-06-15  Eric Blake  <ebb9@byu.net>
82544
82545         * config/srclist.txt (ssize_t.m4): Lose sync.
82546
82547 2006-06-15  Bruno Haible  <bruno@clisp.org>
82548
82549         * modules/stdint (Files): Include m4/full-header-path.m4,
82550         m4/size_max.m4, m4/wchar_t.m4.
82551         (Makefile.am): Many more substitutions.
82552         * modules/stdint-tests: New file.
82553         * tests/test-stdint.c: New file.
82554
82555 2006-06-15  Bruno Haible  <bruno@clisp.org>
82556
82557         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
82558         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
82559         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
82560         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
82561         gl_CHECK_TYPE_SAME): New macros.
82562
82563 2006-06-15  Bruno Haible  <bruno@clisp.org>
82564
82565         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
82566
82567 2006-06-15  Bruno Haible  <bruno@clisp.org>
82568
82569         * lib/stdint_.h: Rewritten to be fully auto-configured.
82570         Fixes bug on HP-UX/IA64.
82571
82572 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
82573
82574         * lib/getdate.y (__attribute__): Don't define if already defined.
82575         Problem reported by Larry Jones.
82576         * lib/utimens.c (__attribute__): Likewise.
82577
82578 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
82579
82580         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
82581         reported by Andreas Schwab.
82582
82583 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82584             Bruno Haible  <bruno@clisp.org>
82585
82586         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
82587         check for the declaration of strnlen and a run test that exposes the
82588         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
82589         rpl_strndup.
82590
82591 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82592             Bruno Haible  <bruno@clisp.org>
82593
82594         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
82595
82596 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82597
82598         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
82599         compile test, for Tru64 4.0D.
82600
82601 2006-05-28  Karl Berry  <karl@gnu.org>
82602
82603         * config/srclist.txt (printf-args.c): lose sync.
82604
82605 2006-05-26  Martin Lambers  <marlam@marlam.de>
82606
82607         * lib/getpass.c: Updates the test for the native W32 API, and adds
82608         missing includes, thus fixing compilation warnings.
82609
82610 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82611
82612         * lib/exclude.c (exclude_fnmatch): New function.
82613         (excluded_file_name): Call exclude_fnmatch.
82614         * lib/exclude.h (excluded_file_name): New prototype
82615
82616 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
82617
82618         * lib/tempname.c (small_open, large_open): New macros.
82619         (__open, __open64) [!_LIBC]: Remove.
82620         (__gen_tempname): Use small_open and large_open instead of __open
82621         and __open64.  This fixes a portability bug on HP-UX 11.11i
82622         reported by Simon Wing-Tang in
82623         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
82624
82625 2006-05-24  Bruno Haible  <bruno@clisp.org>
82626
82627         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
82628         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
82629         Reported by Thorsten Maerz <torte@netztorte.de> via
82630         Aaron Stone <aaron@serendipity.cx>.
82631
82632 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82633
82634         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
82635         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
82636         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
82637         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
82638         not really conditional on the cache.
82639         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
82640
82641 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82642
82643         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
82644         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
82645         (my_usleep): Don't mishandle maximum value.
82646
82647 2006-05-19  Jim Meyering  <jim@meyering.net>
82648
82649         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
82650
82651 2006-05-17  Bruno Haible  <bruno@clisp.org>
82652
82653         Cygwin portability.
82654         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
82655
82656 2006-05-17  Bruno Haible  <bruno@clisp.org>
82657
82658         * lib/stdint_.h: Fix recognition of Cygwin.
82659
82660 2006-05-15  Bruno Haible  <bruno@clisp.org>
82661
82662         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
82663         on libtool patch by Ralf Wildenhues.
82664
82665 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82666
82667         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
82668         test for C99 conformance; (bool) 0.5 is an integer constant
82669         expression, but (bool) -0.5 is not.  Problem reported by Fedor
82670         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
82671
82672 2006-05-11  Simon Josefsson  <jas@extundo.com>
82673
82674         * m4/xvasprintf.m4: Fix obvious typo.
82675
82676 2006-05-11  Jim Meyering  <jim@meyering.net>
82677
82678         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
82679         James Lemley.
82680
82681 2006-05-10  Simon Josefsson  <jas@extundo.com>
82682
82683         * lib/md4.c: Typo fix, update copyright years.
82684         (K1, K2): Don't use L because it turn computations into 64-bit on
82685         64-bit platforms.
82686
82687 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
82688
82689         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
82690         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
82691         unwanted sign propagation, e.g., on hosts with 64-bit int.
82692         There still are some problems with reeelly weird theoretical hosts
82693         (e.g., 33-bit int) but it's not worth worrying about now.
82694         * lib/sha1.c (rol): Likewise.
82695         (K1, K2, K3, K4): Remove unnecessary L suffix.
82696
82697 2006-05-10  Bruno Haible  <bruno@clisp.org>
82698
82699         * lib/des.c: Cast to avoid warnings.
82700
82701 2006-05-09  Bruno Haible  <bruno@clisp.org>
82702
82703         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
82704         (Depends-on): Depend also on xsize, stdarg.
82705         (configure.ac): Add gl_XVASPRINTF.
82706
82707 2006-05-09  Bruno Haible  <bruno@clisp.org>
82708
82709         * m4/xvasprintf.m4: New file.
82710
82711 2006-05-09  Bruno Haible  <bruno@clisp.org>
82712
82713         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
82714         (EOVERFLOW): Define fallback value.
82715         (xstrcat): New function.
82716         (xvasprintf): Recognize the special case of a string concatenation.
82717
82718 2006-05-08  Eric Blake  <ebb9@byu.net>
82719
82720         * gnulib-tool (func_version): Base copyright year on CVS date.
82721         (func_emit_copyright_notice): New function.
82722         (func_emit_lib_Makefile_am): Use it.
82723         (func_emit_tests_Makefile_am): Likewise.
82724         (func_import): Likewise.
82725
82726 2006-05-08  Bruno Haible  <bruno@clisp.org>
82727
82728         * modules/stdarg: New file.
82729         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
82730
82731 2006-05-08  Bruno Haible  <bruno@clisp.org>
82732
82733         * m4/stdarg.m4: New file, from GNU gettext.
82734
82735 2006-05-08  Bruno Haible  <bruno@clisp.org>
82736
82737         * config/srclist.txt (build-aux/config.rpath): different from latest
82738         release.
82739
82740 2006-05-08  Bruno Haible  <bruno@clisp.org>
82741
82742         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
82743
82744 2006-05-05  Jim Meyering  <jim@meyering.net>
82745
82746         * m4/warning.m4: New file, derived from bison's file by the same name.
82747
82748 2006-05-03  Bruno Haible  <bruno@clisp.org>
82749
82750         * lib/stdint_.h: Shorter URL.
82751         * lib/inttypes.h: Likewise.
82752
82753 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82754
82755         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
82756
82757 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82758
82759         * lib/verify.h: Document the internals better.  Most of this change
82760         was written by Bruno Haible.
82761
82762 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82763
82764         * doc/verify.texi: New file, partly based on a proposal by
82765         Bruno Haible.
82766
82767 2006-05-02  Bruno Haible  <bruno@clisp.org>
82768
82769         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
82770         test from here...
82771         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
82772
82773 2006-04-29  Bruno Haible  <bruno@clisp.org>
82774
82775         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
82776         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
82777
82778 2006-04-29  Bruno Haible  <bruno@clisp.org>
82779
82780         * gnulib-tool: Make --update option actually work.
82781
82782 2006-04-29  Bruno Haible  <bruno@clisp.org>
82783
82784         * doc/gcd.texi: New file.
82785         * doc/gnulib.texi: Include it.
82786
82787 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
82788
82789         * lib/getdate.y (get_date): When adding relative date, start with the
82790         initial time, not with the result of the first mktime call.
82791
82792 2006-04-25  Bruno Haible  <bruno@clisp.org>
82793
82794         * gnulib-tool (func_import): Output the include directives in three
82795         blocks, sorted separately.
82796         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82797
82798 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82799
82800         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
82801         to define main with arguments, for C++.  Reported by Eric Blake.
82802         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
82803         Prefer 'int main ()' to 'int main (void)', for C++.
82804         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
82805         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
82806         for 'main', for C99 and C++.
82807
82808 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82809
82810         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
82811         Don't assume that exit status -1 is valid.
82812         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82813         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
82814         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
82815         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
82816         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
82817         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
82818         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
82819         functions can be used without declaring them, or that you can
82820         exit with status -1.
82821         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
82822
82823 2006-04-24  Karl Berry  <karl@gnu.org>
82824
82825         * config/srclist.txt (longdouble.m4): sync lost.
82826
82827 2006-04-24  Eric Blake  <ebb9@byu.net>
82828
82829         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
82830
82831 2006-04-24  Bruno Haible  <bruno@clisp.org>
82832
82833         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
82834         poll() implementation in AIX.
82835         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82836
82837 2006-04-24  Bruno Haible  <bruno@clisp.org>
82838
82839         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
82840         assigned exactly once.
82841
82842 2006-04-23  Claudio Fontana  <claudio@gnu.org>
82843             Bruno Haible  <bruno@clisp.org>
82844
82845         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
82846         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
82847         for AM_CPPFLAGS.
82848
82849 2006-04-23  Bruno Haible  <bruno@clisp.org>
82850
82851         * modules/copy-file: Depend on unistd.
82852         * modules/execute: Likewise.
82853         * modules/fatal-signal: Likewise.
82854         * modules/findprog: Likewise.
82855         * modules/mkdtemp : Likewise.
82856         * modules/pipe: Likewise.
82857         * modules/wait-process: Likewise.
82858
82859 2006-04-23  Bruno Haible  <bruno@clisp.org>
82860
82861         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
82862         condition was already detected.
82863         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82864
82865 2006-04-23  Bruno Haible  <bruno@clisp.org>
82866
82867         * lib/copy-file.c: Include <unistd.h> unconditionally.
82868         * lib/execute.c: Likewise.
82869         * lib/fatal-signal.c: Likewise.
82870         * lib/findprog.c: Likewise.
82871         * lib/mkdtemp.c: Likewise.
82872         * lib/pipe.h: Likewise.
82873         * lib/pipe.c: Likewise.
82874         * lib/wait-process.h: Likewise.
82875
82876 2006-04-23  Bruno Haible  <bruno@clisp.org>
82877
82878         * gnulib-tool (func_usage): Fix --import description. Document
82879         --update.
82880         (func_import): Create temporary file in a temporary directory, if
82881         --dry-run is specified. Silence errors from 'grep' when there are no
82882         m4 files in $m4dir.
82883         (func_create_testdir): Silence errors from 'grep' when there are no
82884         m4 files in $m4dir.
82885         Reported by Karl Berry <karl@freefriends.org>.
82886
82887 2006-04-20  Bruno Haible  <bruno@clisp.org>
82888
82889         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
82890         one argument, so that the code will be portable to Autoconf 2.60.
82891         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
82892         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
82893         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
82894
82895 2006-04-19  Derek Price  <derek@ximbiot.com>
82896             Eric Blake  <ebb9@byu.net>
82897
82898         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
82899         rather than "/full/path.h".  Update comment to match.  Shorten &
82900         generalize m4_translit call via AS_TR_CPP.
82901
82902 2006-04-19  Derek Price  <derek@ximbiot.com>
82903             Eric Blake  <ebb9@byu.net>
82904
82905         * lib/inttypes.h: Correct grammar in comment.
82906
82907 2006-04-18  Derek Price  <derek@ximbiot.com>
82908             Paul Eggert  <eggert@cs.ucla.edu>
82909
82910         * modules/inttypes: New file.
82911         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
82912
82913 2006-04-18  Derek Price  <derek@ximbiot.com>
82914             Paul Eggert  <eggert@cs.ucla.edu>
82915
82916         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
82917         New files.
82918
82919 2006-04-18  Derek Price  <derek@ximbiot.com>
82920             Paul Eggert  <eggert@cs.ucla.edu>
82921
82922         * lib/inttypes.h: New file.
82923         * lib/strtoimax.c: Assume <inttypes.h>.
82924
82925 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
82926
82927         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
82928         isn't mounted.  Problem reported by Kir Kolyshkin.
82929
82930 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
82931
82932         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
82933         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
82934         Derek R. Price.
82935         * lib/regex.h (RE_DUP_MAX): Update comment to match current
82936         implementation.
82937
82938 2006-04-12  Eric Blake  <ebb9@byu.net>
82939
82940         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
82941         is now done automatically by the corresponding Autoconf macro.
82942
82943 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
82944
82945         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
82946         time_r.h.
82947
82948 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82949
82950         Merge regex changes from libc, removing some of our
82951         POSIX-conformance changes that were rejected and redoing them in a
82952         less-intrusive way.
82953
82954         * lib/regcomp.c (re_compile_internal, init_dfa):
82955         Length arg is now size_t, not Idx.  All uses changed.
82956         (peek_token): Forward decl now says internal_function.
82957         (__re_error_msgid, __re_error_msgid_idx):
82958         Now static rather than extern with attribute_hidden.
82959         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
82960         For some reason libc prefers K&R style defns for external functions.
82961         (regerror) [!defined _LIBC]: Likewise.
82962         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
82963         (seek_collating_symbol_entry, lookup_collation_sequence_value):
82964         (build_range_exp, build_collating_symbol):
82965         Use K&R-style defn.
82966         (re_compile_fastmap): Use '\0' to memset, not 0.
82967         (utf8_sb_map): Make the calculations more obvious.
82968         (init_dfa, parse_bracket_exp, build_charclass_op):
82969         Call calloc and cast result, as glibc does.
82970         (init_word_char, fetch_token, peek_token, peek_token_bracket):
82971         (build_range_exp, build_collating_symbol):
82972         Now internal functions.
82973
82974         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
82975
82976         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
82977         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
82978         Don't depend on VMS; depend on __VMS instead, for POSIX
82979         namespace cleanness.
82980         (regoff_t): Define to ssize_t, not long int.
82981
82982         Remove the REG_ macros named below.  Instead, make the old names
82983         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
82984         __USE_GNU_REGEX.
82985         (REG_BACKSLASH_ESCAPE_IN_LISTS):
82986         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
82987         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
82988         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
82989         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
82990         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
82991         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
82992         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
82993         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
82994         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
82995         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
82996         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
82997         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
82998         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
82999         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
83000         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
83001         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
83002         (REG_NREGS):
83003         Remove.  All uses replaced by the old RE_* names.
83004         (RE_BACKSLASH_ESCAPE_IN_LISTS):
83005         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
83006         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
83007         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
83008         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
83009         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
83010         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
83011         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
83012         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
83013         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
83014         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
83015         Don't bother having these macros be independent of each others'
83016         values, since they no longer exist in the POSIX name space.
83017
83018         Rename the following member names back to their old names,
83019         unless !__USE_GNU_REGEX.  All uses changed back.
83020         (buffer): Renamed from re_buffer.
83021         (allocated): Renamed from re_allocated.
83022         (used): Renamed from re_used.
83023         (syntax): Renamed from re_syntax.
83024         (fastmap): Renamed from re_fastmap.
83025         (translate): Renamed from re_translate.
83026         (can_be_null): Renamed from re_can_be_null.
83027         (regs_allocated): Renamed from re_regs_allocated.
83028         (fastmap_accurate): Renamed from re_fastmap_accurate.
83029         (no_sub): Renamed from re_no_sub.
83030         (not_bol): Renamed from re_not_bol.
83031         (not_eol): Renamed from re_not_eol.
83032         (newline_anchor): Renamed from re_newline_anchor.
83033         (num_regs): Renamed from rm_num_regs.
83034         (start): Renamed from rm_start.
83035         (end): Renamed from rm_end.
83036
83037         (free_state): Move up a bit.
83038
83039         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
83040         #define to be empty.
83041         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
83042         when that is what is intended.
83043         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
83044         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
83045         (MAX): New macro.
83046         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
83047         All uses changed back to re_malloc, etc.  It's now the caller's
83048         responsibility to check for overflow; all callers changed.
83049         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
83050         (re_x2nrealloc): Remove.
83051         (free_state): Remove decl.
83052
83053         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
83054         (re_set_registers, re_exec):
83055         Use K&R-style defn.
83056
83057         2006-01-31  Roland McGrath  <roland@redhat.com>
83058
83059         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
83060         Reported by Mike Frysinger <vapier@gentoo.org>.
83061
83062         2006-01-15  Andreas Jaeger  <aj@suse.de>
83063
83064         [BZ #1950]
83065         * lib/regex_internal.c (re_string_reconstruct): Adjust for
83066         build_wcs_upper_buffer change.
83067         (build_wcs_upper_buffer): Change return type.
83068
83069         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
83070
83071         * lib/regex_internal.h: Include <stdint.h> if available.
83072
83073         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
83074
83075         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
83076
83077         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
83078
83079         * lib/regcomp.c: Adjust for changed secondary hash function.
83080
83081         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
83082
83083         * lib/regex.h: Pretty printing.
83084         Clean up namespace a bit.
83085
83086         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
83087
83088         * lib/regexec.c (update_cur_sifted_state, check_arrival,
83089         check_arrival_add_next_nodes): Avoid using uninitialized variable.
83090
83091         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
83092                     Ulrich Drepper  <drepper@redhat.com>
83093
83094         [BZ #1302]
83095         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
83096         changed.
83097         (bitset_word_t): Renamed from bitset_word.  All uses changed.
83098
83099         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
83100
83101         [BZ #281]
83102         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
83103         * lib/regcomp.c: Remove unnecessary uses of
83104         unsigned RE_TRANSLATE_TYPE.
83105         * lib/regex_internal.h: Likewise.
83106         * lib/regex_internal.c: Likewise.
83107         * lib/regexec.c: Likewise.
83108         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
83109
83110         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
83111
83112         * lib/regexec.c (find_recover_state): Remove unnecessary
83113         initialization.
83114         (transit_state_bkref): Make DFA a const pointer.
83115         (get_subexp): Likewise.
83116         (check_arrival): Likewise.
83117         (update_cur_sifted_state): Likewise.
83118         (re_search_internal): Likewise.
83119         (prune_impossible_nodes): Likewise.
83120         (acquire_init_state_context): Likewise.
83121         (proceed_next_node): Likewise.
83122         (set_regs): Likewise.
83123         (free_fail_stack_return): Likewise.
83124         (check_arrival_expand_ecl): Mark DFA parameter as const.
83125         (check_arrival_expand_ecl_sub): Likewise.
83126         (check_subexp_limits): Likewise.
83127         (sub_epsilon_src_nodes):  Likewise.
83128         (add_epsilon_src_nodes):  Likewise.
83129         (merge_state_array): Likewise.
83130         (update_regs): Likewise.
83131         (build_trtable): Likewise.
83132         (sift_states_backward): Mark MCTX parameter as const.
83133         (build_sifted_states): Likewise.
83134         (update_cur_sifted_state): Likewise.
83135         (sift_states_mkref): Likewise.
83136         (check_arrival_expand_ecl): Mark eclosure as const.
83137         (check_dst_limits_calc_pos_1): Likewise.
83138         * lib/regex_internal.h (re_match_context_t): Make dfa a const
83139         pointer.
83140
83141         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
83142
83143         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
83144         (transit_state_sb): Likewise.
83145         (transit_state_mb): Likewise.
83146         (sift_states_iter_mb): Likewise.
83147         (check_arrival_add_next_nodes): Likewise.
83148         (check_node_accept_bytes): Change first parameter to pointer-to-const.
83149         [_LIBC] (re_search_2_stub): Use mempcpy.
83150
83151         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
83152         mbrtowc for very simple UTF-8 case.
83153
83154         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
83155         a pointer-to-const.
83156         (re_acquire_state_context): Likewise.
83157         * lib/regex_internal.h: Adjust prototypes.
83158
83159         * lib/regex.c: Prevent using C++ compilers.
83160
83161         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
83162         (re_acquire_state_context): Likewise.
83163
83164 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
83165
83166         * modules/regex (Depends-on): Add ssize_t.
83167
83168 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
83169
83170         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
83171         translation table.
83172
83173 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
83174
83175         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
83176
83177 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
83178             Bruno Haible  <bruno@clisp.org>
83179
83180         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
83181         <sys/types.h> and <inttypes.h>.
83182
83183 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83184
83185         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
83186         `__error_t_defined', so argp.h will not typedef the former.
83187
83188 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
83189
83190         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
83191         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
83192         glibc names.  Even if glibc is changed to conform to POSIX, the
83193         traditional names will be available anyway, since regex depends on
83194         the extensions module.  Also, fix a longstanding typo in the
83195         implementation of Spencer ERE test #75 from grep 2.3.  Problems
83196         reported by Emanuele Giaquinta.  Also, change sense of cached
83197         variable, so that the message makes sense.
83198
83199 2006-03-24  Simon Josefsson  <jas@extundo.com>
83200
83201         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
83202         including some doc fixes.
83203         (base64_encode_alloc): Fix +1 bug on allocation failures.
83204
83205 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83206
83207         * lib/base64.c (base64_encode): Do not read past end of array with
83208         unsanitized input on systems with CHAR_BIT > 8.
83209
83210 2006-03-24  Eric Blake  <ebb9@byu.net>
83211
83212         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
83213
83214 2006-03-22  Karl Berry  <karl@gnu.org>
83215
83216         * config/srclist.txt (*setenv.[ch]): get from coreutils.
83217         * config/srclistvars.sh (COREUTILS): new var.
83218
83219 2006-03-17  Jim Meyering  <jim@meyering.net>
83220
83221         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
83222         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
83223
83224 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
83225
83226         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
83227         no longer needs it.  Instead, check that regoff_t is as least
83228         as wide as ptrdiff_t.
83229
83230         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
83231         so that our regex.h stays compatible with the installed regex.
83232         This is helpful for installers who configure --without-included-regex.
83233         Problem reported by Emanuele Giaquinta.
83234
83235 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
83236
83237         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
83238         Typedef to long int, not to off_, as POSIX will likely change
83239         in that direction.
83240
83241 2006-03-15  Eric Blake  <ebb9@byu.net>
83242
83243         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
83244
83245 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
83246
83247         * lib/argp-help.c (validate_uparams): Fix typo
83248         * lib/argp-parse.c (argp_default_options): Consistently begin help
83249         messages with a lowercase letter.
83250
83251 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
83252
83253         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
83254         overrun buffers and shouldn't be used (much as gets shouldn't be
83255         used).
83256         * lib/time_r.c (asctime_r, ctime_r): Likewise.
83257
83258 2006-03-08  Simon Josefsson  <jas@extundo.com>
83259
83260         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
83261         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83262
83263 2006-03-08  Simon Josefsson  <jas@extundo.com>
83264
83265         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
83266         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83267
83268 2006-03-08  Simon Josefsson  <jas@extundo.com>
83269
83270         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
83271         signal that configure disabled the device.
83272
83273 2006-03-08  Simon Josefsson  <jas@extundo.com>
83274
83275         * build-aux/maint.mk: Fix refresh-po, to handle no translated
83276         languages.
83277
83278 2006-03-07  Simon Josefsson  <jas@extundo.com>
83279
83280         * modules/getopt (Depends-on): Add unistd.
83281
83282         * modules/unistd: New file.
83283
83284 2006-03-07  Simon Josefsson  <jas@extundo.com>
83285
83286         * modules/gc-random: New file.
83287
83288 2006-03-07  Simon Josefsson  <jas@extundo.com>
83289
83290         * m4/unistd_h.m4: New file.
83291
83292 2006-03-07  Simon Josefsson  <jas@extundo.com>
83293
83294         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
83295         test to be side-effect free by storing the result in the cache
83296         variable gl_cv_lib_readline, and moving the assignment of
83297         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
83298         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83299
83300 2006-03-07  Simon Josefsson  <jas@extundo.com>
83301
83302         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
83303         error on missing devices (the functions will return an error).
83304
83305         * m4/gc.m4: Move random stuff to gc-random.m4
83306
83307 2006-03-07  Simon Josefsson  <jas@extundo.com>
83308
83309         * lib/unistd_.h: New file.
83310
83311 2006-03-07  Simon Josefsson  <jas@extundo.com>
83312
83313         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
83314
83315 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
83316
83317         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
83318         Problem reported by Juan Manuel Guerrero.
83319
83320 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
83321
83322         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
83323         the unistd module.
83324         * lib/getlogin_r.c: Likewise.
83325         * lib/getlogin_r.h: Likewise.
83326         * lib/glob.c: Likewise.
83327         * lib/pagealign_alloc.c: Likewise.
83328         * lib/unistd_.h: Remove; no longer needed.
83329
83330 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
83331
83332         * MODULES.html.sh (Support for systems lacking POSIX:2001):
83333         Add unistd.
83334         * modules/c-stack (Depends-on): Add unistd.
83335         * modules/getlogin_r: Likewise.
83336         * modules/glob: Likewise.
83337         * modules/pagealign_alloc: Likewise.
83338         * modules/unistd (Files): Remove lib/unistd_.h.
83339         (EXTRA_DIST): Remove.
83340         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
83341         need unistd_.h.
83342         (MOSTLYCLEANFILES): Remove unistd.h-t.
83343
83344 2006-03-03  Simon Josefsson  <jas@extundo.com>
83345
83346         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
83347
83348 2006-03-03  Simon Josefsson  <jas@extundo.com>
83349
83350         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
83351         libidn and bison.
83352
83353 2006-03-03  Simon Josefsson  <jas@extundo.com>
83354
83355         * build-aux/maint.mk: Add indent target.
83356
83357 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
83358
83359         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
83360         our replacement poll.h in any case, to avoid a differing
83361         declaration from a system header.  Seen on AIX.
83362
83363 2006-03-01  Simon Josefsson  <jas@extundo.com>
83364
83365         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
83366         <kasal@ucw.cz>.
83367
83368 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83369
83370         * modules/gettime (Depends-on): Add extensions module.
83371         * modules/nanosleep (Depends-on): Likewise.
83372         * modules/settime (Depends-on): Likewise.
83373
83374 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83375
83376         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
83377         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
83378         pedantically.
83379         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
83380         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
83381
83382         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
83383         not "==".  Reported by Ralf Wildenhues.
83384
83385 2006-03-01  Karl Berry  <karl@gnu.org>
83386
83387         * doc/Copyright/request-*: new files, synced from gnuorg.
83388
83389 2006-03-01  Karl Berry  <karl@gnu.org>
83390
83391         * config/srclist.txt (Copyright/*): new entries.
83392
83393 2006-02-28  Simon Josefsson  <jas@extundo.com>
83394
83395         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
83396
83397 2006-02-27  Simon Josefsson  <jas@extundo.com>
83398
83399         * lib/base64.h: Indent #define's.  From Jim Meyering
83400         <jim@meyering.net>.
83401
83402 2006-02-27  Jim Meyering  <jim@meyering.net>
83403
83404         Revert the change of 2006-02-24, so these files can continue
83405         to be sync'd from gettext.
83406         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
83407         of `config.h'.
83408
83409 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
83410
83411         * modules/intprops: New file.
83412         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
83413         Add intprops.
83414         * modules/getloadavg (Files): Remove lib/intprops.h.
83415         (Depends-on): Add intprops.
83416         * modules/human: Likewise.
83417         * modules/inttostr: Likewise.
83418         * modules/openat: Likewise.
83419         * modules/sig2str: Likewise.
83420         * modules/userspec: Likewise.
83421         * modules/utimecmp: Likewise.
83422         * modules/xnanosleep: Likewise.
83423         * modules/xstrtol: Likewise.
83424
83425 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
83426
83427         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
83428         * modules/lock-tests (TESTS): Use $(EXEEXT).
83429         * modules/tls-tests: Likewise.
83430         * modules/argp-tests: Likewise.
83431         (check_PROGRAMS): New var, replacing...
83432         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
83433
83434 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83435
83436         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
83437         `config.h'.
83438
83439 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
83440
83441         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
83442
83443 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83444
83445         Sync from coreutils.
83446         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
83447         gl_CHDIR_SAFER.
83448
83449 2006-02-22  Jim Meyering  <jim@meyering.net>
83450
83451         Sync from coreutils.
83452         * m4/chdir-safer.m4: New file.
83453
83454 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
83455
83456         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
83457         AT_FDCWD exceeds INT_MAX.
83458         * lib/openat.h (AT_FDCWD): Likewise.
83459
83460 2006-02-17  Eric Blake  <address@hidden>
83461
83462         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
83463
83464 2006-02-16  Simon Josefsson  <jas@extundo.com>
83465
83466         * modules/getaddrinfo (Depends-on): Add sys_socket.
83467
83468 2006-02-15  Simon Josefsson  <jas@extundo.com>
83469
83470         * build-aux/maint.mk: Add dsyntax-check rule.
83471
83472 2006-02-15  Eric Blake  <ebb9@byu.net>
83473
83474         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
83475         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
83476         'present but cannot compile' warnings on cygwin.
83477         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
83478         use ws2tcpip.h if sys/socket.h works.
83479         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
83480         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
83481
83482 2006-02-14  Simon Josefsson  <jas@extundo.com>
83483
83484         * modules/maintainer-makefile (Files): Rename.
83485
83486         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
83487         and (the local) Makefile.cfg to maint-cfg.mk.
83488
83489         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
83490         to the latter.
83491
83492         * modules/maintainer-makefile: New module.
83493
83494         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
83495         severaly stripped to make it possible to build it up from scratch
83496         with reliable tests.
83497
83498         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
83499         fixes to permit overriding the default actions when configure and
83500         makefile are not available.
83501
83502 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
83503
83504         Sync from coreutils.
83505         * modules/lstat (Depends-on): Don't depend on xalloc.
83506         (License): Change from GPL to LGPL, since this is now simply a
83507         replacement for a libc function.
83508
83509 2006-02-14  Jim Meyering  <jim@meyering.net>
83510
83511         Sync from coreutils.
83512
83513         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
83514         failure on deficient systems, and simplify gnulib lgpl dependencies.
83515         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
83516         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
83517
83518         * lib/xalloc-die.c: Remove unused definition of N_.
83519
83520 2006-02-14  Jim Meyering  <jim@meyering.net>
83521
83522         Sync from coreutils.
83523         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
83524         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
83525         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
83526         double-quote uses of that variable, to accommodate the rare case in
83527         which getmntent is available in none of the libraries checked.  This
83528         happens at least on FreeBSD 5.0.
83529
83530 2006-02-13  Simon Josefsson  <jas@extundo.com>
83531
83532         * gnulib-tool (Usage): Fix --import, from
83533         karl@freefriends.org (Karl Berry).
83534
83535 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
83536
83537         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
83538
83539 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
83540
83541         * lib/argp-namefrob.h: Restore changes accidentally lost during the
83542         "autoupdate" on 2005-12-12.
83543
83544 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
83545
83546         * modules/closeout (Depends-on): Remove atexit.
83547
83548 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
83549
83550         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
83551         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
83552
83553 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
83554
83555         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
83556         __EXTENSIONS__ if this causes compilation to fail.  Problem
83557         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
83558         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
83559
83560 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
83561
83562         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
83563         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
83564         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
83565         All uses changed.
83566
83567 2006-01-26  Simon Josefsson  <jas@extundo.com>
83568
83569         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
83570         prototype is visible on mingw32.
83571
83572         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
83573         for mingw32.
83574
83575         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
83576         mingw32).
83577
83578 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
83579
83580         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
83581         attempt to open for write; this always fails, at least on POSIX
83582         hosts.  This reinstates the 2006-01-09 change, which was
83583         inadvertently removed.
83584
83585 2006-01-26  Bruno Haible  <bruno@clisp.org>
83586
83587         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
83588         Reported by Paul Eggert.
83589
83590 2006-01-26  Bruno Haible  <bruno@clisp.org>
83591             Paul Eggert  <eggert@cs.ucla.edu>
83592
83593         * lib/stdbool_.h (_Bool)
83594         [(! (defined __cplusplus || defined __BEOS__)
83595           && !defined __GNUC__
83596           && !(defined __HP_cc || defined __xlc__
83597                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
83598                || defined __sgi))]:
83599         #define to signed char in these cases too; this simplifies
83600         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
83601         etc., separately) and makes it more conservative.
83602
83603 2006-01-25  Simon Josefsson  <jas@extundo.com>
83604
83605         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
83606         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
83607         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
83608
83609 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83610
83611         * lib/argp-namefrob.h: Bugfix. Remove stray #
83612
83613 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
83614
83615         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
83616         so that we test the test.
83617         Check for yet another HP-UX cc bug involving *bool |= bool.
83618
83619 2006-01-25  Karl Berry  <karl@gnu.org>
83620
83621         * config/srclist.txt (vasnprintf.c): sync lost.
83622
83623 2006-01-25  Jim Meyering  <jim@meyering.net>
83624
83625         Sync from the stable (b5) branch of coreutils:
83626
83627         * lib/fts.c (fts_children): Don't let close() clobber errno from
83628         failed fchdir().
83629
83630         * lib/fts.c (fts_stat): When following a symlink-to-directory,
83631         don't necessarily interpret stat-fails+lstat-succeeds as indicating
83632         a dangling symlink.  That can also happen at least for ELOOP.
83633         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
83634         FYI, this bug predates the inclusion of fts.c in coreutils.
83635
83636         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
83637         in their own block, so pre-c99 compilers don't object.
83638
83639         Avoid the double-free (first in fts_read, second in fts_close) that
83640         would occur when an `active' directory is made inaccessible (e.g.,
83641         via chmod a-x) during a traversal.
83642         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
83643         before returning.  Reproduce this failure by
83644         mkdir -p a/b; cd a; chmod a-x . b
83645         Reported by Stavros Passas.
83646
83647 2006-01-25  Jim Meyering  <jim@meyering.net>
83648
83649         * lib/fileblocks.c: Remove more useless parentheses.
83650         * lib/readutmp.h: Likewise.
83651
83652 2006-01-25  Bruno Haible  <bruno@clisp.org>
83653
83654         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
83655         warnings.
83656         Reported by Paul Eggert.
83657
83658 2006-01-25  Bruno Haible  <bruno@clisp.org>
83659
83660         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
83661         rid of a trap command. For Solaris sh.
83662         Reported by Mark D. Baushke <mdb@gnu.org>.
83663
83664 2006-01-24  Simon Josefsson  <jas@extundo.com>
83665
83666         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
83667         Bruno.
83668
83669 2006-01-24  Karl Berry  <karl@gnu.org>
83670
83671         * config/srclist.txt (argp-namefrob.h): sync lost.
83672
83673 2006-01-24  Jim Meyering  <jim@meyering.net>
83674
83675         * modules/openat (Files): Add lib/intprops.h.
83676         From Mark D. Baushke.
83677
83678 2006-01-24  Jim Meyering  <jim@meyering.net>
83679
83680         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
83681         Reported by Mark D. Baushke.
83682
83683 2006-01-24  Jim Meyering  <jim@meyering.net>
83684
83685         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
83686
83687 2006-01-24  Bruno Haible  <bruno@clisp.org>
83688
83689         * modules/strnlen (Maintainer): Change from glibc to all.
83690
83691 2006-01-24  Bruno Haible  <bruno@clisp.org>
83692
83693         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
83694         Patch by Paul Eggert.
83695
83696 2006-01-24  Bruno Haible  <bruno@clisp.org>
83697
83698         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
83699         already has it.
83700         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
83701         2005-11-26.
83702
83703         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
83704         'signed char' to avoid problems with the built-in _Bool type.
83705         Reported by Paul Eggert on 2005-11-26.
83706
83707 2006-01-24  Bruno Haible  <bruno@clisp.org>
83708
83709         * gnulib-tool (func_import): Avoid constructing complicated sed
83710         expressions inside backquote.
83711         Report and solution by Mark D. Baushke <mdb@gnu.org>.
83712
83713 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
83714
83715         These changes imported from libc.
83716         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
83717         test and two separate function calls.
83718         * lib/strndup.c (__strndup): Add libc_hidden_def.
83719
83720 2006-01-23  Simon Josefsson  <jas@extundo.com>
83721
83722         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
83723         Remove the test_*_SOURCES variable: automake infers it by default.
83724         * modules/tls-tests: Likewise.
83725
83726 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83727
83728         Work around porting bugs reported by Dieter in
83729         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
83730         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
83731         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
83732         Include "getopt.h" first, to check interface.
83733         (getenv): Declare only if defined HAVE_DECL_GETENV &&
83734         !HAVE_DECL_GETENV.
83735         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
83736         (__strndup): Revert to K&R-style function dfns, the glibc style.
83737         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
83738         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
83739         Include strnlen.h first, to get prototype properly.
83740         (strnlen): Renamed from __strnlen.
83741         Remove weak alias.
83742
83743 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83744
83745         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
83746
83747 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83748
83749         * config/srclist.txt: Adjust to reflect glibc reorganization.
83750         This affects only comments.
83751
83752 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83753
83754          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
83755          Reported by Bruce Korb <bkorb@gnu.org>.
83756
83757 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
83758
83759         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
83760         to pacify gcc -Wswitch-default.
83761
83762 2006-01-22  Bruno Haible  <bruno@clisp.org>
83763
83764         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
83765         temporary buffer for sprintf, take into account the precision also
83766         for 'd', 'i', 'u', 'o', 'x', 'X'.
83767
83768 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83769
83770         * modules/argp-tests: New module
83771         * tests/test-argp.c: New file
83772         * tests/test-argp-2.sh: New file
83773
83774 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83775
83776         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
83777         (__argp_base_name): Removed
83778         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
83779         typo.
83780         (__argp_base_name): Provide macro definition or extern declaration
83781         depending on the configuration
83782
83783 2006-01-20  Simon Josefsson  <jas@extundo.com>
83784
83785         * modules/inet_ntop (Depends-on): Depend on sys_socket.
83786
83787 2006-01-20  Simon Josefsson  <jas@extundo.com>
83788
83789         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
83790
83791 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83792
83793         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
83794         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
83795         Suggested by Bruno Haible.
83796
83797 2006-01-20  Karl Berry  <karl@gnu.org>
83798
83799         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
83800         until changes propagate, I guess.
83801
83802 2006-01-19  Simon Josefsson  <jas@extundo.com>
83803
83804         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
83805
83806 2006-01-19  Simon Josefsson  <jas@extundo.com>
83807
83808         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
83809
83810 2006-01-19  Simon Josefsson  <jas@extundo.com>
83811
83812         * gnulib-tool: Set check_PROGRAMS.
83813
83814         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83815         modules/des-tests, modules/gc-arcfour-tests,
83816         modules/gc-arctwo-tests, modules/gc-des-tests,
83817         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83818         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83819         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83820         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83821         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83822         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
83823         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
83824         test_*_SOURCES.
83825
83826 2006-01-18  Simon Josefsson  <jas@extundo.com>
83827
83828         * modules/socklen (Depends-on): Depend on sys_socket.
83829
83830 2006-01-18  Simon Josefsson  <jas@extundo.com>
83831
83832         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83833         modules/des-tests, modules/gc-arcfour-tests,
83834         modules/gc-arctwo-tests, modules/gc-des-tests,
83835         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83836         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83837         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83838         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83839         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83840         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
83841         $(EXEEXT) to automake TESTS variable, for mingw32.
83842
83843 2006-01-17  Simon Josefsson  <jas@extundo.com>
83844
83845         * modules/socklen (Include): Need sys/socket.h.
83846
83847 2006-01-17  Bruno Haible  <bruno@clisp.org>
83848
83849         * modules/ssize_t (Include): Add <sys/types.h>.
83850
83851 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
83852
83853         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
83854         it's not portable and it doesn't work with cross-compiles.
83855         Problem reported by Bruno Haible.  Fix missing-$ typo in
83856         'test "gl_cv_ignore_unused_libraries" ...' that prevented
83857         -zignore from being used with Sun's C compiler.
83858
83859 2006-01-12  Simon Josefsson  <jas@extundo.com>
83860
83861         * lib/base64.c: Fix warning, reported by Bruno Haible
83862         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
83863
83864 2006-01-12  Bruno Haible  <bruno@clisp.org>
83865
83866         * modules/ldd: New file.
83867         * build-aux/ldd.sh.in: New file.
83868         * MODULES.html.sh (Support for building libraries and executables): Add
83869         ldd.
83870
83871 2006-01-12  Bruno Haible  <bruno@clisp.org>
83872
83873         * m4/ldd.m4: New file.
83874
83875 2006-01-12  Bruno Haible  <bruno@clisp.org>
83876
83877         * gnulib-tool (func_import, func_create_testdir): Don't go into an
83878         endless loop while replacing $auxdir with build-aux.
83879
83880 2006-01-11  Simon Josefsson  <jas@extundo.com>
83881
83882         * lib/stdint_.h (SIZE_MAX): Add missing (.
83883
83884 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
83885
83886         Sync from coreutils.
83887         * lib/md5.c: Fix commentary typos.
83888         (alignof, UNALIGNED_P): No need for a GCC-specific version.
83889         * lib/md5.h (__attribute__): Remove; unused.
83890         * lib/sha1.c: Fix commentary to match md5 better.
83891         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
83892         so that we don't need to worry about alignment.  All uses changed.
83893         This merges the 2005-10-28 md5 change into sha1.
83894
83895 2006-01-11  Jim Meyering  <jim@meyering.net>
83896
83897         Sync from coreutils.
83898         * lib/md5.c (OP): Fix spacing.
83899
83900 2006-01-11  Bruno Haible  <bruno@clisp.org>
83901
83902         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83903         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
83904         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
83905
83906 2006-01-11  Bruno Haible  <bruno@clisp.org>
83907
83908         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83909         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
83910         the "early" section as well.
83911
83912 2006-01-11  Bruno Haible  <bruno@clisp.org>
83913
83914         Avoid "ar: no archive members specified" error on MacOS X.
83915         * gnulib-tool (func_modules_add_dummy): New function.
83916         (func_import, func_create_testdir): Invoke it.
83917
83918 2006-01-11  Bruno Haible  <bruno@clisp.org>
83919
83920         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
83921         with $auxdir in AC_CONFIG_FILES statements.
83922
83923 2006-01-11  Bruno Haible  <bruno@clisp.org>
83924
83925         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
83926         Initialize also noinst_HEADERS to empty.
83927
83928 2006-01-11  Bruno Haible  <bruno@clisp.org>
83929
83930         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
83931         variables.
83932         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
83933         autoreconf.
83934
83935 2006-01-11  Bruno Haible  <bruno@clisp.org>
83936
83937         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
83938         overridable by the user.
83939         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83940
83941 2006-01-10  Simon Josefsson  <jas@extundo.com>
83942
83943         * modules/sys_socket: New file.
83944
83945 2006-01-10  Simon Josefsson  <jas@extundo.com>
83946
83947         * m4/sys_socket_h.m4: New file.
83948
83949 2006-01-10  Simon Josefsson  <jas@extundo.com>
83950
83951         * lib/socket_.h: New file.
83952
83953 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83954
83955         * modules/readutmp (Maintainer): Add myself.
83956
83957 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83958
83959         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
83960         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
83961         People who are still concerned with buggy memcmp implementations
83962         can invoke gl_FUNC_MEMCMP themselves.
83963
83964 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83965
83966         * lib/regex_internal.h (BITSET_WORD_BITS):
83967         Work around a bug in 64-bit PGC (before version 6.1-2), where the
83968         preprocessor mishandles large unsigned values as if they were signed.
83969         Problem reported by Claudio Fontana in
83970         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
83971
83972 2006-01-10  Jim Meyering  <jim@meyering.net>
83973
83974         Avoid the double-free (first in fts_read, second in fts_close) that
83975         would occur when an `active' directory is made inaccessible (e.g.,
83976         via chmod a-x) during a traversal.
83977         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
83978         before returning.  Reproduce this failure by
83979         mkdir -p a/b; cd a; chmod a-x . b
83980         Reported by Stavros Passas.
83981
83982         Sync from coreutils.
83983         * lib/sha1.c: Tweak grammar in a comment.
83984
83985 2006-01-10  Jim Meyering  <jim@meyering.net>
83986
83987         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
83988         Patch by Joerg Sonnenberger.
83989
83990 2006-01-10  Bruno Haible  <bruno@clisp.org>
83991
83992         * modules/readutmp: Depend on module free.
83993         * modules/strtok_r: Depend on module restrict.
83994
83995 2006-01-10  Bruno Haible  <bruno@clisp.org>
83996
83997         * modules/gettext (configure.ac): Add an invocation of
83998         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
83999
84000 2006-01-10  Bruno Haible  <bruno@clisp.org>
84001
84002         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
84003         Reported by Werner Lemberg <wl@gnu.org>.
84004
84005 2006-01-10  Bruno Haible  <bruno@clisp.org>
84006
84007         * lib/localcharset.c: Update from GNU gettext.
84008
84009 2006-01-10  Bruno Haible  <bruno@clisp.org>
84010
84011         * lib/argp.h (__const): Remove macro. Use const instead.
84012         * lib/argp-fmtstream.h (__const): Likewise.
84013         * lib/glob_.h (__const): Remove macro.
84014         * lib/glob-libc.h: Use const instead of __const.
84015
84016 2006-01-10  Bruno Haible  <bruno@clisp.org>
84017
84018         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
84019         variable.
84020         Needed to avoid an automake error regarding the 'gettext' module.
84021
84022 2006-01-09  Simon Josefsson  <jas@extundo.com>
84023
84024         * modules/inet_ntop (Depends-on): Add restrict.
84025
84026 2006-01-09  Simon Josefsson  <jas@extundo.com>
84027
84028         * modules/gc-rijndael-tests (License): Put under LGPL.
84029
84030         * modules/gc-des-tests (License): Likewise.
84031
84032         * modules/gc-arcfour-tests (License): Likewise.
84033
84034         * modules/gc-arctwo-tests (License): Likewise.
84035
84036         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
84037
84038         * modules/gc-hmac-sha1-tests (Files): Likewise.
84039
84040         * modules/gc-hmac-md5-tests (License): Likewise.
84041
84042         * modules/gc-sha1-tests (License): Likewise.
84043
84044         * modules/gc-md5-tests (License): Likewise.
84045
84046         * modules/gc-md4-tests (License): Likewise.
84047
84048         * modules/gc-md2-tests (License): Likewise.
84049
84050         * modules/gc-tests (License): Likewise.
84051
84052         * modules/des-tests (License): Likewise.
84053
84054         * modules/md4-tests (License): Likewise.
84055
84056         * modules/md2-tests (License): Likewise.
84057
84058 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
84059
84060         Sync from coreutils:
84061
84062         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
84063         * modules/lib-ignore: New file.
84064         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
84065         chdir-safer.m4, lchmod.m4.
84066         * modules/openat: Add mkdirat.c, openat-priv.h.
84067
84068 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
84069
84070         Sync from coreutils.
84071         * m4/lib-ignore.m4: New file.
84072         * m4/lchmod.m4: New file.
84073
84074 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
84075
84076         Sync from coreutils.
84077         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
84078         for write access: POSIX says that must fail.
84079         * lib/fts.c (diropen): Likewise.
84080         * lib/save-cwd.c (save_cwd): Likewise.
84081         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
84082         well, for minor improvements on hosts that lack O_DIRECTORY.
84083         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
84084         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
84085         Fall back on chown if open failed with EACCES.
84086
84087         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
84088         Report an error at compile-time if only a 1-second nominal clock
84089         resolution is found.
84090
84091         * lib/lchmod.h: New file.
84092         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
84093         (make_dir_parents): Use lchown rather than chown, and
84094         lchmod rather than chmod.
84095
84096         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
84097         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
84098         "proc" reported by n0dalus.
84099
84100         * lib/mountlist.c: Include <limits.h>.
84101         (dev_from_mount_options)
84102         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
84103         New function.  It no longer assumes "dev=" has the System V meaning
84104         on Linux (since it doesn't).  It also parses "dev=" more carefully.
84105         (read_file_system_list)
84106         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
84107         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
84108         dev= in that case.
84109
84110         * lib/posixtm.h (PDS_PRE_2000): New macro.
84111         * lib/posixtm.c (year): Arg is now syntax_bits rather than
84112         allow_century.  All usages changed.  Reject dates outside the range
84113         1969-1999 if PDS_PRE_2000 is used.
84114
84115 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
84116
84117         Sync from coreutils.
84118         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
84119         (Time of day items): Mention the possibility of leap seconds.
84120         Problem reported by Dr. David Alan Gilbert.
84121
84122 2006-01-09  Jim Meyering  <jim@meyering.net>
84123
84124         Sync from coreutils.
84125
84126         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
84127
84128         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
84129
84130         * lib/modechange.c (mode_compile): Reject an invalid mode string
84131         that starts with an octal digit.  From Andreas Gruenbacher.
84132
84133         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
84134         and dup to open_safer and dup_safer, respectively.
84135         (openat_permissive): Fix typo in comment.
84136
84137         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
84138         "gettext.h"; either no longer needed or are guaranteed by openat.h.
84139         (_): Remove; no longer needed.
84140         (openat): Renamed from rpl_openat; no need for rpl_openat
84141         since openat.h renames openat for us.
84142         Replace most of the body with a call to openat_permissive,
84143         to avoid duplicate code.
84144         Port to (probably hypothetical) environments were mode_t is
84145         wider than int.
84146         (openat_permissive): Require mode arg, so that we can check
84147         types better.  Put it just after flags.  Change cwd failure
84148         indicator from pointer-to-bool to pointer-to-errno-value.
84149         All callers changed.
84150         Invoke openat_save_fail and/or openat_restore_fail if
84151         cwd_errno is null, so that openat can call us.
84152         (openat_permissive, fdopendir, fstatat, unlinkat):
84153         Simplify errno handling to avoid some duplicate code,
84154         as it's OK to set errno on success.
84155         * lib/openat.h: Revamp code so that function macros depend on
84156         __OPENAT_PREFIX only, not also on AT_FDCWD.
84157         (openat_ro): Remove.  Caller changed to use openat_permissive.
84158         (openat_permissive): Now a macro, if not a function.
84159         (openat_restore_fail, openat_save_fail): Now always functions,
84160         since mkdirat needs them even if __OPENAT_PREFIX is defined.
84161
84162         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
84163         and openat.c.
84164         * lib/mkdirat.c: Include openat-priv.h.
84165         Remove definitions of macros defined therein.
84166         * lib/openat.c: Likewise.
84167
84168         * lib/mkdirat.c (mkdirat): New file and function.
84169         * lib/openat.h (mkdirat): Declare.
84170
84171         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
84172
84173         * lib/openat.h (openat_permissive): Declare.
84174         (openat_ro): Define.
84175
84176         * lib/openat.c (EXPECTED_ERRNO): New macro.
84177         (openat_permissive): New function -- used in remove.c rewrite.
84178         (all functions): Set errno just before returning, only if there
84179         was an actual failure.
84180         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
84181
84182         Emulate openat-family functions using Linux's procfs, if possible.
84183         Idea and some code based on Ulrich Drepper's glibc changes.
84184
84185         * lib/openat.c: (BUILD_PROC_NAME): New macro.
84186         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
84187         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
84188         before falling back on save_cwd and restore_cwd.
84189         (fdopendir, fstatat, unlinkat): Likewise.
84190
84191         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
84192         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
84193
84194         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
84195         as second argument to va_arg.  Otherwise, some versions of gcc
84196         warn that `if this code is reached, the program will abort'.
84197
84198 2006-01-09  Jim Meyering  <jim@meyering.net>
84199
84200         Sync from coreutils.
84201         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
84202         Require openat-priv.h.
84203
84204 2006-01-09  Bruno Haible  <bruno@clisp.org>
84205
84206         * modules/strnlen (Include): Use strnlen.h.
84207
84208 2006-01-09  Bruno Haible  <bruno@clisp.org>
84209
84210         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
84211
84212 2006-01-09  Bruno Haible  <bruno@clisp.org>
84213
84214         * lib/sysexit_.h (EX_OK): New macro.
84215         Suggested by Martin Lambers <marlam@marlam.de>.
84216
84217 2006-01-09  Bruno Haible  <bruno@clisp.org>
84218
84219         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
84220         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
84221
84222 2006-01-09  Bruno Haible  <bruno@clisp.org>
84223
84224         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
84225         numbers.
84226
84227 2006-01-09  Bruno Haible  <bruno@clisp.org>
84228
84229         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
84230         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
84231         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
84232         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
84233
84234 2006-01-09  Bruno Haible  <bruno@clisp.org>
84235
84236         * build-aux/javacomp.sh.in: New file, moved from lib/.
84237         * modules/javacomp-script (Files): Update.
84238         (configure.ac): Add AC_CONFIG_FILES invocation.
84239         (EXTRA_DIST): Remove variable.
84240
84241         * build-aux/javaexec.sh.in: New file, moved from lib/.
84242         * modules/javaexec (Files): Update.
84243         (configure.ac): Add AC_CONFIG_FILES invocation.
84244         (EXTRA_DIST): Remove javaexec.sh.in.
84245
84246         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
84247         * modules/csharpcomp-script (Files): Update.
84248         (configure.ac): Add AC_CONFIG_FILES invocation.
84249         (EXTRA_DIST): Remove variable.
84250
84251         * build-aux/csharpexec.sh.in: New file, moved from lib/.
84252         * modules/csharpexec (Files): Update.
84253         (configure.ac): Add AC_CONFIG_FILES invocation.
84254         (EXTRA_DIST): Remove csharpexec.sh.in.
84255
84256 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
84257
84258         Sync from coreutils.
84259
84260         Add POSIX ACL support
84261         * lib/acl.h (copy_acl, set_acl): Add declarations.
84262         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
84263         systems other than Linux.
84264         (chmod_or_fchmod): New function: use fchmod when possible,
84265         and chmod otherwise.
84266         (file_has_acl): Add a POSIX ACL implementation, with a
84267         Linux-specific subcase.
84268         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
84269         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
84270         acls are unsupported.
84271         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
84272         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
84273         are unsupported.
84274
84275 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
84276
84277         Sync from coreutils.
84278         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
84279
84280 2006-01-07  Bruno Haible  <bruno@clisp.org>
84281
84282         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
84283         gl_EARLY.
84284
84285 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
84286
84287         * lib/strftime.c (tzname): Don't declare if it is already #defined.
84288         Problem reported for Mingw by Mark Junker.
84289
84290 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
84291
84292         * README: Gnulib normally doesn't generate a tarball.
84293
84294 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
84295
84296         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
84297         long int, not int, for nanosecond counts, so that people who are
84298         used to POSIX struct timespec won't be surprised.  Reported by Jim
84299         Meyering.
84300
84301 2005-12-28  Bruno Haible  <bruno@clisp.org>
84302
84303         * build-aux/config.rpath: Update from GNU gettext.
84304
84305 2005-12-16  Jim Meyering  <jim@meyering.net>
84306
84307         * modules/fprintftime: New module.
84308         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
84309
84310 2005-12-16  Jim Meyering  <jim@meyering.net>
84311
84312         * m4/fprintftime.m4: New file.
84313
84314 2005-12-16  Jim Meyering  <jim@meyering.net>
84315
84316         * lib/fprintftime.c, lib/fprintftime.h: New files.
84317
84318 2005-12-15  Simon Josefsson  <jas@extundo.com>
84319
84320         * modules/socklen (configure.ac): Fix M4 macro name, to align with
84321         new m4/socklen.m4.
84322
84323 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
84324
84325         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
84326         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
84327
84328 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
84329
84330         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
84331         * lib/argp-help.c (fill_in_uparams): Check if the constructed
84332         struct uparams is valid. Fall back to the default values if it is
84333         not.
84334
84335 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
84336
84337         * modules/argp (Files): Add argp-pin.c
84338         (Depends-on): dirname
84339         (lib_SOURCES): Add argp-pin.c
84340
84341 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
84342
84343         * m4/argp.m4:  Check if program_invocation_name and
84344         program_invocation_short_name are declared and define appropriate
84345         macros if they are not.
84346
84347 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
84348
84349         * lib/argp-help.c (__argp_base_name): New function
84350         (__argp_short_program_name): Rewrite using __argp_base_name
84351         * lib/argp-namefrob.h: Define program_invocation_name and
84352         program_invocation_short_name if requested
84353         (__argp_base_name): Add prototype
84354         * lib/argp-parse.c (argp_def): Use gettext wrappers
84355         (argp_default_parser): Use __argp_base_name
84356         * lib/argp-pin.c: New file. Defines program_invocation_name and
84357         program_invocation_short_name on systems that lack them.
84358
84359 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
84360
84361         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
84362         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
84363         porting problem reported by Georg Schwarz in
84364         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
84365
84366 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
84367
84368         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
84369         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
84370         porting problem reported by Georg Schwarz in
84371         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
84372
84373 2005-12-05  Bruno Haible  <bruno@clisp.org>
84374
84375         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
84376         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
84377         Reported by Mark Junker <mjscod@gmx.de>.
84378
84379 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
84380
84381         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
84382         Use implementation from Albert Chin, with some
84383         comments/corrections by Stepan Kasal and myself.
84384
84385 2005-12-02  Bruno Haible  <bruno@clisp.org>
84386
84387         * gnulib-tool (func_import): Accept GPLed build tool modules when
84388         --lgpl is given.
84389         * modules/csharpcomp-script: New file.
84390         * modules/csharpcomp: Depend on it.
84391         * modules/javacomp-script: New file.
84392         * modules/javacomp: Depend on it.
84393         Suggested by Simon Josefsson.
84394
84395 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
84396
84397         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
84398         statement, to work around an HP-UX 10.20 compiler bug reported by
84399         Peter O'Gorman.
84400
84401 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
84402
84403         * modules/savedir (Depends-on): Add openat.
84404
84405 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
84406
84407         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
84408         (uintmax_t) [defined uintmax_t]: Do not declare.
84409         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
84410         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
84411         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
84412         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
84413         sake of portability to weird hosts that C allows (though we don't
84414         know of any practical examples).
84415
84416         * lib/savedir.h (fdsavedir): New decl.
84417         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
84418         contains most of the former guts of savedir.
84419         (savedir): Use savedirstream.
84420         Include "openat.h".
84421
84422 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
84423
84424         * modules/obstack (Files): Add m4/ulonglong.m4.
84425         Problem reported by Davide Angelocola.
84426
84427 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
84428
84429         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
84430         coreutils no longer futzes with rounding modes.
84431
84432 2005-11-14  Jim Meyering  <jim@meyering.net>
84433
84434         * lib/mkstemp-safer.c: Include <config.h>, required for possible
84435         replacement of mkstemp.
84436
84437 2005-11-10  Simon Josefsson  <jas@extundo.com>
84438
84439         * lib/readline.c: Remove EOL.
84440
84441 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84442
84443         * modules/gethrxtime (Depends-on): Add gettime.
84444
84445 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84446
84447         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
84448         or gettimeofday; no longer needed.
84449
84450 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84451
84452         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
84453         time business.
84454         (gethrxtime) [! (HAVE_NANOUPTIME
84455         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
84456         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
84457         our own approximation.
84458
84459 2005-11-08  Eric Blake  <ebb9@byu.net>
84460
84461         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
84462
84463 2005-11-08  Eric Blake  <ebb9@byu.net>
84464
84465         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
84466
84467 2005-11-04  Bruno Haible  <bruno@clisp.org>
84468
84469         * gnulib-tool: Implement --update mode.
84470
84471 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
84472
84473         Fix porting problem reported by Theodoros V. Kalamatianos.
84474         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
84475         Don't assume that futimes failing means we must fail.
84476
84477 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
84478
84479         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
84480         variables to suggest the intended function of the PATH_MAX check.
84481
84482 2005-10-30  Kean Johnston  <jkj@sco.com>
84483
84484         Trivial changes to support SCO systems.
84485         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
84486         as PATH_MAX.
84487         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
84488         where __ptr is null when no I/O is pending.
84489
84490 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84491
84492         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
84493         leave errno alone.  Problem reported by Dmitry V. Levin.
84494
84495 2005-10-28  Simon Josefsson  <jas@extundo.com>
84496
84497         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
84498         Test more.
84499
84500         * tests/test-gc-md2.c, tests/test-md2.c: New files.
84501
84502         * modules/md2, modules/md2-tests: New files.
84503
84504 2005-10-28  Simon Josefsson  <jas@extundo.com>
84505
84506         * m4/inet_ntop.m4: More tests.
84507
84508         * m4/gc-md2.m4, md2.m4: New file.
84509
84510 2005-10-28  Simon Josefsson  <jas@extundo.com>
84511
84512         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
84513         "restrict" keywords, as per POSIX.  Protect the function
84514         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
84515         Don't use K&R prototypes.  Check the sprintf return values.
84516         Re-define EAFNOSUPPORT if not present.  Indent.
84517
84518         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
84519         suggested by Bruno Haible <bruno@clisp.org>.
84520
84521         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
84522
84523         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
84524
84525         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
84526         libgcrypt).
84527
84528         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
84529
84530         * lib/md2.h, lib/md2.c: New files.
84531
84532 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
84533
84534         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
84535         errno alone.  Problem reported by Frederic Jolliton.
84536
84537 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
84538
84539         * modules/verify (License): Change from GPL to LGPL.  This is a
84540         tiny module and there are apparently near-equivalents that are
84541         under the BSD license.
84542
84543 2005-10-24  Simon Josefsson  <jas@extundo.com>
84544
84545         * modules/sha1: Relicense to LGPL.
84546
84547 2005-10-24  Simon Josefsson  <jas@extundo.com>
84548
84549         * lib/md4.h: Shrink buffer size, now that we changed the type.
84550
84551 2005-10-23  Simon Josefsson  <jas@extundo.com>
84552
84553         * gnulib-tool (func_import): Fix --tests-base.
84554
84555 2005-10-22  Simon Josefsson  <jas@extundo.com>
84556
84557         * modules/arcfour (Depends-on): Need stdint.
84558
84559 2005-10-22  Simon Josefsson  <jas@extundo.com>
84560
84561         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
84562         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
84563
84564 2005-10-22  Simon Josefsson  <jas@extundo.com>
84565
84566         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
84567         suggested by Bruno Haible <bruno@clisp.org>.
84568
84569 2005-10-22  Simon Josefsson  <jas@extundo.com>
84570
84571         * lib/crc.h: Include stddef.h, for size_t.
84572
84573 2005-10-22  Simon Josefsson  <jas@extundo.com>
84574
84575         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
84576         arcfour_context struct (simplify test vector testing in GNU
84577         Shishi).
84578
84579 2005-10-21  Simon Josefsson  <jas@extundo.com>
84580
84581         * modules/des, modules/des-tests: New files.
84582
84583         * modules/gc-des, modules/gc-des-tests: New files.
84584
84585         * tests/test-des.c, tests/test-gc-des.c: New file.
84586
84587 2005-10-21  Simon Josefsson  <jas@extundo.com>
84588
84589         * modules/arctwo, modules/arctwo-tests: New files.
84590
84591         * tests/test-arctwo.c: New file.
84592
84593         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
84594
84595         * tests/test-gc-arctwo.c: New file.
84596
84597 2005-10-21  Simon Josefsson  <jas@extundo.com>
84598
84599         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
84600         Bruno Haible <bruno@clisp.org>.
84601
84602         * m4/gc-des.m4: New file.
84603
84604 2005-10-21  Simon Josefsson  <jas@extundo.com>
84605
84606         * m4/arctwo.m4: New file.
84607
84608         * m4/gc-arctwo.m4: New file.
84609
84610 2005-10-21  Simon Josefsson  <jas@extundo.com>
84611
84612         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
84613         block.
84614
84615 2005-10-21  Simon Josefsson  <jas@extundo.com>
84616
84617         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
84618         <bruno@clisp.org>.
84619
84620         * lib/hmac-sha1.c (hmac_sha1): Likewise.
84621
84622         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
84623         Bruno Haible <bruno@clisp.org>.
84624
84625         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
84626         <bruno@clisp.org>.
84627
84628 2005-10-21  Simon Josefsson  <jas@extundo.com>
84629
84630         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
84631
84632 2005-10-21  Simon Josefsson  <jas@extundo.com>
84633
84634         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
84635
84636 2005-10-21  Simon Josefsson  <jas@extundo.com>
84637
84638         * lib/des.h, lib/des.c: New files.
84639
84640         * lib/gc-gnulib.c: Support DES.c
84641
84642 2005-10-21  Simon Josefsson  <jas@extundo.com>
84643
84644         * lib/arctwo.h, lib/arctwo.c: New files.
84645
84646         * lib/gc-gnulib.c: Support ARCTWO.
84647
84648 2005-10-21  Simon Josefsson  <jas@extundo.com>
84649
84650         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
84651         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
84652
84653 2005-10-21  Simon Josefsson  <jas@extundo.com>
84654
84655         * gnulib-tool (func_import, func_create_testdir): Define automake
84656         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
84657         Makefile.am snippet),
84658         suggested by Bruno Haible <bruno@clisp.org>.
84659
84660         * modules/gc (Makefile.am): Use it.
84661
84662 2005-10-21  Bruno Haible  <bruno@clisp.org>
84663
84664         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
84665         patch.
84666
84667 2005-10-19  Simon Josefsson  <jas@extundo.com>
84668
84669         * tests/test-gc-rijndael.c: New file.
84670
84671         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
84672
84673 2005-10-19  Simon Josefsson  <jas@extundo.com>
84674
84675         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
84676         interface too.
84677
84678 2005-10-19  Simon Josefsson  <jas@extundo.com>
84679
84680         * tests/test-gc-arcfour.c: New file.
84681
84682         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
84683
84684 2005-10-19  Simon Josefsson  <jas@extundo.com>
84685
84686         * modules/gc-md4, modules/gc-md4-tests: New file.
84687
84688         * tests/test-gc-md4.c: New file.
84689
84690 2005-10-19  Simon Josefsson  <jas@extundo.com>
84691
84692         * m4/gc-md4.m4: New file.
84693
84694 2005-10-19  Simon Josefsson  <jas@extundo.com>
84695
84696         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
84697         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
84698         <kasal@ucw.cz>.
84699
84700 2005-10-19  Simon Josefsson  <jas@extundo.com>
84701
84702         * m4/gc-arcfour.m4: New file.
84703
84704         * m4/gc-rijndael.m4: New file.
84705
84706 2005-10-19  Simon Josefsson  <jas@extundo.com>
84707
84708         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
84709
84710 2005-10-19  Simon Josefsson  <jas@extundo.com>
84711
84712         * lib/gc-gnulib.c: Support ARCFOUR.
84713
84714 2005-10-19  Simon Josefsson  <jas@extundo.com>
84715
84716         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
84717         support.
84718
84719         * lib/gc.h: Add ECB enum type.
84720
84721         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
84722
84723 2005-10-18  Simon Josefsson  <jas@extundo.com>
84724
84725         * tests/test-md5.c: New file.
84726
84727         * modules/md5-tests: New file.
84728
84729 2005-10-18  Simon Josefsson  <jas@extundo.com>
84730
84731         * tests/test-md4.c: New file.
84732
84733         * modules/md4, modules/md4-tests: New files.
84734
84735 2005-10-18  Simon Josefsson  <jas@extundo.com>
84736
84737         * m4/md4.m4: New file.
84738
84739 2005-10-18  Simon Josefsson  <jas@extundo.com>
84740
84741         * lib/md4.h, lib/md4.c: New files, based on md5.?.
84742
84743 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
84744
84745         * gnulib-tool (func_create_testdir): Omit the second check whether
84746         BUILT_SOURCES in nonempty.
84747
84748 2005-10-17  Simon Josefsson  <jas@extundo.com>
84749
84750         * tests/test-rijndael.c: New file.
84751
84752 2005-10-17  Simon Josefsson  <jas@extundo.com>
84753
84754         * modules/sha1: Depend on stdint instead of md5.
84755
84756         * modules/md5: Depend on stdint, remove uint32_t.
84757
84758 2005-10-17  Simon Josefsson  <jas@extundo.com>
84759
84760         * modules/gc-sha1-tests: New file.
84761
84762         * tests/test-gc-sha1.c: New file.
84763
84764 2005-10-17  Simon Josefsson  <jas@extundo.com>
84765
84766         * m4/md5.m4: Remove call to uint32_t.m4.
84767
84768 2005-10-17  Simon Josefsson  <jas@extundo.com>
84769
84770         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
84771
84772         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
84773         md5.h.
84774
84775         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
84776
84777         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
84778
84779 2005-10-17  Simon Josefsson  <jas@extundo.com>
84780
84781         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
84782
84783 2005-10-17  Simon Josefsson  <jas@extundo.com>
84784
84785         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
84786
84787 2005-10-17  Simon Josefsson  <jas@extundo.com>
84788
84789         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
84790
84791         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
84792
84793 2005-10-17  Bruno Haible  <bruno@clisp.org>
84794
84795         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
84796         that it can also be used in a test.
84797
84798 2005-10-16  Bruno Haible  <bruno@clisp.org>
84799
84800         * gnulib-tool (func_emit_tests_Makefile_am): Also define
84801         TESTS_ENVIRONMENT, so that individual tests can augment it.
84802
84803         * gnulib-tool (func_create_testdir): Use an intermediate target for
84804         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
84805         macros, like $(ALLOCA_H), which cannot be passed through the command
84806         line.
84807
84808 2005-10-15  Simon Josefsson  <jas@extundo.com>
84809
84810         * modules/rijndael-tests: New file.
84811
84812         * modules/rijndael: New file.
84813
84814 2005-10-15  Simon Josefsson  <jas@extundo.com>
84815
84816         * m4/rijndael.m4: New file.
84817
84818 2005-10-15  Simon Josefsson  <jas@extundo.com>
84819
84820         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
84821
84822         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
84823
84824 2005-10-14  Simon Josefsson  <jas@extundo.com>
84825
84826         * tests/test-arcfour.c: New file.
84827
84828         * modules/arcfour, modules/arcfour-tests: New files.
84829
84830 2005-10-14  Simon Josefsson  <jas@extundo.com>
84831
84832         * m4/arcfour.m4: New file.
84833
84834 2005-10-14  Simon Josefsson  <jas@extundo.com>
84835
84836         * lib/arcfour.h, lib/arcfour.c: New files.
84837
84838 2005-10-14  Roland McGrath  <roland@redhat.com>
84839
84840         Import from libc.  [BZ #1331]
84841         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
84842         macro argument.
84843         Reported by Matej Vela <vela@debian.org>.
84844
84845 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84846
84847         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
84848         include <wchar.h>; no longer needed.
84849
84850 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84851
84852         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
84853
84854 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
84855         and  Ulrich Drepper  <drepper@redhat.com>
84856
84857         Import from libc.
84858         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
84859         instead of inline stream orientation test and two separate
84860         function calls.  Pay no attention to USE_IN_LIBIO.
84861
84862 2005-10-13  Simon Josefsson  <jas@extundo.com>
84863
84864         * modules/gc-hmac-md5-tests: New file.
84865
84866         * tests/test-gc-hmac-sha1.c: New file.
84867
84868         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
84869
84870         * modules/gc-hmac-md5-tests: New file.
84871
84872         * tests/test-gc-md5.c: New file.
84873
84874         * modules/gc-md5-tests: New file.
84875
84876 2005-10-13  Simon Josefsson  <jas@extundo.com>
84877
84878         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
84879         Move memory allocation outside of loop.
84880
84881 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
84882
84883         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
84884         intermediate directory is in a read-only file system.  Problem
84885         reported by Eric Blake.
84886
84887 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
84888
84889         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
84890
84891 2005-10-12  Simon Josefsson  <jas@extundo.com>
84892
84893         * tests/test-hmac-sha1.c: New file.
84894
84895         * modules/hmac-sha1-tests: New file.
84896
84897         * modules/hmac-sha1: New file.
84898
84899 2005-10-12  Simon Josefsson  <jas@extundo.com>
84900
84901         * modules/gc-sha1: New file.
84902
84903 2005-10-12  Simon Josefsson  <jas@extundo.com>
84904
84905         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
84906
84907         * tests/test-gc-pbkdf2-sha1.c: New file.
84908
84909 2005-10-12  Simon Josefsson  <jas@extundo.com>
84910
84911         * modules/gc-md5, modules/gc-hmac-md5: New files.
84912
84913         * modules/gc (Files): Remove md5, memxor and hmac files.
84914
84915 2005-10-12  Simon Josefsson  <jas@extundo.com>
84916
84917         * m4/gc-pbkdf2-sha1.m4: New file.
84918
84919         * m4/gc-hmac-sha1.m4: New file.
84920
84921         * m4/gc-sha1: New file.
84922
84923         * m4/hmac-sha1.m4: New file.
84924
84925 2005-10-12  Simon Josefsson  <jas@extundo.com>
84926
84927         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
84928
84929         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
84930
84931 2005-10-12  Simon Josefsson  <jas@extundo.com>
84932
84933         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
84934         suggested by Bruno Haible <bruno@clisp.org>.
84935
84936 2005-10-12  Simon Josefsson  <jas@extundo.com>
84937
84938         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
84939
84940 2005-10-12  Simon Josefsson  <jas@extundo.com>
84941
84942         * lib/gc-pbkdf2-sha1.c: New file.
84943
84944         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
84945
84946 2005-10-12  Simon Josefsson  <jas@extundo.com>
84947
84948         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
84949
84950         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
84951
84952 2005-10-12  Simon Josefsson  <jas@extundo.com>
84953
84954         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
84955         GC_USE_HMAC_MD5, respectively.
84956
84957         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
84958         (gc_md5): Fix typo.
84959
84960         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
84961
84962         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
84963
84964         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
84965
84966 2005-10-12  Bruno Haible  <bruno@clisp.org>
84967
84968         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
84969         Reported by Stepan Kasal <kasal@ucw.cz>.
84970
84971 2005-10-11  Simon Josefsson  <jas@extundo.com>
84972
84973         * tests/test-crc.c: New file.
84974
84975         * modules/crc, modules/crc-tests: New files.
84976
84977 2005-10-11  Simon Josefsson  <jas@extundo.com>
84978
84979         * m4/crc.m4: New file.
84980
84981 2005-10-11  Simon Josefsson  <jas@extundo.com>
84982
84983         * lib/gc.h: Add gc_hash and gc_hash_buffer.
84984
84985         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
84986
84987         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
84988
84989 2005-10-11  Simon Josefsson  <jas@extundo.com>
84990
84991         * lib/crc.h, lib/crc.c: New files.
84992
84993         * lib/gc.h (gc_hash_buffer): Add doc.
84994
84995 2005-10-11  Bruno Haible  <bruno@clisp.org>
84996
84997         * modules/c-strcasestr: New file.
84998         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
84999
85000 2005-10-11  Bruno Haible  <bruno@clisp.org>
85001
85002         * modules/c-strcase: New file.
85003         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
85004
85005 2005-10-11  Bruno Haible  <bruno@clisp.org>
85006
85007         * lib/strcasecmp.c: Include limits.h.
85008         (strcasecmp): Avoid integer overflow on exotic platforms.
85009         * lib/strncasecmp.c: Include limits.h.
85010         (strncasecmp): Avoid integer overflow on exotic platforms.
85011         Reported by Paul Eggert.
85012
85013 2005-10-11  Bruno Haible  <bruno@clisp.org>
85014
85015         * lib/c-strcasestr.h: New file, from GNU gettext.
85016         * lib/c-strcasestr.c: New file, from GNU gettext.
85017
85018 2005-10-11  Bruno Haible  <bruno@clisp.org>
85019
85020         * lib/c-strcase.h: New file, from GNU gettext.
85021         * lib/c-strcasecmp.c: New file, from GNU gettext.
85022         * lib/c-strncasecmp.c: New file, from GNU gettext.
85023
85024 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
85025
85026         * modules/mempcpy (License): GPL -> LGPL.
85027         * modules/strchrnul (License): Likewise.
85028         * modules/sysexits (License): Likewise.
85029
85030 2005-10-08  Simon Josefsson  <jas@extundo.com>
85031
85032         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
85033
85034 2005-10-07  Simon Josefsson  <jas@extundo.com>
85035
85036         * m4/memxor.m4: Remove gl_C_RESTRICT call.
85037
85038 2005-10-06  Simon Josefsson  <jas@extundo.com>
85039
85040         * tests/test-hmac-md5.c: New file.
85041
85042         * modules/hmac-md5-tests: New file.
85043
85044         * modules/hmac-md5: New file.
85045
85046 2005-10-06  Simon Josefsson  <jas@extundo.com>
85047
85048         * m4/hmac-md5.m4: New file.
85049
85050         * m4/memxor.m4: Require gl_C_RESTRICT.
85051
85052 2005-10-06  Simon Josefsson  <jas@extundo.com>
85053
85054         * lib/memxor.c (memxor): Avoid casts and warnings.
85055
85056 2005-10-06  Simon Josefsson  <jas@extundo.com>
85057
85058         * lib/hmac-md5.c: New file.
85059
85060         * lib/hmac.h: New file.
85061
85062 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
85063
85064         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
85065         promotes to int, not unsigned int, to catch the AIX 5.3
85066         compiler bug.
85067
85068 2005-10-05  Simon Josefsson  <jas@extundo.com>
85069
85070         * modules/memxor: New file.
85071
85072         * modules/iconv (Files): Move config.rpath to havelib, it is used
85073         there.
85074
85075         * modules/havelib (Files): Add config.rpath.
85076
85077 2005-10-05  Simon Josefsson  <jas@extundo.com>
85078
85079         * m4/memxor.m4: New file.
85080
85081 2005-10-05  Simon Josefsson  <jas@extundo.com>
85082
85083         * lib/memxor.c (memxor): Fix compiler error.
85084
85085         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
85086         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
85087
85088         * lib/memxor.h, lib/memxor.c: New files.
85089
85090         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
85091         we assume all systems have it, suggested by Jim Meyering
85092         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
85093         any systems lack sys/socket.h; mingw32 is known to lack it, but we
85094         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
85095         same reasons.
85096
85097 2005-10-05  Simon Josefsson  <jas@extundo.com>
85098
85099         * config/srclist.txt: Add glibc bug 1423 for md5.h.
85100
85101 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
85102
85103         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
85104         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
85105         needed, since the source code now assumes these .h files.
85106
85107 2005-10-05  Derek Price  <derek@ximbiot.com>
85108
85109         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
85110
85111 2005-10-05  Bruno Haible  <bruno@clisp.org>
85112
85113         * modules/stdint (License): Change to LGPL.
85114
85115 2005-10-04  Simon Josefsson  <jas@extundo.com>
85116
85117         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
85118         D. Baushke" <mdb@gnu.org>.
85119
85120 2005-10-04  Bruno Haible  <bruno@clisp.org>
85121
85122         * lib/verify.h (verify_true): Provide alternative definition for C++.
85123
85124 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
85125
85126         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
85127         (SSIZE_MAX): New macro, if not already defined.
85128         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
85129         than 2 GiB.
85130
85131 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
85132
85133         Sync from coreutils.
85134         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
85135         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
85136         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
85137         ULLONG_MAX doesn't work with 2.7.2.1.
85138
85139 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
85140
85141         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
85142         From Ben Pfaff.
85143
85144         * modules/exclude (Depends-on): Depend on verify.
85145         * modules/strtoimax (Depends-on): Likewise.
85146         * modules/utimecmp (Depends-on): Likewise.
85147
85148 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
85149
85150         * lib/exclude.c: Include verify.h.
85151         (verify): Remove.  All callers changed to use verify.h's version.
85152         * lib/strtoimax.c: Likewise.
85153         * lib/utimecmp.c: Likewis.e
85154
85155         Sync from coreutils.
85156         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
85157         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
85158         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
85159         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
85160         bother returning ENOSYS if settimeofday or stime fails; just let
85161         them return whatever errno they want to return.
85162         * lib/utimens.c: Include unistd.h, for dup2.
85163         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
85164         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
85165
85166 2005-10-02  Jim Meyering  <jim@meyering.net>
85167
85168         Sync from coreutils.
85169         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
85170         from glibc-2.2.5 that fails for read-only files.
85171
85172 2005-10-02  Jim Meyering  <jim@meyering.net>
85173
85174         Sync from coreutils.
85175         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
85176         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
85177         `#if HAVE_CONFIG_H'.
85178         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
85179         Remove AT_FDCWD test.
85180         Do not consume the fd unless successful.
85181         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
85182         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
85183         block, so that we don't even try to compile it if settimeofday is
85184         available.  This works around a compilation failure on OSF1 V5.1,
85185         due to stime requiring a `long int*' while tv_sec is `int'.
85186
85187 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
85188
85189         Sync from coreutils.
85190         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
85191         against `yes', rather than just testing for nonempty.
85192
85193 2005-10-01  Simon Josefsson  <jas@extundo.com>
85194
85195         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
85196         and Darwin.
85197
85198         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
85199         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
85200         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
85201         freeaddrinfo and gai_strerror are declared by the POSIX headers.
85202         Check if struct addrinfo is declared.
85203
85204 2005-10-01  Simon Josefsson  <jas@extundo.com>
85205
85206         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
85207         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
85208         AI_* and EAI_* definitions.  Protect function declarations.
85209
85210 2005-10-01  Jim Meyering  <jim@meyering.net>
85211
85212         Sync from coreutils.
85213
85214         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
85215         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
85216         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
85217         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
85218         in the inet and nsl libraries.  Required on Solaris 5.7.
85219
85220 2005-10-01  Jim Meyering  <jim@meyering.net>
85221
85222         Sync from coreutils.
85223         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
85224         in the inet and nsl libraries.  Required on Solaris 5.7.
85225
85226 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
85227
85228         * lib/getdelim.c (getdelim): Remove unused variables.
85229
85230 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
85231
85232         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
85233         so that the code works even with ancient cpp.  Portability problem
85234         with GCC 2.7.2.1 reported by Thomas M.Ott.
85235
85236 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
85237
85238         * modules/regex (Depends-on): Add strcase.
85239
85240         * modules/gethostname (Licence): Change from GPL to LGPL, since
85241         gethostname.c is a trivial implementation of a standard library
85242         function.
85243         * modules/poll (License): Change from GPL to LGPL, since it's
85244         derived from LGPL code.
85245
85246 2005-09-27  Jim Meyering  <jim@meyering.net>
85247
85248         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
85249         HAVE_CONFIG_H.
85250
85251         * lib/intprops.h (signed_type_or_expr__): Define.
85252         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
85253         for unsigned types.
85254
85255 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
85256
85257         * lib/verify.h (verify_expr): Remove, replacing with:
85258         (verify_true): New macro that returns true instead of void.
85259         (verify_type__): Remove.
85260         (verify): Use verify_true rather than verify_type__.
85261
85262 2005-09-26  Bruno Haible  <bruno@clisp.org>
85263
85264         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
85265         is necessary.
85266         (lib_SOURCES): Remove mbchar.c.
85267         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
85268         (Files): Add m4/mbrtowc.m4.
85269         * modules/mbiter: Likewise.
85270         * modules/mbuiter: Likewise.
85271
85272 2005-09-26  Bruno Haible  <bruno@clisp.org>
85273
85274         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
85275         compile mbchar.c if they are not both present.
85276         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
85277         * m4/mbiter.m4 (gl_MBITER): Likewise.
85278         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
85279         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
85280         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
85281
85282 2005-09-25  Jim Meyering  <jim@meyering.net>
85283
85284         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
85285         also uses socklen_t.
85286
85287 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
85288
85289         * lib/utimens.c (ENOSYS): Define if not already defined.
85290         (futimens): Support having a null PATH if the file descriptor
85291         is nonnegative.
85292
85293         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
85294         Remove.
85295         (__attribute): Define to empty unless GCC 3.1 or later.
85296         This works around a core dump on OpenBSD 3.4, which has GCC
85297         2.95.3, which dumps core when given __attribute__(()).  It also
85298         simplifies other tests, since we really don't want to bother with
85299         worrying about which ancient version of GCC supported what.
85300         Original problem reported by Yoann Vandoorselaere, with part of
85301         the fix suggested by Derek Price.
85302
85303 2005-09-24  Jim Meyering  <jim@meyering.net>
85304
85305         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
85306         so we can once again use a positive bitfield width of 1 -- now we
85307         don't have to explain why we were using a bitfield width of 2.
85308
85309 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
85310
85311         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
85312         and similarly for the other external symbols.  Problem reported
85313         by James Gallager.
85314
85315         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
85316         bug reported by Jim Meyering.
85317
85318         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
85319         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
85320         not needed, since socklen is a prerequisite module.
85321
85322 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
85323
85324         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
85325         Problem reported by Eric Blake.
85326         (getaddrinfo): Initialize se so that it's not garbage.
85327         Redo internal storage allocation so that it doesn't make unportable
85328         assumptions about alignment.
85329         Fix a memory leak.
85330
85331         * lib/utimens.c (futimens): Use futimesat if available.
85332         Prefer it to futimes since it doesn't have the futimes bug.
85333
85334         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
85335         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
85336         Instead, declare a function that returns a pointer to an array,
85337         and use verify_type__ to declare the size of the array.
85338         Problem and germ of a solution reported by Bruno Haible.
85339         (verify_type__): Use 2, not 1, for bitfield size, to avoid
85340         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
85341
85342 2005-09-23  Jim Meyering  <jim@meyering.net>
85343
85344         Sync from coreutils.
85345         Correct build failure (socklen_t not defined) on at least
85346         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
85347         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
85348
85349 2005-09-23  Jim Meyering  <jim@meyering.net>
85350
85351         * modules/getaddrinfo (Depends-on): Add socklen.
85352
85353 2005-09-23  Bruno Haible  <bruno@clisp.org>
85354
85355         * tests/test-verify.c: New file.
85356
85357 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
85358
85359         Sync from coreutils.
85360
85361         * modules/argmatch (Depends-on): Add verify.
85362         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
85363         unistd-safer.
85364         * modules/save-cwd (Depends-on): Likewise.
85365
85366         * modules/openat (Files): Add lib/openat-die.c.
85367         (Depends-on): Remove error, exitfail.
85368         Add dirname.
85369
85370         * modules/verify: New file.
85371         * MODULES.html.sh (Diagnostics <assert.h>): New section,
85372         with "verify" module.
85373
85374 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
85375
85376         Sync from coreutils.
85377
85378         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
85379         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
85380         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
85381         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
85382         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
85383         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
85384         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
85385         Don't bother checking for string.h, stdlib.h, unistd.h.
85386         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
85387         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
85388         module's job.
85389         * m4/jm-macros.m4 (gl_MACROS): Likewise.
85390         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
85391
85392         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
85393         (gl_GETDATE): Use it.
85394
85395         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
85396
85397 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
85398
85399         Sync from coreutils.
85400
85401         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
85402         stat-time.h.
85403         * lib/argmatch.h: Include verify.h
85404         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
85405         (ARGMATCH_ASSERT): Remove; unused.
85406         * lib/canonicalize.c: Assume STDC_HEADERS.
85407         * lib/exclude.c: Include "strcase.h".
85408         * lib/regex_internal.h [!defined _LIBC]: Likewise.
85409         * lib/getusershell.c: Include stdio--.h rather than stdio.h
85410         and stdio-safer.h.
85411         (getusershell): Call fopen, not fopen_safer.
85412         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
85413         Do not include unistd-safer.h.
85414         (save_cwd): Don't call fd_safer; no longer needed
85415         now that we include fcntl--.h.
85416
85417         * lib/getdate.y (relative_time): New type.
85418         (RELATIVE_TIME_0): New constant.
85419         (parser_control): Use relative_time instead of doing it ourselves.
85420         (%union): Add new relative_time rel member.
85421         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
85422         Now typeless.
85423         (relunit, relunit_snumber): Now of type rel.
85424         (zone, rel, relunit, get_date): Adjust to above changes.
85425
85426         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
85427         Do not include unistd-safer.h.
85428         (getloadavg): Don't call fd_safer; no longer needed
85429         now that we include fcntl--.h.
85430
85431         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
85432         (make_dir_parents): Treat ENOSYS like EEXIST.
85433
85434         Improve quality of diagnostics on restore_cwd failure.
85435         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
85436         (make_dir_parents): Last arg is now int * (for errno), not bool *.
85437         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
85438         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
85439         each time through the loop.  Do not diagnose restore_cwd failure;
85440         that is the caller's job (and perhaps the caller does not care).
85441
85442         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
85443         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
85444         If the file already exists but is not a directory, don't bother
85445         to try to make its parents.
85446         Close potential file descriptor leak if we can't chdir("/") (!).
85447         Don't always return true if chdir($PWD) fails; return true only
85448         if the requested action was done successfully (except for the
85449         chdir($PWD)).
85450         Don't log final directory unless we actually made it.
85451         Refactor to avoid duplicate code to fix up permissions.
85452         Don't attempt to fix up parent permissions if chdir($PWD) fails.
85453
85454         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
85455         to make it a bit faster and (I hope) clearer.
85456         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
85457         Fix bug in formats like %2N.
85458
85459         * lib/verify.h: New file.
85460
85461 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
85462
85463         Sync from coreutils.
85464         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
85465
85466 2005-09-22  Jim Meyering  <jim@meyering.net>
85467
85468         Sync from coreutils.
85469
85470         * m4/lstat.m4 (gl_FUNC_LSTAT):
85471         Use AC_LIBSOURCES to require lstat.c and lstat.h.
85472         Remove obsolete comment.
85473         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
85474         * m4/xstrtod.m4: Likewise.
85475
85476         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
85477
85478 2005-09-22  Jim Meyering  <jim@meyering.net>
85479
85480         Sync from coreutils.
85481
85482         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
85483
85484         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
85485         the .tm_year member, since otherwise gcc-4.0 would now warn about
85486         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
85487
85488         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
85489         order to avoid an unsuppressible warning from gcc on 64-bit systems.
85490
85491         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
85492         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
85493         when run in a time zone for which daylight savings time is in effect
85494         for the starting date.
85495
85496         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
85497         stop us from restricting permissions of just-created absolute-named
85498         directories.
85499         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
85500         to restore initial working directory.
85501         * lib/mkdir-p.c (make_dir_parents): New parameter:
85502         different_working_dir, to tell caller if/when we change the working
85503         directory and are unable to return to the initial one.
85504         * lib/mkdir-p.h (make_dir_parents): Update prototype.
85505         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
85506         `return false'.  This fixes a bug introduced on 2004-07-30.
85507
85508         * lib/openat.c (fdopendir): Be sure to close the supplied
85509         file descriptor before returning.  This makes our replacement
85510         implementation a little closer to Solaris's, where fdopendir
85511         ties the file descriptor to the returned DIR* pointer.
85512         * lib/openat.c (unlinkat): New function.
85513         * lib/openat.h (unlinkat): Add prototype.
85514         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
85515         (openat_restore_fail): Rename from openat_restore_die.
85516         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
85517
85518         Provide an alternative to exiting immediately upon save_cwd or
85519         restore_cwd failure.  Now, an application can arrange e.g.,
85520         to perform a longjump in that case.
85521         * lib/openat.c: Include dirname.h.
85522         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
85523         (rpl_openat, fdopendir, fstatat): Call openat_save_die
85524         and openat_restore_die rather than calling error directly.
85525         Don't include "error.h" or "exitfail.h"; they're no longer needed.
85526
85527         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
85528         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
85529         define.
85530
85531         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
85532         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
85533                             int utc, int nanoseconds);
85534         Background:
85535         date should not have to allocate a megabyte of virtual memory to
85536         handle a format argument like +%1048575T.  When implemented with
85537         strftime, it must allocate such a buffer, use strftime to fill it
85538         in, print it, then free it.
85539         With fprintftime, it simply prints everything and exits.
85540         With no need for memory allocation, that's one fewer way to fail.
85541         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
85542         optional field width, not before, so we accept %9:z, not %:9z.
85543         (my_strftime): Be sure to use L_('x') for literals.
85544
85545         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
85546         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
85547         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
85548         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
85549         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
85550         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
85551         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
85552         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
85553         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
85554         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
85555         * lib/xgethostname.c, lib/xreadlink.c:
85556         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
85557
85558         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
85559         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
85560         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
85561         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
85562         and don't include <sys/file.h>).
85563
85564 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
85565
85566         Sync from coreutils.
85567
85568         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
85569         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
85570         [!LDAV_DONE]: Avoid unused variable warning.
85571
85572 2005-09-21  Bruno Haible  <bruno@clisp.org>
85573
85574         * lib/unicodeio.h (unicode_to_mb): New declaration.
85575
85576 2005-09-20  Derek Price  <derek@ximbiot.com>
85577
85578         * lib/getaddrinfo.c: Don't include <netdb.h> included from
85579         getaddrinfo.h.
85580
85581 2005-09-20  Bruno Haible  <bruno@clisp.org>
85582
85583         * gnulib-tool: Remove trailing slashes from the values specified for
85584         --source-base, --m4-base, --tests-base, --aux-dir.
85585         Suggested by Simon Josefsson <jas@extundo.com>.
85586
85587 2005-09-20  Bruno Haible  <bruno@clisp.org>
85588
85589         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
85590         func_modules_to_filelist, func_import, func_create_testdir): Make all
85591         sorting results locale-independent, so that gnulib-cache.m4 doesn't
85592         change when gnulib-tool is invoked in a different locale.
85593
85594 2005-09-19  Simon Josefsson  <jas@extundo.com>
85595
85596         * m4/socklen.m4: Fix typo.
85597
85598 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85599
85600         Use a consistent style for including <config.h>.
85601         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
85602         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
85603         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
85604         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
85605         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
85606         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
85607         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
85608         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
85609         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
85610         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
85611         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
85612         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
85613         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
85614         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
85615         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
85616         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
85617         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
85618         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
85619         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
85620         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
85621         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
85622         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
85623         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
85624         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
85625         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
85626         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
85627         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
85628         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
85629         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
85630         lib/xstrtoumax.c, lib/yesno.c:
85631         Standardize inclusion of config.h.
85632         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
85633         lib/inttostr.h:  Removed inclusion of config.h from header files.
85634         * lib/inttostr.c:  Adjusted in-tree users.
85635         * lib/timespec.h: Remove superfluous warning to include config.h.
85636         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
85637         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
85638         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
85639         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
85640         config.h with HAVE_CONFIG_H.
85641
85642 2005-09-19  Jim Meyering  <jim@meyering.net>
85643
85644         * modules/pathmax (License): Change to LGPL.
85645
85646 2005-09-19  Derek Price  <derek@ximbiot.com>
85647
85648         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
85649
85650 2005-09-19  Bruno Haible  <bruno@clisp.org>
85651
85652         * gnulib-tool (import): Provide default for --tests-base.
85653
85654 2005-09-19  Bruno Haible  <bruno@clisp.org>
85655
85656         * doc/quote.texi: New file, extracted from gnulib.texi.
85657         * doc/ctime.texi: New file, extracted from gnulib.texi.
85658         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
85659         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
85660         * doc/gnulib.texi: Include them.
85661
85662 2005-09-18  Bruno Haible  <bruno@clisp.org>
85663
85664         Portability fix.
85665         * gnulib-tool (func_readlink): New function.
85666         (func_ln_if_changed): Use it.
85667
85668 2005-09-18  Bruno Haible  <bruno@clisp.org>
85669
85670         * gnulib-tool: Support --with-tests also with --import.
85671         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
85672         (func_import): Use variables $testsbase and $inctests. Emit a
85673         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
85674         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
85675         SUBDIRS += $testsdir.
85676         (func_create_testdir): Update.
85677
85678 2005-09-18  Bruno Haible  <bruno@clisp.org>
85679
85680         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
85681         instead of $dry_run.
85682         (func_cp_if_changed, func_mv_if_changed): Remove functions.
85683         (func_ln_if_changed): Don't handle dry-run here.
85684         (func_import): In dry-run mode, detect more precisely which actions
85685         would be performed, and don't use "...ing" verbs.
85686
85687 2005-09-18  Bruno Haible  <bruno@clisp.org>
85688
85689         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
85690         (func_import): Use join on two temporary files instead of three nested
85691         loops, in order to determine which files are new or old.
85692
85693 2005-09-18  Bruno Haible  <bruno@clisp.org>
85694
85695         * gnulib-tool (func_import): Comment out code that spits out the
85696         new files with --dry-run.
85697
85698 2005-09-18  Bruno Haible  <bruno@clisp.org>
85699
85700         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
85701
85702 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85703
85704         * lib/stat-time.h: New file.
85705         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
85706         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
85707         in a different way.
85708         (timespec_cmp): New function.
85709         * lib/utimecmp.c: Include stat-time.h.
85710         (SYSCALL_RESOLUTION): Depend on whether various struct stat
85711         members exist, not on the obsolescent ST_MTIM_NSEC.
85712         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
85713
85714 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85715
85716         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
85717
85718 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85719
85720         * MODULES.html.sh (File system functions): Add stat-time.
85721         * modules/stat-time: New file.
85722         * modules/timespec (Files): Remove m4/st_mtim.m4; this
85723         is now done in a different way, by the stat-time module.
85724         * modules/utimecmp (Depends-on): Add stat-time.
85725
85726 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
85727
85728         * m4/st_mtim.m4: Remove.  Superseded by...
85729         * m4/stat-time.m4: New file.
85730         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
85731         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
85732
85733 2005-09-15  Derek Price  <derek@ximbiot.com>
85734
85735         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
85736
85737 2005-09-15  Derek Price  <derek@ximbiot.com>
85738
85739         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
85740         * lib/regex_internal.c: Ditto, using this...
85741         (__GNUC_PREREQ): ...new macro.
85742         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
85743         using...
85744         (__GNUC_PREREQ): ...this new macro.
85745
85746         * lib/strstr.h: Include string.h. Define strstr as a macro here.
85747
85748 2005-09-15  Derek Price  <derek@ximbiot.com>
85749             Paul Eggert  <eggert@cs.ucla.edu>
85750
85751         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
85752         changes, consolidating in...
85753         * lib/regex_internal.h: ...this file.
85754
85755 2005-09-13  Jim Meyering  <jim@meyering.net>
85756
85757         * lib/canon-host.c: Filter through gnu indent and reword comments
85758         slightly.
85759         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
85760
85761 2005-09-13  Derek Price  <derek@ximbiot.com>
85762
85763         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
85764         failure.
85765         Reported by Jim Meyering  <jim@meyering.net>.
85766
85767 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
85768
85769         * lib/base64.c: Typo.
85770         (base64_encode): Put b64str in initialized data section.
85771
85772 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
85773
85774         Merge glibc and coreutils changes into gnulib, plus a few
85775         extra fixes.
85776         * lib/md5.c: Use #error rather than a string.
85777         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
85778         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
85779         (__attribute__): Define to empty for non recent-GCC.
85780         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
85781         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
85782         Renamed from their non-__ counterparts, with new macros replacing
85783         them if not _LIBC.  Add __THROW attribute.
85784         (rol): Remove.
85785         (struct md5_ctx): Align buffer if using GCC.
85786         * lib/sha1.h (struct sha1_ctx): Likewise.
85787         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
85788         The old name was backwards.
85789         (NOTSWAP): Remove; not used.
85790         (rol): New macro, moved here from md5.h.
85791         (sha1_process_block): Remove a FIXME that doesn't make sense.
85792
85793 2005-09-12  Derek Price  <derek@ximbiot.com>
85794
85795         Return usable errors from canon-host.
85796         * lib/canon-host.h: New file.
85797         * lib/canon-host.c (canon_host): Wrap...
85798         (canon_host_r): ...this new function, which now relies exclusively on
85799         getaddrinfo.
85800         (ch_strerror): New function.
85801         (last_cherror): New global.
85802         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
85803         interface.
85804         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
85805         void *.
85806         (freeaddrinfo): Free ai->ai_canonname when set.
85807
85808 2005-09-12  Derek Price  <derek@ximbiot.com>
85809
85810         Make canon-host require getaddrinfo.
85811         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
85812         AC_LIBSOURCE canon-host.h.  Call...
85813         (gl_PREREQ_CANON_HOST): ...this new function, which requires
85814         gl_GETADDRINFO.
85815         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
85816
85817 2005-09-12  Derek Price  <derek@ximbiot.com>
85818
85819         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
85820         LGPL.
85821         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
85822
85823 2005-09-12  Derek Price  <derek@ximbiot.com>
85824
85825         * lib/gai_strerror.c: Include config.h when available.  Include
85826         getaddrinfo.h before other headers to test interface.
85827         Reported by Larry Jones <lawrence.jones@ugs.com>.
85828
85829 2005-09-12  Derek Price  <derek@ximbiot.com>
85830             Paul Eggert  <eggert@cs.ucla.edu>
85831
85832         * modules/glob (Files): Add glob-libc.h.
85833
85834 2005-09-12  Derek Price  <derek@ximbiot.com>
85835             Paul Eggert  <eggert@cs.ucla.edu>
85836
85837         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
85838         glob_.h, glob-libc.h.
85839         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
85840
85841 2005-09-12  Derek Price  <derek@ximbiot.com>
85842             Paul Eggert  <eggert@cs.ucla.edu>
85843
85844         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
85845         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
85846         protecting things that should be done only in gnulib contexts.
85847         * lib/glob_.h: New file, containing only the glob things needed for
85848         gnulib.
85849         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
85850         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
85851         (glob, globfree, glob_pattern_p): Now defined simply in terms of
85852         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
85853         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
85854         and to respect the namespace rules better.
85855
85856 2005-09-08  Simon Josefsson  <jas@extundo.com>
85857
85858         * modules/socklen: New file.
85859
85860 2005-09-08  Simon Josefsson  <jas@extundo.com>
85861
85862         * m4/socklen.m4: New file.
85863
85864 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85865
85866         * modules/utimens (Files): Add m4/utimbuf.m4, since
85867         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
85868         Reported by Sergey Poznyakoff.
85869
85870 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85871
85872         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
85873         definitions, since that's the preferred style in glibc.
85874         Fix a minor spacing issue, and update copyright notice to match
85875         glibc's.
85876
85877 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85878
85879         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
85880
85881 2005-09-06  Simon Josefsson  <jas@extundo.com>
85882
85883         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
85884         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
85885
85886 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85887
85888         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
85889         warning.
85890
85891 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85892
85893         * config/srclist.txt: Add glibc bug 1302.
85894
85895 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
85896
85897         Change bitset word type from unsigned int to unsigned long int,
85898         as this has better performance on typical 64-bit hosts.
85899         Port bitset code to hosts with unusual word sizes.
85900         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
85901         (build_collating_symbol):
85902         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
85903         argument is a bitset.  This is merely a style issue, but it makes
85904         it clearer that an entire array is expected.
85905         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
85906         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
85907         Port to the case where bitset_word is not the same as unsigned int.
85908         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85909         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
85910         Likewise.
85911         * lib/regexec.c (check_dst_limits_calc_pos_1,
85912         check_subexp_matching_top):
85913         (build_trtable, group_nodes_into_DFAstates):
85914         Likewise.
85915         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
85916         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
85917         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
85918         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
85919         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
85920         * lib/regcomp.c (optimize_subexps, lower_subexp):
85921         Work even if bitset_word has holes in its bitwise representation.
85922         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
85923         * lib/regexec.c (check_dst_limits_calc_pos_1,
85924         check_subexp_matching_top):
85925         Likewise.
85926         * lib/regex_internal.c (re_string_reconstruct):
85927         Don't assume UCHAR_MAX == 255.
85928         * lib/regex_internal.h (bitset_set_all): Likewise.
85929         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
85930         All uses changed.
85931         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
85932         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
85933         All uses changed.
85934         (BITSET_WORD_MAX): New macro.
85935         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
85936         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
85937         (bitset_empty, bitset_copy):
85938         Prefer sizeof (bitset) to multiplying it out ourselves.
85939         (bitset_not_merge): Remove; unused.
85940         (bitset_contain): Return bool, not unsigned int with one bit on.
85941         All callers changed.
85942         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
85943         alignment than re_node_set; do this by defining a new internal
85944         type struct dests_alloc and using it to allocate memory.
85945
85946 2005-09-05  Bruno Haible  <bruno@clisp.org>
85947
85948         * gnulib-tool (func_import): Fix comparison in handling of symbolic
85949         links.
85950
85951 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
85952
85953         * modules/size_max (Makefile.am): Add size_max.h
85954
85955 2005-09-04  Derek Price  <derek@ximbiot.com>
85956
85957         * gnulib-tool (func_import): Fix reversed $symbolic logic.
85958
85959 2005-09-03  Simon Josefsson  <jas@extundo.com>
85960
85961         * gnulib-tool: Fix typo.
85962
85963 2005-09-03  Simon Josefsson  <jas@extundo.com>
85964
85965         * config/srclist.txt: Add glibc bug 1293.
85966
85967 2005-09-03  Derek Price  <derek@ximbiot.com>
85968
85969         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
85970         From Larry Jones <lawrence.jones@ugs.com>.
85971
85972 2005-09-02  Simon Josefsson  <jas@extundo.com>
85973
85974         * modules/socklen: New file.
85975
85976 2005-09-02  Simon Josefsson  <jas@extundo.com>
85977
85978         * modules/havelib: New module.
85979
85980         * modules/gettext, modules/iconv, modules/lock, modules/readline:
85981         Use havelib.
85982
85983 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85984
85985         Check for arithmetic overflow when calculating sizes, to prevent
85986         some buffer-overflow issues.  These patches are conservative, in the
85987         sense that when I couldn't determine whether an overflow was possible,
85988         I inserted a run-time check.
85989         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
85990         macros.
85991         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
85992         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
85993         (re_xnrealloc, re_x2nrealloc): New inline functions.
85994         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
85995         parse_bracket_exp):
85996         (build_equiv_class, build_charclass): Check for arithmetic overflow
85997         in size expression calculations.
85998         * lib/regex_internal.c (re_string_realloc_buffers):
85999         (build_wcs_upper_buffer, re_node_set_add_intersect):
86000         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
86001         (re_dfa_add_node, register_state): Likewise.
86002         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
86003         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
86004         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
86005         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
86006
86007 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
86008
86009         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
86010         m4/ulonglong.m4.  Problem reported by Martin Lambers.
86011
86012 2005-09-02  Bruno Haible  <bruno@clisp.org>
86013
86014         Support for lib vs. lib64 distinction on biarch platforms.
86015         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
86016         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
86017         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
86018
86019 2005-09-02  Bruno Haible  <bruno@clisp.org>
86020
86021         * gnulib-tool (import): In the other first-use case, provide defaults
86022         as well.
86023
86024 2005-09-02  Bruno Haible  <bruno@clisp.org>
86025
86026         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
86027         patches not yet found in the latest gettext release.
86028
86029 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
86030
86031         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
86032         to avoid a collision with bits/local_lim.h in glibc.
86033         All uses changed.  Problem reported by Dmitry V. Levin in
86034         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
86035
86036         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
86037         bugs in int versus size_t comparisons.
86038         (re_string_context_at): Fix bug where the code assumed that
86039         Idx is signed.
86040
86041         Use bool where appropriate.
86042         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
86043         All callers changed.
86044         (calc_eclosure_iter): Likewise, for ROOT arg.
86045         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
86046         (build_charclass_op): Likewise, for NON_MATCH arg.
86047         * lib/regex_internal.c (re_string_allocate, re_string_construct):
86048         (re_string_construct_common): Likewise, for ICASE arg.
86049         * lib/regexec.c (re_search_2_stub, re_search_stub):
86050         Likewise, for RET_LEN arg.
86051         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
86052         (set_regs): Likewise, for FL_BACKTRACK arg.
86053         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
86054         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
86055         (calc_eclosure_iter, parse_bracket_exp):
86056         Use bool for internal variables that are booleans.
86057         * lib/regexec.c (re_search_internal, check_matching,
86058         proceed_next_node):
86059         (set_regs, build_sifted_states, sift_states_bkref):
86060         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
86061         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
86062         (find_collation_sequence_value):
86063         Likewise.
86064         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
86065         (re_node_set_compare):
86066         Return bool, not int. All callers changed.
86067         * lib/regexec.c (check_halt_node_context, check_dst_limits):
86068         (build_trtable, check_node_accept): Likewise.
86069         * lib/regex_internal.h: Include stdbool.h.
86070
86071         Fix bugs uncovered when converting to bool.
86072         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
86073         failure instead of charging ahead blindly.
86074         * lib/regex_internal.c (register_state): Likewise.
86075         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
86076         for freeing internal storage.
86077         (group_nodes_into_DFA_states): Use unsigned int, not int, for
86078         bitset pieces used as boolean, to avoid undefined behavior
86079         on hosts that do int overflow checking.
86080
86081 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
86082
86083         * config/srclist.txt: Add glibc bugs 1285-1287.
86084
86085 2005-09-01  Jim Meyering  <jim@meyering.net>
86086
86087         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
86088         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
86089         Require gl_STAT_MACROS, too.
86090
86091 2005-09-01  Bruno Haible  <bruno@clisp.org>
86092
86093         * gnulib-tool (import): In the first-use case, provide defaults.
86094
86095 2005-09-01  Bruno Haible  <bruno@clisp.org>
86096
86097         * gnulib-tool (func_import): Remove the .tmp files.
86098
86099 2005-09-01  Bruno Haible  <bruno@clisp.org>
86100
86101         * gnulib-tool (func_import): Fix handling of symbolic links.
86102
86103 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
86104
86105         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
86106         old glibc regex code mishandles strings longer than 2**31 bytes.
86107         This patch fixes this when the regex code is used in gnulib
86108         (i.e., outside glibc).
86109
86110         This patch should not affect the use of the regex code inside
86111         glibc.  No doubt this problem also needs to be handled for glibc
86112         as well, but the result will be an incompatible change to the
86113         glibc ABI, and the old ABI will have to be supported too.  That
86114         can be the the subject for another patch.
86115
86116         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
86117         governing whether the rest of this patch is active.  By default,
86118         the macro is disabled and the patch has no effect.
86119         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
86120         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
86121         (struct re_pattern_buffer, re_search, re_search_2, re_match):
86122         (re_match_2, re_set_registers): Use the new types.
86123         * lib/regex_internal.h (Idx, re_hashval_t): New types.
86124         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
86125         New macros.
86126         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
86127         (re_string_context_at, bin_tree_t, re_dfastate_t):
86128         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
86129         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
86130         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
86131         (re_string_char_size_at, re_string_wchar_at):
86132         (re_string_elem_size_at):
86133         Use the new types and macros to port to 64-bit hosts.
86134         Use unsigned types for internal values, so that the code
86135         mostly works even for arrays larger than SSIZE_MAX.
86136         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
86137         (search_duplicated_node, calc_eclosure_iter, fetch_number):
86138         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
86139         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
86140         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
86141         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
86142         (calc_inveclosure, parse_dup_op, build_range_exp):
86143         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
86144         (fetch_number, create_token_tree, mark_opt_subexp):
86145         Likewise.
86146         * lib/regex_internal.c (re_string_construct_common,
86147         create_ci_newstate):
86148         (create_cd_newstate, re_string_allocate, re_string_construct):
86149         (re_string_realloc_buffers, build_wcs_upper_buffer):
86150         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
86151         (re_string_reconstruct, re_string_peek_byte_case):
86152         (re_string_fetch_byte_case, re_string_context_at):
86153         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
86154         (re_node_set_init_copy, re_node_set_add_intersect):
86155         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
86156         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
86157         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
86158         (re_acquire_state, re_acquire_state_context, register_state):
86159         Likewise.
86160         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
86161         search_cur_bkref_entry):
86162         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
86163         (re_search_internal, re_search_2_stub, re_search_stub)
86164         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
86165         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
86166         (update_cur_sifted_state, check_dst_limits):
86167         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
86168         (check_subexp_limits, sift_states_bkref, merge_state_array):
86169         (check_subexp_matching_top, get_subexp, get_subexp_sub):
86170         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
86171         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
86172         (expand_bkref_cache, check_node_accept_bytes):
86173         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
86174         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
86175         (acquire_init_state_context, check_halt_node_context):
86176         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
86177         (sift_states_backward, clean_state_log_if_needed):
86178         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
86179         (find_recover_state, transit_state_sb, transit_state_mb):
86180         (transit_state_bkref, build_trtable, match_ctx_clean):
86181         Likewise.
86182         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
86183         to work around an assumption that REG_MISSING is negative.
86184
86185         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
86186         (seek_collating_symbol_entry) [defined _LIBC]:
86187         (lookup_collation_sequence_value) [defined _LIBC]:
86188         (build_range_exp, build_collating_symbol) [defined _LIBC]:
86189         Use prototypes rather than old-style function definitions.
86190         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
86191         (transit_state_sb) [0]:
86192         (find_collation_sequence_value) [defined _LIBC]: Likewise.
86193
86194         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
86195         rm_eo.
86196
86197         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
86198         (optimize_subexps, lower_subexp):
86199         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
86200         since the signed shift might overflow.  Use 1u<<31 instead.
86201         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
86202         Likewise.
86203         * lib/regexec.c (check_dst_limits_calc_pos_1,
86204         check_subexp_matching_top): Likewise.
86205
86206         * lib/regcomp.c (optimize_subexps, lower_subexp):
86207         Use CHAR_BIT rather than 8, for clarity.
86208         * lib/regexec.c (check_dst_limits_calc_pos_1):
86209         (check_subexp_matching_top): Likewise.
86210         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
86211         have to worry about portability issues when shifting it left.
86212         Remove no-longer-needed test for table_size > 0.
86213         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
86214         in a word, as the resulting behavior is undefined.
86215         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
86216         in one case, a <= should have been an <, and in another case the
86217         whole test was missing.
86218         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
86219         the standard name CHAR_BIT.
86220         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
86221         this is not true on one's complement and signed-magnitude hosts.
86222
86223         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
86224         next_last_offset.
86225         (struct re_dfa_t): Remove unused member states_alloc.
86226         * lib/regcomp.c (init_dfa): Don't initialize unused members.
86227
86228 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
86229
86230         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
86231         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
86232         and large-file glibc and in 32-bit large-file Solaris.
86233
86234 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
86235
86236         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
86237         lengths fit in regoff_t; this isn't true if regoff_t is the same
86238         width as size_t.
86239         * lib/regex.c (re_search_internal): 5th arg is LAST_START
86240         (= START + RANGE) instead of RANGE.  This avoids overflow
86241         problems when regoff_t is the same width as size_t.
86242         All callers changed.
86243         (re_search_2_stub): Check for overflow when adding the
86244         sizes of the two strings.
86245         (re_search_stub): Check for overflow when adding START
86246         to RANGE; if it occurs, substitute the extreme value.
86247
86248 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
86249
86250         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
86251
86252 2005-08-31  Jim Meyering  <jim@meyering.net>
86253
86254         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
86255         a pointer-to-const.
86256         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
86257         (register_state): Likewise.
86258         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
86259         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
86260         (group_nodes_into_DFAstates): Likewise.
86261
86262 2005-08-31  Jim Meyering  <jim@meyering.net>
86263
86264         * check-module: Add a FIXME comment.
86265
86266 2005-08-31  Eric Blake  <ebb9@byu.net>
86267
86268         * modules/unistd-safer (Files): Add unistd--.h.
86269         * modules/stdio-safer (Files): Add stdio--.h.
86270
86271 2005-08-31  Derek Price  <derek@ximbiot.com>
86272
86273         * lib/getdelim.c (getdelim): Return EOF on EOF.
86274         Reported by Larry Jones <lawrence.jones@ugs.com>.
86275
86276 2005-08-31  Bruno Haible  <bruno@clisp.org>
86277
86278         Avoid unnecessary diffs in the generated lib/Makefile.am.
86279         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
86280         the generated files.
86281         (func_import): Don't set cmd.
86282
86283 2005-08-31  Bruno Haible  <bruno@clisp.org>
86284
86285         * lib/strstr.c: Include <stddef.h>, for NULL.
86286         * lib/strcasestr.c: Likewise.
86287         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
86288
86289 2005-08-31  Bruno Haible  <bruno@clisp.org>
86290
86291         * gnulib-tool: New option --macro-prefix.
86292         (func_import): Use macro_prefix.
86293         (import): Handle option --macro-prefix.
86294
86295 2005-08-31  Bruno Haible  <bruno@clisp.org>
86296
86297         * gnulib-tool (import): Rename most ac_* variables to cached_*.
86298         Also use new variables cached_lgpl, cached_libtool.
86299
86300 2005-08-31  Bruno Haible  <bruno@clisp.org>
86301
86302         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
86303         always instantiating them.
86304
86305 2005-08-31  Bruno Haible  <bruno@clisp.org>
86306
86307         * gnulib-tool (func_import): Read the previous cached settings
86308         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
86309         earlier added by gnulib but are now dropped. Warn when a gnulib file
86310         overwrites a non-gnulib file.
86311
86312 2005-08-31  Bruno Haible  <bruno@clisp.org>
86313
86314         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
86315         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
86316         projects that don't keep autogenerated files in CVS. Put into
86317         actioncmd only the specified modules, not the transitive closure.
86318
86319 2005-08-31  Bruno Haible  <bruno@clisp.org>
86320
86321         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
86322         Create directories that shall be filled.
86323         (import): Don't look for gl_* macros in configure.ac. Recurse across
86324         all directories containing a gnulib-cache.m4 files, if meaningful.
86325
86326 2005-08-31  Bruno Haible  <bruno@clisp.org>
86327
86328         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
86329         (import): Set seen_libtool when we see gl_LIBTOOL.
86330
86331 2005-08-31  Bruno Haible  <bruno@clisp.org>
86332
86333         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
86334         declaration macro definitions from generated gnulib.m4.
86335
86336 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
86337
86338         * lib/iconvme.h: Add prototype for iconv_alloc.
86339
86340 2005-08-29  Simon Josefsson  <jas@extundo.com>
86341
86342         * lib/iconvme.c: Fix errno.
86343
86344 2005-08-29  Bruno Haible  <bruno@clisp.org>
86345
86346         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
86347         that it works when the directory contains spaces.
86348
86349 2005-08-29  Bruno Haible  <bruno@clisp.org>
86350
86351         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
86352
86353 2005-08-29  Bruno Haible  <bruno@clisp.org>
86354
86355         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
86356         Emit more advice.
86357
86358 2005-08-29  Bruno Haible  <bruno@clisp.org>
86359         and Stepan Kasal  <kasal@ucw.cz>
86360
86361         * check-module: If more parameters are given, check each of them
86362         separately; add more exceptions, as noted by Jim Meyering.
86363         (check_module): New procedure.
86364         (%exempt_header): Now contains all exceptions.
86365
86366 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
86367
86368         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
86369
86370 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
86371
86372         * lib/iconvme.c: Split iconv_string into iconv_alloc.
86373
86374 2005-08-28  Bruno Haible  <bruno@clisp.org>
86375
86376         * m4/gnulib-tool.m4: New file.
86377
86378 2005-08-27  Jim Meyering  <jim@meyering.net>
86379
86380         * modules/unistd-safer (Files): Add pipe-safer.c.
86381         * modules/fcntl-safer (Files): Add creat-safer.c.
86382
86383 2005-08-27  Jim Meyering  <jim@meyering.net>
86384
86385         * m4/stdlib-safer.m4: New file.  From coreutils.
86386         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
86387         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
86388         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
86389         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
86390         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
86391
86392 2005-08-27  Jim Meyering  <jim@meyering.net>
86393
86394         * lib/fopen-safer.c: Merge minor changes from coreutils.
86395         * lib/dup-safer.c: Likewise.
86396         * lib/fd-safer.c: Likewise.
86397
86398         Merge from coreutils.
86399         * lib/stdio--.h: New file.
86400         * lib/stdlib--.h: New file.
86401         * lib/mkstemp-safer.c: New file.
86402
86403         GNU tar needs these.
86404         * lib/pipe-safer.c: New file.
86405         * lib/creat-safer.c: New file.
86406         * lib/fcntl--.h (creat): Define to creat_safer.
86407         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
86408         * lib/unistd--.h (pipe): Define to pipe_safer.
86409         * lib/unistd-safer.h: Declare pipe_safer.
86410
86411 2005-08-26  Simon Josefsson  <jas@extundo.com>
86412
86413         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
86414         Haible <bruno@clisp.org>.
86415
86416 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
86417
86418         * lib/regex_internal.h: Remove all references to
86419         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
86420         or better.
86421         (bitset_not, bitset_merge, bitset_not_merge):
86422         (bitset_mask, re_string_allocate, re_string_construct):
86423         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
86424         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
86425         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
86426         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
86427         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
86428         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
86429         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
86430         (re_acquire_state_context):
86431         Remove unnecessary forward decls.
86432         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
86433         Put __attribute at function definition,
86434         now that the function decl has been removed.
86435         * lib/regex_internal.c (re_string_peek_byte_case):
86436         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
86437         Likewise.
86438
86439 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
86440
86441         * m4/regex.m4: Add AC_PREREQ(2.50).
86442         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
86443
86444 2005-08-25  Simon Josefsson  <jas@extundo.com>
86445
86446         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
86447         __fsetlocking.
86448
86449 2005-08-25  Simon Josefsson  <jas@extundo.com>
86450
86451         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
86452         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
86453         GLIBC specific code.
86454
86455 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
86456
86457         Make regex safe for g++.  This fixes one real bug (an "err"
86458         that should have been "*err").  g++ problem reported by
86459         Sam Steingold.
86460         * lib/regex_internal.h (re_calloc): New macro, consistent with
86461         re_malloc etc.  All callers of calloc changed to use re_calloc.
86462         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
86463         not int.  All callers changed.
86464         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
86465         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
86466         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
86467         (find_recover_state): Change "err" to "*err"; this fixes what
86468         appears to be a real bug.
86469         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
86470         versus int.
86471
86472 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
86473
86474         * modules/regex (Depends-on): Add malloc, since the code
86475         assumes that !malloc(0) means failure.
86476
86477 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
86478
86479         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
86480
86481         alloca modernization/simplification for regex.
86482         * lib/regex.c: Remove portability cruft for alloca.  This no longer
86483         needs to be at the start of the file, and can be moved into
86484         regex_internal.h and simplified.
86485         * lib/regex_internal.h: Include <alloca.h>.
86486         (__libc_use_alloca) [!defined _LIBC]: New macro.
86487         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
86488         now works outside glibc.
86489
86490 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
86491
86492         * config/srclist.txt: Add glibc bugs 1241, 1245.
86493
86494 2005-08-25  Jim Meyering  <jim@meyering.net>
86495
86496         * lib/open-safer.c: Include <config.h>.
86497         Otherwise, we'd lose LARGEFILE support in any file using
86498         e.g. "fcntl--.h"
86499
86500 2005-08-25  Bruno Haible  <bruno@clisp.org>
86501
86502         * m4/minmax.m4: Require autoconf 2.52.
86503         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
86504         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
86505         alternatives of translit over the alphabet.
86506         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
86507
86508 2005-08-24  Simon Josefsson  <jas@extundo.com>
86509
86510         * tests/test-getpass.c: New file.
86511
86512 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
86513
86514         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
86515         for GNU regex features.
86516
86517 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
86518
86519         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
86520         * lib/regex.h (regerror): Likewise.
86521
86522         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
86523         requires this.  (The code never needed it.)
86524
86525         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
86526         All uses of recently-renamed identifiers changed to use the new,
86527         POSIX-compliant names.  The code will build and run just fine
86528         without these changes, but it's better to eat our own dog food
86529         and use the standard-conforming names.
86530
86531         * lib/regex.h: Fix a multitude of POSIX name space violations.
86532         These changes have an effect only for programs that define
86533         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
86534         do not change anything for programs compiled in the normal way.
86535         Also, there is no effect on the ABI.
86536
86537         (_REGEX_SOURCE): New macro.
86538         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
86539         defined and _GNU_SOURCE is not; this fixes a name space violation.
86540
86541         Rename the following macros to obey POSIX requirements.
86542         The old names are still visible as macros if _REGEX_SOURCE is defined.
86543         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
86544         RE_BACKSLASH_ESCAPE_IN_LISTS.
86545         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
86546         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
86547         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
86548         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
86549         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
86550         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
86551         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
86552         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
86553         (REG_INTERVALS): renamed from RE_INTERVALS.
86554         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
86555         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
86556         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
86557         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
86558         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
86559         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
86560         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
86561         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
86562         RE_UNMATCHED_RIGHT_PAREN_ORD.
86563         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
86564         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
86565         (REG_DEBUG): renamed from RE_DEBUG.
86566         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
86567         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
86568         unusual, since we can't clash with the POSIX REG_ICASE.
86569         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
86570         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
86571         (REG_NO_SUB): renamed from RE_NO_SUB.
86572         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
86573         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
86574         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
86575         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
86576         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
86577         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
86578         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
86579         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
86580         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
86581         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
86582         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
86583         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
86584         RE_SYNTAX_POSIX_MINIMAL_BASIC.
86585         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
86586         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
86587         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
86588         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
86589         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
86590         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
86591         (REG_FIXED): Renamed from REGS_FIXED.
86592         (REG_NREGS): Renamed from RE_NREGS.
86593
86594         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
86595         of other REG_* macros, since POSIX says the user is allowed to
86596         #undef these macros selectively.
86597
86598         (reg_errcode_t): Update comment stating what other tables need
86599         to be consistent.
86600
86601         Rename the following enum values to obey POSIX requirements.
86602         The old names are still visible as macros.
86603         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
86604         is not defined, since GNU is supposed to be a superset of POSIX as
86605         much as possible, and since we want reg_errcode_t to be a signed
86606         type for implementation consistency.
86607         (_REG_NOERROR): Renamed from REG_NOERROR.
86608         (_REG_NOMATCH): Renamed from REG_NOMATCH.
86609         (_REG_BADPAT): Renamed from REG_BADPAT.
86610         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
86611         (_REG_ECTYPE): Renamed from REG_ECTYPE.
86612         (_REG_EESCAPE): Renamed from REG_EESCAPE.
86613         (_REG_ESUBREG): Renamed from REG_ESUBREG.
86614         (_REG_EBRACK): Renamed from REG_EBRACK.
86615         (_REG_EPAREN): Renamed from REG_EPAREN.
86616         (_REG_EBRACE): Renamed from REG_EBRACE.
86617         (_REG_BADBR): Renamed from REG_BADBR.
86618         (_REG_ERANGE): Renamed from REG_ERANGE.
86619         (_REG_ESPACE): Renamed from REG_ESPACE.
86620         (_REG_BADRPT): Renamed from REG_BADRPT.
86621         (_REG_EEND): Renamed from REG_EEND.
86622         (_REG_ESIZE): Renamed from REG_ESIZE.
86623         (_REG_ERPAREN): Renamed from REG_ERPAREN.
86624         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
86625         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
86626         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
86627         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
86628
86629         (_REG_RE_NAME, _REG_RM_NAME): New macros.
86630         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
86631         changed.  But support the old name if the new one is not defined
86632         and if _REGEX_SOURCE.
86633
86634         Change the following member names in struct re_pattern_buffer.
86635         The old names are still supported if !_REGEX_SOURCE.
86636         The new names are always supported, regardless of _REGEX_SOURCE.
86637         (re_buffer): Renamed from buffer.
86638         (re_allocated): Renamed from allocated.
86639         (re_used): Renamed from used.
86640         (re_syntax): Renamed from syntax.
86641         (re_fastmap): Renamed from fastmap.
86642         (re_translate): Renamed from translate.
86643         (re_can_be_null): Renamed from can_be_null.
86644         (re_regs_allocated): Renamed from regs_allocated.
86645         (re_fastmap_accurate): Renamed from fastmap_accurate.
86646         (re_no_sub): Renamed from no_sub.
86647         (re_not_bol): Renamed from not_bol.
86648         (re_not_eol): Renamed from not_eol.
86649         (re_newline_anchor): Renamed from newline_anchor.
86650
86651         Change the following member names in struct re_registers.
86652         The old names are still supported if !_REGEX_SOURCE.
86653         The new names are always supported, regardless of _REGEX_SOURCE.
86654         (rm_num_regs): Renamed from num_regs.
86655         (rm_start): Renamed from start.
86656         (rm_end): Renamed from end.
86657
86658         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
86659         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
86660         Prepend __ to parameter names.
86661
86662         Undo yesterday's changes.
86663
86664 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
86665
86666         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
86667         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
86668         lib/regex.c.
86669
86670 2005-08-24  Jim Meyering  <jim@meyering.net>
86671
86672         Sync from coreutils.
86673         * m4/fcntl-safer.m4: New file.
86674
86675         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
86676         and object files for this module.
86677
86678 2005-08-24  Jim Meyering  <jim@meyering.net>
86679
86680         Sync from coreutils.
86681         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
86682
86683 2005-08-24  Jim Meyering  <jim@meyering.net>
86684
86685         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
86686         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
86687
86688 2005-08-24  Jim Meyering  <jim@meyering.net>
86689
86690         * modules/fcntl-safer: New module.
86691         * modules/fts (Depends-on): Add fcntl-safer.
86692         * MODULES.html.sh (File descriptor based Input/Output):
86693         Add fcntl-safer.
86694
86695 2005-08-24  Bruno Haible  <bruno@clisp.org>
86696
86697         Support for unit test modules.
86698         * modules/README: Mention tests modules.
86699         * modules/TEMPLATE-TESTS: New file.
86700         * gnulib-tool: New options --extract-tests-module, --with-tests and
86701         --tests-base (unused for the moment).
86702         (testsbase, inctests): New variables.
86703         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
86704         (func_verify_module): Exclude TEMPLATE-TESTS.
86705         (func_verify_nontests_module, func_verify_tests_module): New functions.
86706         (func_get_dependencies): Add implicit dependency for tests modules.
86707         (func_get_tests_module): New function.
86708         (func_modules_transitive_closure): When --with-tests was specified,
86709         include the unit tests as well, unless explicitly avoided.
86710         (func_emit_lib_Makefile_am): Ignore the tests modules here.
86711         (func_emit_tests_Makefile_am): New function.
86712         (func_create_testdir): When --with-tests was specified, emit a
86713         tests/ directory.
86714         * MODULES.html.sh (Future developments): Update.
86715
86716 2005-08-24  Bruno Haible  <bruno@clisp.org>
86717
86718         * modules/tls-tests: New file.
86719         * tests/test-tls.c: New file, from GNU gettext.
86720
86721 2005-08-24  Bruno Haible  <bruno@clisp.org>
86722
86723         * modules/lock-tests: New file.
86724         * tests/test-lock.c: New file, from GNU gettext.
86725
86726 2005-08-24  Bruno Haible  <bruno@clisp.org>
86727
86728         * lib/lock.h: Add multiple inclusion guard.
86729         * lib/tls.h: Add multiple inclusion guard.
86730
86731 2005-08-24  Bruno Haible  <bruno@clisp.org>
86732
86733         * gnulib-tool: Add support for the --aux-dir option to
86734         --create-testdir, --create-megatestdir, --test, --megatest.
86735         (func_create_testdir, func_create_megatestdir): Optionally emit a
86736         AC_CONFIG_AUX_DIR directive.
86737         (create-testdir, create-megatestdir, test, megatest): Provide a
86738         default value for $auxdir.
86739
86740 2005-08-24  Bruno Haible  <bruno@clisp.org>
86741
86742         * gnulib-tool (import): Use compound statement instead of subshell
86743         where possible.
86744
86745 2005-08-24  Bruno Haible  <bruno@clisp.org>
86746
86747         * gnulib-tool (import): Change --aux-dir default to "build-aux".
86748
86749 2005-08-24  Bruno Haible  <bruno@clisp.org>
86750
86751         * gnulib-tool (func_version): Update.
86752
86753 2005-08-24  Bruno Haible  <bruno@clisp.org>
86754
86755         * gnulib-tool (func_import, func_create_testdir,
86756         func_create_megatestdir): Quote all autoconf macro arguments.
86757
86758 2005-08-24  Bruno Haible  <bruno@clisp.org>
86759
86760         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
86761         option --force, because --force causes the aclocal.m4 of each
86762         subdirectory to be newer than the corresponding config.h.in.
86763
86764 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86765
86766         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
86767         All contents moved to gl_REGEX.
86768         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
86769         assume that it does.
86770
86771 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86772
86773         * lib/regex.h (REG_NOSYS)
86774         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
86775         Define, since POSIX requires it as of 2001.
86776         (_REG_ENOSYS)
86777         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
86778         New private symbol, used to keep the enum signed in all cases.
86779         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
86780         Youngman in
86781         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
86782
86783         * lib/regex_internal.c (re_string_skip_chars, register_state):
86784         (calc_state_hash):
86785         Remove forward decls; no longer needed now that we use prototypes.
86786         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
86787         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
86788         (clean_state_log_if_needed): Likewise.
86789
86790 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86791
86792         * config/srclist.txt: Add glibc bugs 1231-1233.
86793
86794 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86795
86796         Fix problems reported by Sam Steingold in
86797         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
86798         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
86799         assumed that reg_errcode_t is a signed type, which is not
86800         necessarily true if _XOPEN_SOURCE is not defined.
86801         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
86802         since some compilers warn about it otherwise.
86803
86804 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86805
86806         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
86807         (init_word_char, create_initial_state, duplicate_node_closure):
86808         (fetch_token, peek_token_bracket, build_range_exp):
86809         (build_collating_symbol): Remove forward decls; no longer needed
86810         now that we use prototypes.
86811
86812         * lib/regcomp.c:
86813         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
86814         (re_compile_fastmap_iter, regcomp, regerror, regfree):
86815         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
86816         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
86817         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
86818         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
86819         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
86820         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
86821         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
86822         (build_range_exp, build_collating_symbol, parse_bracket_exp):
86823         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
86824         (build_charclass, build_charclass_op, fetch_number, create_tree):
86825         (create_token_tree, mark_opt_subexp, duplicate_tree):
86826         Use prototypes rather than old-style definitions.
86827
86828         * lib/regex_internal.c:
86829         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
86830         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
86831         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
86832         (re_string_reconstruct, re_string_peek_byte_case):
86833         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
86834         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
86835         (re_node_set_init_copy, re_node_set_add_intersect):
86836         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
86837         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
86838         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
86839         (re_acquire_state, re_acquire_state_context, register_state):
86840         (create_ci_newstate, create_cd_newstate, free_state):
86841         Likewise.
86842         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
86843         re_search_2):
86844         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
86845         (re_search_internal, prune_impossible_nodes):
86846         (acquire_init_state_context, check_matching, static):
86847         (check_halt_node_context, check_halt_state_context, proceed_next_node):
86848         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
86849         (update_regs, sift_states_backward, build_sifted_states):
86850         (clean_state_log_if_needed, merge_state_array):
86851         (update_cur_sifted_state, add_epsilon_src_nodes):
86852         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
86853         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
86854         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
86855         (find_recover_state, check_subexp_matching_top, transit_state_mb):
86856         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
86857         (check_arrival, check_arrival_add_next_nodes):
86858         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
86859         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
86860         (check_node_accept_bytes, check_node_accept, extend_buffers):
86861         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
86862         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
86863         (sift_ctx_init):
86864         Likewise.
86865
86866         * lib/regex_internal.h:
86867         (re_string_allocate, re_string_construct, re_string_reconstruct):
86868         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
86869         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
86870         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
86871         (re_string_context_at, re_string_peek_byte_case):
86872         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
86873         is defined, since we now use prototypes always.
86874
86875         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
86876         C89 or better.  All uses removed.
86877
86878 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86879
86880         * config/srclist.txt: Add glibc bugs 1220-1227.
86881
86882 2005-08-20  Jim Meyering  <jim@meyering.net>
86883
86884         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
86885         of unused local, dfa.
86886
86887 2005-08-20  Bruno Haible  <bruno@clisp.org>
86888
86889         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
86890
86891 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86892
86893         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
86894         (re_node_set_insert_last, re_dfa_add_node):
86895         Rename local variables to avoid GCC shadowing warnings.
86896
86897 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86898
86899         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
86900         [defined lint]: Suppress bogus uninitialized-variable warnings.
86901
86902         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
86903         and let the caller return REG_ESPACE if out of space.  This
86904         removes an uninitialied-variable warning with GCC 4.0.1, and also
86905         avoids taking the address of a local variable.  All callers
86906         changed.
86907
86908 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86909
86910         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
86911         $LIBCSRC/posix/regexec.c.
86912         Add glibc bug 1217 for regcomp.c.
86913
86914 2005-08-19  Jim Meyering  <jim@meyering.net>
86915
86916         * lib/regexec.c (proceed_next_node): Redo local variables to
86917         avoid GCC shadowing warnings.
86918
86919 2005-08-18  Bruno Haible  <bruno@clisp.org>
86920
86921         * lib/strstr.c (strstr): Fix return value in multibyte case.
86922         * lib/strcasestr.c (strcasestr): Likewise.
86923
86924 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86925
86926         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
86927
86928 2005-08-17  Jim Meyering  <jim@meyering.net>
86929
86930         Make the %s format (seconds since the epoch) work for a negative
86931         number and when used with a zero-padded field width, e.g. %015s.
86932
86933         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
86934         label so that it precedes the code to set `digits'.  Otherwise,
86935         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
86936         print `00-22'.  Now, it prints `-0022', as it should.
86937
86938 2005-08-17  Bruno Haible  <bruno@clisp.org>
86939
86940         * modules/strstr (Files): Add m4/mbrtowc.m4.
86941         (Depends-on): Add mbuiter.
86942
86943 2005-08-17  Bruno Haible  <bruno@clisp.org>
86944
86945         * modules/strcasestr: New file.
86946         * MODULES.html.sh (String handling, based on ANSI C 89): Add
86947         strcasestr.
86948
86949 2005-08-17  Bruno Haible  <bruno@clisp.org>
86950
86951         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
86952
86953 2005-08-17  Bruno Haible  <bruno@clisp.org>
86954
86955         * modules/mbuiter: New file.
86956         * MODULES.html.sh (Extended multibyte and wide character utilities):
86957         Add mbuiter.
86958
86959 2005-08-17  Bruno Haible  <bruno@clisp.org>
86960
86961         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
86962         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
86963
86964 2005-08-17  Bruno Haible  <bruno@clisp.org>
86965
86966         * m4/strcasestr.m4: New file.
86967
86968 2005-08-17  Bruno Haible  <bruno@clisp.org>
86969
86970         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
86971         * lib/strstr.c: Completely rewritten, with multibyte locale support.
86972
86973 2005-08-17  Bruno Haible  <bruno@clisp.org>
86974
86975         * lib/strcasestr.h: New file.
86976         * lib/strcasestr.c: New file.
86977
86978 2005-08-17  Bruno Haible  <bruno@clisp.org>
86979
86980         * lib/strcasecmp.c: Use mbuiter.h.
86981
86982 2005-08-17  Bruno Haible  <bruno@clisp.org>
86983
86984         * lib/mbuiter.h: New file.
86985
86986 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
86987
86988         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
86989         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
86990         and gl_GETOPT are both invoked via different paths (as happens
86991         with GNU tar CVS because it uses both argp and getopt), the former
86992         wins.
86993
86994 2005-08-16  Bruno Haible  <bruno@clisp.org>
86995
86996         * modules/tls: New file.
86997         * MODULES.html.sh (Multithreading): Add tls.
86998
86999 2005-08-16  Bruno Haible  <bruno@clisp.org>
87000
87001         * modules/strnlen1: New file.
87002         * MODULES.html.sh (String handling): Add strnlen1.
87003
87004 2005-08-16  Bruno Haible  <bruno@clisp.org>
87005
87006         * modules/strcase (Files): Add m4/mbrtowc.m4.
87007         (Depends-on): Add strnlen1, mbchar.
87008
87009 2005-08-16  Bruno Haible  <bruno@clisp.org>
87010
87011         * modules/mbiter: New file.
87012         * MODULES.html.sh (Extended multibyte and wide character utilities):
87013         Add mbiter.
87014
87015 2005-08-16  Bruno Haible  <bruno@clisp.org>
87016
87017         * modules/mbfile: New file.
87018         * MODULES.html.sh (Extended multibyte and wide character utilities):
87019         Add mbfile.
87020
87021 2005-08-16  Bruno Haible  <bruno@clisp.org>
87022
87023         * modules/mbchar: New file.
87024         * MODULES.html.sh (Extended multibyte and wide character utilities):
87025         New section.
87026
87027 2005-08-16  Bruno Haible  <bruno@clisp.org>
87028
87029         * m4/tls.m4: New file, from GNU gettext.
87030
87031 2005-08-16  Bruno Haible  <bruno@clisp.org>
87032
87033         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
87034         always.
87035         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
87036
87037 2005-08-16  Bruno Haible  <bruno@clisp.org>
87038
87039         * m4/mbiter.m4: New file.
87040
87041 2005-08-16  Bruno Haible  <bruno@clisp.org>
87042
87043         * m4/mbfile.m4: New file.
87044
87045 2005-08-16  Bruno Haible  <bruno@clisp.org>
87046
87047         * m4/mbchar.m4: New file.
87048
87049 2005-08-16  Bruno Haible  <bruno@clisp.org>
87050
87051         * lib/tls.h: New file, from GNU gettext.
87052         * lib/tls.c: New file, from GNU gettext.
87053
87054 2005-08-16  Bruno Haible  <bruno@clisp.org>
87055
87056         * lib/strnlen1.h: New file.
87057         * lib/strnlen1.c: New file.
87058
87059 2005-08-16  Bruno Haible  <bruno@clisp.org>
87060
87061         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
87062         (mbi_init): Update.
87063         (mbi_avail, mbi_advance): Let the iteration end before the terminating
87064         NUL byte, not after it.
87065
87066 2005-08-16  Bruno Haible  <bruno@clisp.org>
87067
87068         * lib/strcase.h (strcasecmp): Add note in comments.
87069         * lib/strncasecmp.c: Use code from strcasecmp.c.
87070         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
87071         (strcasecmp): Work correctly in multibyte locales.
87072
87073 2005-08-16  Bruno Haible  <bruno@clisp.org>
87074
87075         * lib/mbiter.h: New file.
87076
87077 2005-08-16  Bruno Haible  <bruno@clisp.org>
87078
87079         * lib/mbfile.h: New file.
87080
87081 2005-08-16  Bruno Haible  <bruno@clisp.org>
87082
87083         * lib/mbchar.h: New file.
87084         * lib/mbchar.c: New file.
87085
87086 2005-08-16  Bruno Haible  <bruno@clisp.org>
87087
87088         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
87089         the valid ones. Makes the comparison operations transitive:
87090         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
87091         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
87092
87093 2005-08-15  Simon Josefsson  <jas@extundo.com>
87094
87095         * modules/ssize_t (License): Change to 'unlimited'.
87096
87097         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
87098
87099 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
87100
87101         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
87102         Add comments for each pending glibc patch.
87103
87104 2005-08-15  Bruno Haible  <bruno@clisp.org>
87105
87106         * lib/regex.h (__restrict_arr): Don't define to __restrict if
87107         __cplusplus is defined.
87108
87109 2005-08-14  Jim Meyering  <jim@meyering.net>
87110
87111         Sync from coreutils.
87112
87113         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
87114         Use the hash-table-based cycle-detection code not just when
87115         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
87116         Reported by James Youngman in
87117         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
87118         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
87119         FTS_TIGHT_CYCLE_CHECK.
87120         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
87121         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
87122         once again.
87123         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
87124         * lib/fts.c (fd_safer): Remove decl.
87125         Include fcntl--.h rather than unistd-safer.h
87126         (fts_safe_changedir): Don't call fd_safer; no longer needed
87127         now that we include fcntl--.h.
87128
87129 2005-08-12  Simon Josefsson  <jas@extundo.com>
87130
87131         * modules/getndelim2: Use ssize_t module.
87132         * modules/getnline: Likewise.
87133         * modules/safe-read: Likewise.
87134         * modules/xreadlink: Likewise.
87135
87136         * modules/ssize_t: New file.
87137
87138 2005-08-12  Simon Josefsson  <jas@extundo.com>
87139
87140         * m4/readline.m4: Look for termcap, curses or ncurses if required.
87141
87142 2005-08-12  Simon Josefsson  <jas@extundo.com>
87143
87144         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87145         ssize_t.
87146
87147 2005-08-12  Simon Josefsson  <jas@extundo.com>
87148
87149         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
87150         readline, getdelim and check_version.
87151         (Support for systems lacking ISO C 99: Sizes of integer types):
87152         Add size_max.
87153
87154 2005-08-12  Bruno Haible  <bruno@clisp.org>
87155
87156         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
87157
87158 2005-08-11  Simon Josefsson  <jas@extundo.com>
87159
87160         * modules/readline: New file.
87161
87162         * modules/strnlen (Files): Add strnlen.h.
87163
87164 2005-08-11  Simon Josefsson  <jas@extundo.com>
87165
87166         * m4/readline.m4: New file.
87167
87168 2005-08-11  Simon Josefsson  <jas@extundo.com>
87169
87170         * lib/readline.h, readline.c: New file.
87171
87172 2005-08-11  Simon Josefsson  <jas@extundo.com>
87173
87174         * doc/gnulib.texi (Initial import, Finishing touches): Mention
87175         gl_AVOID.
87176
87177 2005-08-11  Bruno Haible  <bruno@clisp.org>
87178
87179         * lib/strnlen.h (strnlen): Change parameter name to match comment.
87180
87181 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
87182
87183         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
87184
87185 2005-08-10  Simon Josefsson  <jas@extundo.com>
87186
87187         * tests/test-iconvme.c: New file.
87188
87189 2005-08-10  Simon Josefsson  <jas@extundo.com>
87190
87191         * m4/strnlen.m4: New file.
87192
87193         * m4/strndup.m4: Don't check for strnlen declaration, done in
87194         strnlen.m4.
87195
87196 2005-08-10  Simon Josefsson  <jas@extundo.com>
87197
87198         * lib/strndup.c: Use strnlen.h.
87199
87200         * lib/strnlen.h: New file.
87201
87202 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
87203
87204         * README: Typos.
87205
87206 2005-08-02  Simon Josefsson  <jas@extundo.com>
87207
87208         * modules/readline: New file.
87209
87210 2005-08-02  Simon Josefsson  <jas@extundo.com>
87211
87212         * modules/getdelim: New file.
87213
87214         * modules/getline: Rewrite, don't use getndelim2.
87215
87216 2005-08-02  Simon Josefsson  <jas@extundo.com>
87217
87218         * m4/getline.m4: Separate out getdelim stuff into separate module.
87219
87220         * m4/getdelim.m4: New file.
87221
87222 2005-08-02  Simon Josefsson  <jas@extundo.com>
87223
87224         * lib/getline.h, getline.c: Rewrite.
87225
87226         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
87227
87228 2005-07-31  Bruno Haible  <bruno@clisp.org>
87229
87230         * lib/lock.h (gl_lock_initializer): New macro.
87231         (gl_lock_define_initialized): Use it.
87232         (gl_rwlock_initializer): New macro.
87233         (gl_rwlock_define_initialized): Use it.
87234         (gl_recursive_lock_initializer): New macro.
87235         (gl_recursive_lock_define_initialized): Use it.
87236
87237 2005-07-30  Karl Berry  <karl@gnu.org>
87238
87239         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
87240         Report from Ben Pfaff, regarding getopt.
87241
87242 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
87243
87244         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
87245         normal way.
87246         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
87247         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
87248         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
87249         (gl_GETOPT): Use the new macros.  Most of the implementation
87250         is moved to the new macros.  This is for programs like Emacs
87251         that don't want all the functionality of gl_GETOPT.
87252
87253 2005-07-26  Bruno Haible  <bruno@clisp.org>
87254
87255         * m4/lock.m4: Update from GNU gettext.
87256
87257 2005-07-26  Bruno Haible  <bruno@clisp.org>
87258
87259         * lib/lock.h: Update from GNU gettext.
87260         * lib/lock.c: Update from GNU gettext.
87261
87262 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
87263
87264         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
87265         obsolescent AC_TRY_RUN.  Include the default includes files, for
87266         'exit'.
87267
87268 2005-07-24  Bruno Haible  <bruno@clisp.org>
87269
87270         * modules/visibility: New file.
87271         * MODULES.html.sh (Misc): Add visibility.
87272
87273 2005-07-24  Bruno Haible  <bruno@clisp.org>
87274
87275         * m4/visibility.m4: New file.
87276
87277 2005-07-24  Bruno Haible  <bruno@clisp.org>
87278
87279         * doc/visibility.texi: New file.
87280
87281 2005-07-22  Bruno Haible  <bruno@clisp.org>
87282
87283         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
87284         $(ALLOCA_H), redundant through BUILT_SOURCES.
87285         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
87286         redundant through BUILT_SOURCES.
87287         * modules/byteswap (Makefile.am): Remove explicit dependency on
87288         $(BYTESWAP_H), redundant through BUILT_SOURCES.
87289         * modules/fnmatch (Makefile.am): Remove explicit dependency on
87290         $(FNMATCH_H), redundant through BUILT_SOURCES.
87291         * modules/getopt (Makefile.am): Remove explicit dependency on
87292         $(GETOPT_H), redundant through BUILT_SOURCES.
87293         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
87294         redundant through BUILT_SOURCES.
87295         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
87296         redundant through BUILT_SOURCES.
87297         * modules/stdbool (Makefile.am): Remove explicit dependency on
87298         $(STDBOOL_H), redundant through BUILT_SOURCES.
87299         * modules/stdint (Makefile.am): Remove explicit dependency on
87300         $(STDINT_H), redundant through BUILT_SOURCES.
87301         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
87302         Remove explicit dependency on $(SYSEXITS_H).
87303         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
87304
87305 2005-07-18  Simon Josefsson  <jas@extundo.com>
87306
87307         * lib/check-version.c (check_version): Accept identical versions too.
87308
87309 2005-07-18  Bruno Haible  <bruno@clisp.org>
87310
87311         * modules/lock: New file.
87312         * MODULES.html.sh (Multithreading): New section.
87313
87314 2005-07-18  Bruno Haible  <bruno@clisp.org>
87315
87316         * m4/lock.m4: New file, from GNU gettext.
87317
87318 2005-07-18  Bruno Haible  <bruno@clisp.org>
87319
87320         * lib/lock.h: New file, from GNU gettext.
87321         * lib/lock.c: New file, from GNU gettext.
87322
87323 2005-07-18  Bruno Haible  <bruno@clisp.org>
87324
87325         * lib/lock.h (gl_once_t): New type.
87326         (gl_once_define, gl_once): New macros.
87327         * lib/lock.c (fresh_once): New variable.
87328         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
87329         functions.
87330
87331 2005-07-16  Simon Josefsson  <jas@extundo.com>
87332
87333         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
87334         workaround, suggested by Bruno.
87335
87336 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
87337
87338         * modules/xalloc (Depends-on): Add xalloc-die.
87339         * modules/xvasprintf (Depends-on): Add xalloc-die.
87340
87341 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
87342
87343         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
87344         with a minor change.
87345
87346 2005-07-15  Bruno Haible  <bruno@clisp.org>
87347
87348         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
87349         When using lib/poll.c, define poll as rpl_poll.
87350
87351 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
87352
87353         * modules/argp (Depends-on): Remove unlocked-io.
87354
87355 2005-07-14  Derek Price  <derek@ximbiot.com>
87356
87357         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
87358         for glob symlink bug.
87359
87360 2005-07-14  Bruno Haible  <bruno@clisp.org>
87361
87362         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
87363         Instead, test for *_unlocked function declarations directly.
87364
87365 2005-07-11  Simon Josefsson  <jas@extundo.com>
87366
87367         * modules/size_max: New file.
87368
87369         * modules/xsize: Depend on size_max module for size_max.m4.
87370
87371 2005-07-11  Simon Josefsson  <jas@extundo.com>
87372
87373         * lib/size_max.h: New file.
87374
87375 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
87376
87377         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
87378         copyright symbol and the year.
87379         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
87380         (version_etc_va): Use parameterized copyright notice.
87381         Reword to conform to the current GNU coding standards.
87382
87383 2005-07-11  Karl Berry  <karl@gnu.org>
87384
87385         * doc/gnulib.texi (Quoting): new node.
87386         (Initial import): more info, from Patrice.
87387
87388 2005-07-11  Bruno Haible  <bruno@clisp.org>
87389
87390         * gnulib-tool (func_usage): Document option --avoid.
87391         (Command line options): Handle --avoid.
87392         (func_acceptable): New function.
87393         (func_modules_transitive_closure): Use it.
87394
87395 2005-07-11  Bruno Haible  <bruno@clisp.org>
87396
87397         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
87398         Reported by Jim Meyering.
87399
87400 2005-07-10  Bruno Haible  <bruno@clisp.org>
87401
87402         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
87403         Needed when size_t is smaller than 'unsigned int'.
87404         Reported by Paul Eggert.
87405
87406 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
87407
87408         * modules/argp (Depends-on): Add unlocked-io
87409
87410 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
87411
87412         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
87413         block of defines.
87414
87415 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
87416
87417         * config/srclist.txt: Comment out regcomp.c, since we have a porting
87418         fix now.
87419
87420 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
87421         and Paul Eggert  <eggert@cs.ucla.edu>
87422
87423         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
87424         in wint_t, not wchar_t.  Remove now-unnecessary cast.
87425
87426 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
87427
87428         * modules/regex (Files): Add lib/regex_internal.c,
87429         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
87430         (Depends-on): Add extensions.
87431         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
87432
87433 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
87434
87435         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
87436         pathconf.
87437         * m4/same.m4 (gl_SAME): Likewise.
87438         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
87439
87440         * m4/regex.m4: Adjust to new libc regex implementation.
87441         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
87442         all the .c and .h parts of (the new) regex.
87443         Quote the m4 stuff better.
87444         Check for RE_ICASE bug of old gnulib.
87445         Check for REG_STARTEND of recent libc.
87446         Rename local variables from jm_* to gl_*.
87447         Quote operand of "test -f".
87448         Say "recent enough" version of libc, not "version 2".
87449         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
87450         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
87451         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
87452         Remove check for btowc, isascii.
87453         Require AM_LANGINFO_CODESET.
87454
87455 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
87456
87457         * lib/regex.c, regex.h: Sync from libc.
87458         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
87459         * lib/regexec.c:
87460         New files, synced from libc, except that regex_internal.h
87461         currently has a small porting fix.
87462
87463 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
87464
87465         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
87466         regex_internal.c, regexec.c.
87467         Add regex_internal.h too, but as a comment, since the libc version
87468         is currently broken in gnulib mode.
87469
87470 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
87471
87472         Support programs like Emacs that use gnulib but not gettext.
87473         * MODULES.html.sh (Internationalization functions): Add gettext-h.
87474         * modules/gettext-h: New file.
87475         * modules/gettext (Files): Remove lib/gettext.h.
87476         (Depends-on): Add gettext-h.
87477         (Makefile.am): Remove lib_SOURCES.
87478         * modules/argmatch, modules/c-stack, modules/closeout:
87479         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
87480         * modules/execute, modules/file-type, modules/getaddrinfo:
87481         * modules/getopt, modules/human, modules/javacomp:
87482         * modules/javaexec, modules/mkdir-p, modules/obstack:
87483         * modules/openat, modules/pagealign_alloc, modules/pipe:
87484         * modules/quotearg, modules/regex, modules/rpmatch:
87485         * modules/unicodeio, modules/userspec, modules/version-etc:
87486         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
87487         * modules/xsetenv:
87488         Depend on gettext-h, not gettext.
87489
87490 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
87491
87492         * gnulib-tool (func_import): Add support for 'public domain' license.
87493         * modules/alloca, modules/atexit, modules/memmove:
87494         Now public domain, not GPL.
87495         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
87496         * modules/realloc, modules/strerror, modules/strtod:
87497         Now LGPL, not GPL.
87498
87499 2005-07-05  Bruno Haible  <bruno@clisp.org>
87500
87501         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
87502         autoconf CVS. Needed for mingw.
87503
87504 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
87505
87506         Remove the dependency of the strftime module on the tzset module.
87507         * modules/strftime (Depends-on): Remove dependency on tzset.
87508
87509 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
87510
87511         Remove the dependency of the strftime module on the tzset module.
87512         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
87513         gl_FUNC_TZSET_CLOBBER.
87514
87515 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
87516
87517         Remove the dependency of the strftime module on the tzset module.
87518         * lib/strftime.c (my_strftime)
87519         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
87520         Copy the input structure, to work around some of the bug with
87521         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
87522         Solaris releases, you should also use the tzset module, but we won't
87523         require it as a dependency any more since we don't want LGPLed code
87524         to depend on GPLed code.
87525
87526 2005-07-02  Jim Meyering  <jim@meyering.net>
87527
87528         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
87529         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
87530         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
87531         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
87532
87533 2005-07-02  Jim Meyering  <jim@meyering.net>
87534
87535         * lib/backupfile.c (backup_args): Change a `0' to NULL.
87536
87537 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
87538
87539         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
87540         declares only 'struct timespec;' (!).
87541
87542 2005-07-01  Jim Meyering  <jim@meyering.net>
87543
87544         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
87545         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
87546         * lib/save-cwd.c, tempname.c:
87547         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
87548         and don't include <sys/file.h>).
87549
87550 2005-06-29  Jim Meyering  <jim@meyering.net>
87551
87552         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
87553         type name.  Use the variable name instead.
87554         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
87555         Likewise.
87556
87557 2005-06-28  Simon Josefsson  <jas@extundo.com>
87558
87559         * modules/check-version (Files): Add check-version.m4.
87560
87561 2005-06-28  Simon Josefsson  <jas@extundo.com>
87562
87563         * m4/check-version.m4: New file, suggested by Jim Meyering
87564         <jim@meyering.net>.
87565
87566 2005-06-28  Simon Josefsson  <jas@extundo.com>
87567
87568         * lib/check-version.h, lib/check-version.c: New files.
87569
87570 2005-06-28  Simon Josefsson  <jas@extundo.com>
87571
87572         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
87573         collision with global variable.  Better indentation.  Don't
87574         increment buffer pointer beyond buffer end.  Based on comments
87575         from Paul Eggert <eggert@cs.ucla.edu>.
87576
87577         * lib/base64.h: Indent.
87578
87579 2005-06-28  Simon Josefsson  <jas@extundo.com>
87580
87581         * doc/gnulib.texi (Library version handling): New section.
87582
87583 2005-06-28  Jim Meyering  <jim@meyering.net>
87584
87585         * check-module (find_included_lib_files): Hard-code another
87586         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
87587         but modules/fts-lgpl (correctly) does not list those files.
87588
87589         * modules/canonicalize (Files): Add lib/pathmax.h.
87590
87591 2005-06-25  Simon Josefsson  <jas@extundo.com>
87592
87593         * modules/check-version: New file.
87594
87595 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
87596
87597         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
87598         initializer of struct addrinfo, as an indication that we don't
87599         care how many members the structure has.
87600
87601 2005-06-24  Derek Price  <derek@ximbiot.com>
87602         and Bruno Haible  <bruno@clisp.org>
87603
87604         Remove stat module & update lstat.
87605         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
87606         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
87607         * m4/stat.m4: Remove this file.
87608
87609 2005-06-24  Derek Price  <derek@ximbiot.com>
87610         and Bruno Haible  <bruno@clisp.org>
87611
87612         Remove stat module & update lstat.
87613         * lib/stat.c: Remove this file...
87614         (slash_aware_lstat): ...moving this content and its support...
87615         * lib/lstat.c (rpl_lstat): ...into here.
87616         * lib/lstat.h: New file.
87617
87618 2005-06-24  Derek Price  <derek@ximbiot.com>
87619         and Bruno Haible  <bruno@clisp.org>
87620
87621         Remove stat module & update lstat.
87622         * config/srclist.txt (libc sources): Remove stat.
87623
87624 2005-06-24  Derek Price  <derek@ximbiot.com>
87625         and Bruno Haible  <bruno@clisp.org>
87626
87627         Remove stat module & update lstat.
87628         * MODULES.html.sh (stat): Remove.
87629         * MODULES.html: Regenerated.
87630         * modules/lstat (Description): Correct function name.
87631         (Files): Add "lstat.h".
87632         (Depends-on): Remove stat, add xalloc, stat-macros.
87633         * modules/stat: Remove this file.
87634         (Include): Add "lstat.h", remove <sys/stat.h>.
87635
87636 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
87637
87638         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
87639         (ranged_convert): Don't save conversion in a temporary struct.
87640         This causes a warning with GCC 4.0.0, and anyway in the typical
87641         case it's not worth the extra 100 bytes or so of code.
87642         (ranged_convert, __mktime_internal): When calling a function via a
87643         pointer P, use P () rather than (*P) (), as we now assume C89 or
87644         better.
87645
87646 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87647
87648         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
87649         "who -r" failed to give output.  Problem reported by Tim Waugh.
87650
87651         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
87652         (xcalloc): Use it to avoid needless tests.
87653         Problem reported by Jim Meyering.
87654
87655 2005-06-20  Derek Price  <derek@ximbiot.com>
87656
87657         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
87658         unnecessary for Autoconfs > 2.59c.
87659
87660 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87661
87662         * lib/argp.h (__option_is_short): Check upper limit of
87663         __key. Isprint() requires its argument to have the value
87664         of an unsigned char or EOF.
87665
87666 2005-06-16  Jim Meyering  <jim@meyering.net>
87667
87668         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
87669         when either N or S is zero.
87670
87671 2005-06-16  Derek Price  <derek@ximbiot.com>
87672
87673         * m4/bison.m4: Declare YACC & YFLAGS precious.
87674
87675 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
87676
87677         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
87678         multibyte string or pattern, fall back on unibyte matching.
87679         Problem reported by James Youngman.
87680
87681 2005-06-08  Bruno Haible  <bruno@clisp.org>
87682
87683         * modules/csharpcomp: New file.
87684         * MODULES.html.sh (C#): Add csharpcomp.
87685
87686 2005-06-08  Bruno Haible  <bruno@clisp.org>
87687
87688         * m4/csharpcomp.m4: New file, from GNU gettext.
87689
87690 2005-06-08  Bruno Haible  <bruno@clisp.org>
87691
87692         * lib/csharpcomp.h: New file, from GNU gettext.
87693         * lib/csharpcomp.c: New file, from GNU gettext.
87694         * lib/csharpcomp.sh.in: New file, from GNU gettext.
87695
87696 2005-06-08  Bruno Haible  <bruno@clisp.org>
87697
87698         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
87699         warning on mingw.
87700
87701 2005-06-07  Derek Price  <derek@ximbiot.com>
87702
87703         Sync from CVS.
87704         * lib/glob_.h: Indent nested #ifdef.
87705
87706 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87707
87708         Sync from coreutils.
87709         Use "file name" when talking about file names, instead of "filename"
87710         or "path", as per the GNU coding standards.
87711         * lib/mkdir-p.c: Renamed from makepath.c.
87712         (make_dir_parents): Renamed from make_path.  All callers changed.
87713         * lib/mkdir-p.h: Likewise.  All includers changed.
87714         * lib/filenamecat.c: Renamed from path-concat.c.
87715         (file_name_concat): Renamed from path_concat.  All callers changed.
87716         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
87717         * lib/filenamecat.h: Likewise.  All includers changed.
87718         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
87719         in comments or local variable names.
87720         * lib/basename.c: Likewise.
87721         * lib/canonicalize.c, canonicalize.h: Likewise.
87722         * lib/dirname.c, dirname.h: Likewise.
87723         * lib/euidaccess.c: Likewise.
87724         * lib/exclude.c: Likewise
87725         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
87726         * lib/fsusage.c, fsuage.h: Likewise.
87727         * lib/fts.c, fts_.h: Likewise.
87728         * lib/getcwd.c: Likewise.
87729         * lib/getloadavg.c: Likewise.
87730         * lib/mkstemp.c: Likewise.
87731         * lib/mountlist.c, mountlist.h: Likewise.
87732         * lib/openat.c, openat.h: Likewise.
87733         * lib/readlink-stub.c: Likewise.
87734         * lib/readutmp.c, readutmp.h: Likewise.
87735         * lib/rename.c: Likewise.
87736         * lib/rmdir.c: Likewise.
87737         * lib/same.c: Likewise.
87738         * lib/savedir.c: Likewise.
87739         * lib/stripslash.c: Likewise.
87740         * lib/tempname.c: Likewise.
87741         * lib/xreadlink.c: Likewise.
87742         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
87743         All uses changed.
87744         * lib/exclude.h: Likewise.
87745
87746         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
87747         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87748         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
87749         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87750         * lib/pathmax.h: Include <limits.h> unconditionally, since other
87751         files have been getting away with it for years (MORE/BSD 4.3
87752         is extinct now).
87753         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
87754         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87755
87756         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
87757         Define to 256, not 255, as per modern POSIX.
87758
87759 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87760
87761         Sync from coreutils.
87762         Use "file name" when talking about file names, instead of "filename"
87763         or "path", as per the GNU coding standards.
87764         * MODULES.html.sh: mkdir-p renamed from makepath.
87765         filenamecat renamed from path-concat.
87766         * modules/filenamecat: Renamed from modules/path-concat.
87767         (Files): filenamecat.h and filenamecat.c renamed from
87768         path-concat.h and path-concat.c.
87769         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
87770         (Include): filenamecat.h, not path-concat.h.
87771         * modules/mkdir-p: Renamed from modules/makepath.
87772         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
87773         makepath.c.
87774         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
87775         (Include): mkdir-p.h, not makepath.h.
87776
87777 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87778
87779         Sync from coreutils.
87780         * m4/mkdir-p.m4: Renamed from makepath.m4.
87781         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
87782         Rename files from makepath.c to mkdir-p.c, and from
87783         makepath.h to mkdir-p.h.
87784         * m4/filenamecat.m4: Renamed from path-concat.m4.
87785         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
87786         Rename files from path-concat.c to filenamecat.c,
87787         and from path-concat.h to filenamecat.h.
87788         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
87789         "file name" in local variables or comments.
87790         * m4/rename.m4: Likewise.
87791
87792 2005-06-01  Bruno Haible  <bruno@clisp.org>
87793
87794         * modules/csharpexec: New file.
87795         * MODULES.html.sh (C#): New section.
87796
87797 2005-06-01  Bruno Haible  <bruno@clisp.org>
87798
87799         * m4/csharp.m4: New file, from GNU gettext.
87800         * m4/csharpexec.m4: New file, from GNU gettext.
87801
87802 2005-06-01  Bruno Haible  <bruno@clisp.org>
87803
87804         * lib/csharpexec.h: New file, from GNU gettext.
87805         * lib/csharpexec.c: New file, from GNU gettext.
87806         * lib/csharpexec.sh.in: New file, from GNU gettext.
87807
87808 2005-05-31  Derek Price  <derek@ximbiot.com>
87809             Paul Eggert  <eggert@cs.ucla.edu>
87810
87811         Sync from cvs.
87812         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87813
87814 2005-05-31  Derek Price  <derek@ximbiot.com>
87815             Paul Eggert  <eggert@cs.ucla.edu>
87816
87817         Sync from cvs.
87818         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87819
87820 2005-05-29  Derek Price  <derek@ximbiot.com>
87821
87822         * config/srclist.txt (glob_.h, glob.c): Add these files.
87823
87824 2005-05-29  Derek Price  <derek@ximbiot.com>
87825
87826         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
87827         * modules/glob: New file.
87828         * modules/getlogin_r: Add link to POSIX spec in description.
87829
87830 2005-05-29  Derek Price  <derek@ximbiot.com>
87831             Paul Eggert  <eggert@cs.ucla.edu>
87832
87833         * m4/glob.m4: New file.
87834
87835 2005-05-29  Derek Price  <derek@ximbiot.com>
87836             Paul Eggert  <eggert@cs.ucla.edu>
87837
87838         * lib/glob_.h, lib/glob.c: New files.
87839
87840 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87841
87842         * modules/fts (Files): Remove m4/inttypes-pri.m4.
87843         * modules/fts-lgpl (Depends-on): Remove gettext.
87844
87845 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87846
87847         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
87848         and don't require gt_INTTYPES_PRI.
87849
87850 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87851
87852         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
87853
87854         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
87855         the configuration hassle isn't worth it.
87856         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
87857         (LONGEST_MODIFIER, PRIuMAX): Remove.
87858
87859 2005-05-27  Bruno Haible  <bruno@clisp.org>
87860
87861         * lib/getlogin_r.h: Remove second include of <stddef.h>.
87862
87863 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
87864
87865         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
87866         _POSIX_PTHREAD_SEMANTICS for Solaris.
87867
87868 2005-05-25  Derek Price  <derek@ximbiot.com>
87869
87870         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
87871
87872 2005-05-25  Derek Price  <derek@ximbiot.com>
87873             Paul Eggert  <eggert@cs.ucla.edu>
87874
87875         * modules/getlogin_r, m4/getlogin_r.m4: New files.
87876         * lib/getlogin_r.c, getlogin_r.h: New files.
87877
87878 2005-05-25  Bruno Haible  <bruno@clisp.org>
87879             Derek Price  <derek@ximbiot.com>
87880
87881         * lib/getlogin_r.h: Simplify API documentation.
87882
87883 2005-05-23  Derek Price  <derek@ximbiot.com>
87884
87885         * modules/minmax (Files): Add m4/minmax.m4.
87886         (configure.ac): Add gl_MINMAX.
87887
87888 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
87889
87890         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
87891         so that unistd-safer.h (GPL'ed code) need not be included.
87892
87893 2005-05-22  Bruno Haible  <bruno@clisp.org>
87894
87895         * m4/minmax.m4: New file.
87896         Based on a patch by Derek Price <derek@ximbiot.com>.
87897
87898 2005-05-22  Bruno Haible  <bruno@clisp.org>
87899
87900         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
87901         (INT64_MIN): Fix definition.
87902         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
87903
87904         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
87905         NEED_SIGNED_INT_TYPES.
87906
87907         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
87908         HAVE_SYSTEM_INTTYPES.
87909
87910 2005-05-22  Bruno Haible  <bruno@clisp.org>
87911
87912         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
87913         Also include <sys/param.h> if it defines MIN, MAX.
87914         Based on a patch by Derek Price <derek@ximbiot.com>.
87915
87916 2005-05-21  Jim Meyering  <jim@meyering.net>
87917
87918         * modules/fts (Files): Add m4/inttypes-pri.m4.
87919         (Depends-on): Add lstat and remove gettext.  Alphabetize.
87920
87921 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87922
87923         New fts module.
87924         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
87925         (setup_dir, free_dir): New functions.
87926         (enter_dir, leave_dir): Define trivial
87927         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
87928         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
87929         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
87930         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
87931         Move to fts-cycle.c.
87932         (fts_open): Use setup_dir.
87933         (fts_close): Use free_dir.
87934         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
87935         This adds a label and some gotos, but the alternatives were messier.
87936         Check for memory allocation failure when entering a dir.
87937         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
87938         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
87939         (FTS): New member fts_cycle, that is a union that contains the
87940         old active_dir_ht and cycle_state.  All uses changed to mention
87941         fts_cycle.ht and fts_cycle.state.
87942         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
87943         fts.c, with the following changes:
87944         (setup_dir, free_dir): New functions.
87945         (enter_dir): Now returns bool.  Return true if successful, false
87946         if memory exhausted.  All callers changed.
87947         Do not bother partly cleaning up on
87948         memory allocation failure; that is free_dir's job.
87949         However, free ad if hash_insert fails, to avoid memory leak.
87950         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
87951         fts->fts_options to see which union member to use.
87952
87953 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87954
87955         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
87956         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
87957
87958 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87959
87960         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
87961
87962 2005-05-20  Jim Meyering  <jim@meyering.net>
87963
87964         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
87965         Now a macro, to pacify GCC.
87966
87967 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87968
87969         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
87970         of -1.
87971
87972 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87973
87974         * lib/chown.c (rpl_chown): Return -1 on failure.
87975
87976 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87977
87978         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
87979         Don't check for stddef.h.
87980         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
87981         don't use its results.
87982         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
87983         since we include them unconditionally.  Don't require
87984         AM_STDBOOL_H, since stdbool is a prerequisite.
87985         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
87986         since we assume C89 or better.
87987         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
87988         as we don't use their results.
87989         Don't check for fchdir, memmove, memset, strrchr, as we use
87990         them unconditionally.
87991         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
87992         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
87993
87994 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87995
87996         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
87997         Include <stddef.h> unconditionally, since we assume C89 now.
87998         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
87999         * lib/fts.c: Include fts_.h first, to check interface.
88000         Do not include intprops.h; no longer needed.
88001         Include cycle-check.h and hash.h, since fts_.h no longer does.
88002         Remove unnecessary casts of closedir to void.
88003         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
88004         decide whether to decrement nlinks.
88005         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
88006         (FTS): Use struct hash_table * instead of Hash_table, so that
88007         we no longer need to include hash.h here.
88008
88009 2005-05-18  Jim Meyering  <jim@meyering.net>
88010
88011         * modules/dirfd (License): Change to LGPL.  Most of the code
88012         is already in the public domain.
88013
88014 2005-05-18  Jim Meyering  <jim@meyering.net>
88015
88016         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
88017         Reported by Yoann Vandoorselaere.
88018
88019 2005-05-17  Jim Meyering  <jim@meyering.net>
88020
88021         * m4/fts.m4: New file, from coreutils.
88022
88023 2005-05-17  Jim Meyering  <jim@meyering.net>
88024
88025         * lib/fts.c, lib/fts_.h: New files, from coreutils.
88026
88027 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
88028
88029         Sync from coreutils.
88030         * m4/unlinkdir.m4: New file.
88031
88032 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
88033
88034         Sync from coreutils.
88035         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
88036         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
88037         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
88038         White space changes only.
88039         * lib/makepath.c (make_path): Port to hosts where leading "//" is
88040         special.
88041         * lib/yesno.c: Include getline.h, not ctype.h.
88042         (yesno): Don't remove leading white space; POSIX doesn't allow it.
88043         Use getline to remove arbitrary restriction on response length.
88044
88045 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
88046
88047         * config/srclist-update: Spell out "Street" in FSF postal
88048         mail address; this is the style the FSF seems to prefer.
88049
88050         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
88051         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
88052         this updates FSF postal mail address.
88053
88054         Sync from coreutils.
88055         * modules/unlinkdir: New file.
88056         * modules/yesno (Depends-on): Add getline.
88057         * MODULES.html.sh (File system functions): Add unlinkdir.
88058
88059 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
88060
88061         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
88062         lib/strsep.h:
88063         Change the initial comment to refer to GPL, not LGPL.
88064         gnulib-tool will change it to LGPL as needed.
88065
88066         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
88067         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
88068         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
88069         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
88070         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
88071         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
88072         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
88073         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
88074         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
88075         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
88076         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
88077         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
88078         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
88079         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
88080         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
88081         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
88082         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
88083         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
88084         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
88085         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
88086         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
88087         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
88088         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
88089         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
88090         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
88091         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
88092         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
88093         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
88094         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
88095         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
88096         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
88097         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
88098         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
88099         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
88100         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
88101         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
88102         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
88103         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
88104         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
88105         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
88106         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
88107         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
88108         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
88109         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
88110         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
88111         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
88112         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
88113         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
88114         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
88115         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
88116         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
88117         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
88118         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
88119         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
88120         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
88121         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
88122         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
88123         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
88124         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
88125         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
88126         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
88127         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
88128         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
88129         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
88130         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
88131         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
88132         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
88133         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
88134         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
88135         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
88136         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
88137         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
88138         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
88139         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
88140         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
88141         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
88142         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
88143         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
88144         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
88145         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
88146         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
88147         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
88148         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
88149         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
88150         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
88151         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
88152         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
88153         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
88154         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
88155         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
88156         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
88157         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
88158         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
88159         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
88160         lib/yesno.c, lib/yesno.h:
88161         Update FSF postal mail address.
88162
88163 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
88164
88165         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
88166         tests/test-memmem.c, tests/test-stpncpy.c:
88167         Update FSF postal mail address.
88168
88169 2005-05-13  Bruno Haible  <bruno@clisp.org>
88170
88171         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
88172         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
88173         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
88174         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
88175         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
88176         Add support for 64-bit integers in the MSVC compiler.
88177
88178 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88179
88180         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
88181
88182 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
88183
88184         * gnulib-tool (func_import): Sort and uniquify recommended includes.
88185
88186 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
88187
88188         * doc/getdate.texi (General date syntax): Don't say that date
88189         date --iso-8601=ns generates acceptable dates; it doesn't yet.
88190         Problem reported by Nic Ferrier.
88191
88192 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
88193
88194         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
88195         specified in ai_socktype. Fix invalid ai_protocol
88196         check. ai_protocol is usually set to 0 or depending on
88197         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
88198         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
88199         ai_socktype / ai_protocol in the returned addrinfo structure.
88200
88201 2005-05-10  Simon Josefsson  <jas@extundo.com>
88202
88203         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
88204         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
88205
88206 2005-05-10  Karl Berry  <karl@gnu.org>
88207
88208         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
88209         (from http://www.gnu.org/licenses).
88210         * doc/COPYING.LIB: also rename to COPYING.LESSER.
88211         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
88212         fdl.texi suffices.
88213
88214 2005-05-10  Karl Berry  <karl@gnu.org>
88215
88216         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
88217         (COPYING.DOC): remove.
88218
88219         * config/srclist-update: new FSF address.
88220
88221 2005-05-10  Derek Price  <derek@ximbiot.com>
88222
88223         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
88224         possible.
88225
88226 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
88227             Bruno Haible  <bruno@clisp.org>
88228
88229         * modules/inet_ntop: New file.
88230         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88231         inet_ntop.
88232
88233 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
88234             Bruno Haible  <bruno@clisp.org>
88235
88236         * m4/inet_ntop.m4: New file.
88237
88238 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
88239             Bruno Haible  <bruno@clisp.org>
88240
88241         * lib/inet_ntop.h: New file.
88242         * lib/inet_ntop.c: New file, from glibc with modifications.
88243
88244 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
88245
88246         * modules/time_r (License): Change to LGPL.
88247         * modules/extensions (License): Change to LGPL.  Actually,
88248         the license is more permissive than that, but currently gnulib-tool
88249         doesn't know how to handle more-permissive licenses.
88250
88251         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
88252         Problem reported by Dave Love.
88253
88254 2005-05-08  Jim Meyering  <jim@meyering.net>
88255
88256         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
88257         blank.
88258
88259 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
88260
88261         * modules/argmatch (Depends-on): Add stdbool.
88262         * modules/backupfile (Depends-on): Likewise.
88263         * modules/chdir-long (Depends-on): Likewise.
88264         * modules/closeout (Depends-on): Likewise.
88265         * modules/cycle-check (Depends-on): Likewise.
88266         * modules/dirname (Depends-on): Likewise.
88267         * modules/fnmatch (Depends-on): Likewise.
88268         * modules/fsusage (Depends-on): Likewise.
88269         * modules/fwriteerror (Depends-on): Likewise.
88270         * modules/getcwd (Depends-on): Likewise.
88271         * modules/getloadavg (Depends-on): Likewise.
88272         * modules/hard-locale (Depends-on): Likewise.
88273         * modules/makepath (Depends-on): Likewise.
88274         * modules/mountlist (Depends-on): Likewise.
88275         * modules/nanosleep (Depends-on): Likewise.
88276         * modules/posixtm (Depends-on): Likewise.
88277         * modules/quotearg (Depends-on): Likewise.
88278         * modules/readtokens (Depends-on): Likewise.
88279         * modules/readtokens0 (Depends-on): Likewise.
88280         * modules/readutmp (Depends-on): Likewise.
88281         * modules/save-cwd (Depends-on): Likewise.
88282         * modules/strftime (Depends-on): Likewise.
88283         * modules/userspec (Depends-on): Likewise.
88284         * modules/utimecmp (Depends-on): Likewise.
88285         * modules/xgetcwd (Depends-on): Likewise.
88286         * modules/xnanosleep (Depends-on): Likewise.
88287         * modules/xstrtod (Depends-on): Likewise.
88288         * modules/yesno (Depends-on): Likewise.
88289
88290 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
88291
88292         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
88293         needless checks.
88294
88295 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
88296
88297         Merge from coreutils.  Among other things,
88298         add bulletproofing for cases where stdin, stdout, or stderr are closed.
88299         * lib/fd-safer.c: New file.
88300         * lib/fcntl-safer.h, open-safer.c: Remove.
88301         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
88302         * lib/dup-safer.c: Include unistd-safer.h first.
88303         Don't include errno.h.
88304         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
88305         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
88306         * lib/file-type.c: Rely on file-type.h change.
88307         * lib/getloadavg.c: Include unistd-safer.h.
88308         (getloadavg): Use safer open.
88309         * lib/getusershell.c: Include "stdio-safer.h".
88310         (getusershell): Use safer fopen.
88311         * lib/long-options.c (long_options): Use NULL rather than 0.
88312         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
88313         'free'.
88314         * lib/modechange.c: Likewise.
88315         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
88316         (MODE_DONE): New constant.
88317         (struct mode_change): Remove 'next' member.
88318         (make_node_op_equals): New function; like the old one of the
88319         same name, except it allocates an array.
88320         (mode_compile, mode_create_from_ref): Use it.
88321         (mode_compile): Allocate result as an array, not a linked list.
88322         Parse octal string ourself, so that we catch mistakes like "+0".
88323         (mode_adjust): Arg is an array, not a linked list.
88324         * lib/modechange.c: Include stat-macros.h, xalloc.h.
88325         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
88326         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
88327         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
88328         Remove.  This is now stat-macros.h's job.
88329         (talloc): Remove.  All callers replaced by xalloc, so that
88330         our invokers don't have to worry about reporting memory failures.
88331         (make_node_op_equals): Remove.
88332         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
88333         New constants.
88334         (struct mode_change): Moved here from modechange.h.
88335         (mode_append_entry): Remove.
88336         (mode_compile): Remove MASKED_OPS arg, since it encouraged
88337         apps to have incorrect behavior.  Use simpler algorithm for head
88338         and tail.  Don't futz with umask; that's now the job of mode_adjust.
88339         Detect more invalid usages rather than having somewhat-random behavior.
88340         Don't insert an "a=" action, as that leads to incorrect behavior.
88341         (mode_compile, mode_create_from_ref): Return NULL on error instead
88342         of an enum, since now there's only one way to have an error.  All
88343         callers changed.
88344         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
88345         at the correct time.  Simplify calculation of "+u" and its ilk.
88346         Don't mishandle "+X".
88347         (mode_free): Remove "register" and localize decls.
88348         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
88349         (struct mode_change): Move to modechange.c; callers don't
88350         need to see this stuff.
88351         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
88352         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
88353         (mode_change, mode_adjust): Reflect the new signatures noted above.
88354         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
88355         that might redefine system include files.
88356         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
88357         (my_usleep): Use NULL rather than (void *) 0.
88358         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
88359         Use siginterrupt to specify that system calls should be interrupted.
88360         (rpl_nanosleep): Move initialization of suspended closer to call of
88361         my_usleep.
88362         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
88363         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
88364         (desirable_utmp_entry): New function.
88365         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
88366         using x2nrealloc, to simplify logic.
88367         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
88368         size calculation.  Do not assume utmp file is a regular file.
88369         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
88370         (READ_UTMP_CHECK_PIDS): New constant.
88371         * lib/save-cwd.c: Include unistd-safer.h.
88372         (save_cwd): Use fd_safer.
88373         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
88374         [!_LIBC] Include "stat-macros.h" instead.
88375         * lib/unistd-safer.h (fd_safer): New decl.
88376
88377 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
88378
88379         * modules/getloadavg (Depends-on): Add unistd-safer.
88380         * modules/getusershell (Depends-on): Add stdio-safer.
88381         * modules/lstat (Depends-on): Remove xalloc.
88382         * modules/mkstemp (Depends-on): Add stat-macros.
88383         * modules/modechange (Depends-on): Remove xstrtol.
88384         Add stat-macros, xalloc.
88385         * modules/save-cwd (Depends-on): Add unistd-safer.
88386         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
88387         * modules/unistd-safer (Files): Add lib/fd-safer.c
88388         (Makefile.am): Remove lib_SOURCES.
88389
88390         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
88391         Remove fcntl-safer; unistd-safer supersedes it.
88392
88393 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
88394
88395         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
88396         AC_HEADER_STAT.
88397         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
88398         (gl_PREREQ_CHOWN): Remove.
88399         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
88400         it.  Don't require AC_HEADER_STAT.
88401         (gl_PREREQ_LSTAT): Remove.
88402         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
88403         Don't require AC_HEADER_STAT.
88404         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
88405         (gl_PREREQ_RMDIR): Remove.
88406         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
88407         mention stat-macros.h or AC_HEADER_STAT, since we'll make
88408         the stat-macros module a prerequisite.
88409         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
88410         * m4/filemode.m4 (gl_FILEMODE): Likewise.
88411         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
88412         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
88413         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
88414         variable names.
88415         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
88416         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
88417         variable prefixes.
88418         * m4/fcntl-safer.m4: Remove.
88419         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
88420         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
88421         Invoke gl_PREREQ_FD_SAFER.
88422         (gl_PREREQ_FD_SAFER): New macro.
88423         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
88424         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
88425         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
88426         Remove duplicate call to AC_LIBOBJ(readutmp).
88427         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
88428
88429         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
88430         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
88431
88432 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
88433
88434         * MODULES.html.sh (Misc): Add byteswap.
88435
88436 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
88437
88438         * modules/getcwd (Depends-on): Add extensions.
88439         * modules/openat (Depends-on): Likewise.
88440
88441 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
88442
88443         * modules/byteswap: New file.
88444
88445 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
88446
88447         * m4/byteswap.m4: New file.
88448
88449 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
88450
88451         * lib/byteswap_.h: New file.
88452
88453 2005-04-25  Karl Berry  <karl@gnu.org>
88454
88455         * m4/gettext.m4: Update from GNU gettext 0.14.4.
88456
88457 2005-04-25  Albert Chin  <china@thewrittenword.com>
88458
88459         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
88460         Toolkit C bug.
88461
88462 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
88463
88464         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
88465         (func_ln_if_changed): Remove forcibly for no error message
88466         in case file does not exist.
88467
88468 2005-04-19  Simon Josefsson  <jas@extundo.com>
88469
88470         * gnulib-tool (Options): Make --symlink mean --symbolic.
88471
88472 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
88473
88474         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
88475
88476 2005-04-16  Simon Josefsson  <jas@extundo.com>
88477
88478         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
88479
88480 2005-04-15  Simon Josefsson  <jas@extundo.com>
88481
88482         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
88483
88484 2005-04-15  Simon Josefsson  <jas@extundo.com>
88485
88486         * gnulib-tool: Rename --symlink to --symbolic.
88487
88488 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
88489
88490         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
88491         symbolic links to files instead of copying/moving.  Add --aux-dir,
88492         specifying directory relative --dir where auxiliary build tools
88493         are placed.
88494
88495 2005-04-14  Bruno Haible  <bruno@clisp.org>
88496
88497         * modules/allocsa (License): Change to LGPL.
88498         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
88499
88500 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
88501
88502         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
88503         that "UTC +1 second" continues to work.  Problem reported
88504         by Dmitry V. Levin.
88505         (relunit_snumber): New rule.
88506         (relunit): Use it.
88507
88508 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
88509
88510         * lib/getdate.y (universal_time_zone_table): New constant.
88511         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
88512         universal_time_zone_table.
88513         (lookup_zone): Prefer universal_time_zone_table to
88514         local_time_zone_table, so that "GMT" time stamps are allowed in
88515         London during the summer.  Problem reported by Ian Abbott.
88516
88517 2005-04-12  Jim Meyering  <jim@meyering.net>
88518
88519         * lib/human.c (humblock): Set *options even when returning due to
88520         xstrtoumax conversion failure.  Thanks to a used-uninitialized
88521         warning from gcc-4.
88522
88523 2005-04-09  Jim Meyering  <jim@meyering.net>
88524
88525         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
88526         -Wuninitialized: initialize tm0.tm_year.
88527
88528 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
88529
88530         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
88531         count, since there's no maximum.  All uses changed.
88532         Add member dsts_seen.
88533         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
88534         not being INT_MAX.
88535         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
88536         Use pc_rels_seen to decide whether a date is absolute.
88537
88538         * lib/getdate.y (number): Don't overwrite year.
88539         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
88540         check.
88541
88542 2005-04-02  Simon Josefsson  <jas@extundo.com>
88543
88544         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
88545         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
88546
88547 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
88548
88549         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
88550         where no absolute path name can be longer than PATH_MAX.
88551
88552 2005-03-27  Jim Meyering  <jim@meyering.net>
88553
88554         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
88555
88556 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
88557
88558         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
88559         "one's complement" -> "ones' complement" in comment, as per Knuth.
88560         "value of type" -> "type or expression" in comment.
88561         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
88562
88563 2005-03-26  Jim Meyering  <jim@meyering.net>
88564
88565         Comment nits.
88566         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
88567         Correct typos: s/or/of/.
88568
88569 2005-03-26  Jim Meyering  <jim@meyering.net>
88570
88571         * modules/check-include-files: Move to ../ and rename to...
88572         * check-module: ...this.
88573
88574 2005-03-25  Jim Meyering  <jim@meyering.net>
88575
88576         * modules/xvasprintf (Files): Add xalloc.h.
88577
88578 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
88579
88580         * modules/gettext (Files): config/config.rpath ->
88581         build-aux/config.rpath
88582         * modules/iconv (Files): Likewise.
88583         Problem reported by Oskar Liljeblad.
88584
88585 2005-03-23  Jim Meyering  <jim@meyering.net>
88586
88587         * modules/check-include-files: New script to check for
88588         missing dependencies, multiple includes, etc.
88589
88590         * modules/c-strtold (Depends-on): Add xalloc.
88591         * modules/c-strtod (Depends-on): Add xalloc.
88592         * modules/hash (Depends-on): Add xalloc.
88593         (Files): Remove lib/xalloc.h.
88594
88595         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
88596         * modules/userspec (Files): Add lib/inttostr.h.
88597
88598 2005-03-23  Jim Meyering  <jim@meyering.net>
88599
88600         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
88601
88602 2005-03-22  Jim Meyering  <jim@meyering.net>
88603
88604         * modules/stat-macros: New module.
88605         * modules/canonicalize, modules/euidaccess, modules/file-type,
88606         * modules/filemode, modules/lchown, modules/makepath,
88607         * modules/rmdir, modules/stat: Depend on new stat-macros module
88608         rather than listing lib/stat-macros.h manually.
88609         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
88610
88611 2005-03-22  Jim Meyering  <jim@meyering.net>
88612
88613         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
88614
88615 2005-03-22  Bruno Haible  <bruno@clisp.org>
88616
88617         * config/srclist.txt: Replace target directory 'config' with
88618         'build-aux'.
88619         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
88620         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
88621         ../build-aux/.
88622
88623 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
88624
88625         * modules/chdir-long (Depends-on): Add mempcpy.
88626
88627         * modules/acl, modules/backupfile, modules/c-strtod,
88628         modules/c-strtold, modules/canon-host, modules/canonicalize,
88629         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
88630         modules/exclude, modules/exitfail, modules/file-type,
88631         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
88632         modules/getdate, modules/getline, modules/getpagesize,
88633         modules/getpass, modules/getugroups, modules/group-member,
88634         modules/hard-locale, modules/hash, modules/human, modules/idcache,
88635         modules/inttostr, modules/long-options, modules/makepath,
88636         modules/md5, modules/memcasecmp, modules/memcoll,
88637         modules/modechange, modules/mountlist, modules/path-concat,
88638         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
88639         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
88640         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
88641         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
88642         modules/strftime, modules/strndup, modules/strverscmp,
88643         modules/timespec, modules/unlocked-io, modules/userspec,
88644         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
88645         modules/yesno:
88646         Remove lib_SOURCES line from Makefile.am section, as this is now
88647         done automatically by the corresponding Autoconf macro.
88648
88649 2005-03-21  Jim Meyering  <jim@meyering.net>
88650
88651         Changes imported from coreutils.
88652
88653         * lib/cycle-check.c: Don't include xalloc.h.
88654
88655         * lib/path-concat.c: Don't include assert.h.
88656         (path_concat): Remove assertion that would have triggered
88657         for ABASE starting with more than one slash.
88658         Reported by Andreas Schwab.
88659
88660         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
88661         properly when ABASE is an absolute file name.
88662         Correct the description of this function.
88663         Include <assert.h>.
88664         Add an assertion and a test driver.
88665         This fixes a bug introduced on 2004-07-02.
88666         Andreas Schwab reported the resulting failure of cp --parents:
88667         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
88668
88669 2005-03-21  Jim Meyering  <jim@meyering.net>
88670
88671         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
88672         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
88673
88674 2005-03-21  Jim Meyering  <jim@meyering.net>
88675         and  Paul Eggert  <eggert@cs.ucla.edu>
88676
88677         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
88678         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
88679         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
88680         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
88681         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
88682         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
88683         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
88684         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
88685         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
88686         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
88687         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
88688         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
88689         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
88690         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
88691         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
88692         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
88693         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
88694         for these modules.
88695
88696 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
88697
88698         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
88699         (which shouldn't happen), generate nothing instead of returning 0
88700         immediately, so that nstrftime (NULL, ...) doesn't return 0.
88701
88702 2005-03-16  Bruno Haible  <bruno@clisp.org>
88703
88704         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
88705         HAVE_LONGLONG_64BIT.
88706
88707 2005-03-16  Bruno Haible  <bruno@clisp.org>
88708
88709         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
88710         HAVE_LONGLONG_64BIT.
88711
88712 2005-03-16  Bruno Haible  <bruno@clisp.org>
88713
88714         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
88715         HAVE_LONGLONG_64BIT.
88716
88717 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
88718
88719         * lib/strftime.c (my_strftime): Prepend space to format so that we can
88720         reliably distinguish strftime failure from empty output on POSIX
88721         hosts.
88722
88723 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
88724
88725         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
88726         (iconv_string): Don't guess a size-zero buffer, as that might cause
88727         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
88728         result would be 'too large', where 'too large' is (heuristically)
88729         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
88730         overflow concerns.  This will prevent some unwanted malloc failures
88731         when the inputs are very large.
88732
88733 2005-03-15  Karl Berry  <karl@gnu.org>
88734
88735         * config/srclist.txt (config.rpath): from gettext.
88736         * config/config.rpath: update.
88737
88738 2005-03-15  Bruno Haible  <bruno@clisp.org>
88739
88740         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
88741         to 'negate'.
88742
88743         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
88744         variable.
88745
88746         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
88747         results.
88748
88749 2005-03-14  Simon Josefsson  <jas@extundo.com>
88750
88751         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
88752         <fx@gnu.org>.
88753
88754 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
88755
88756         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
88757         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
88758         intprops.h.
88759         * lib/strtol.c: Likewise.
88760
88761 2005-03-14  Jim Meyering  <jim@meyering.net>
88762
88763         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
88764         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
88765         to be nonzero so that we (and caller) can detect the difference
88766         between a valid zero-length expansion and an error return, even
88767         when the underlying strftime fails before writing anything into
88768         that location.
88769
88770 2005-03-14  Bruno Haible  <bruno@clisp.org>
88771
88772         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
88773         Update from GNU gettext 0.14.3.
88774
88775 2005-03-10  Jim Meyering  <jim@meyering.net>
88776
88777         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
88778
88779 2005-03-10  Jim Meyering  <jim@meyering.net>
88780
88781         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
88782         so that this module works on systems without fchdir.
88783
88784 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
88785
88786         Factor int-properties macros into a single file, except for
88787         glibc-related files.
88788         * lib/intprops.h: New file.
88789         * lib/getloadavg.c: Include it instead of limits.h.
88790         (INT_STRLEN_BOUND): Remove.
88791         * lib/human.c: Include intprops.h.
88792         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
88793         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
88794         302/1000.
88795         * lib/inttostr.h: Include intprops.h instead of limits.h.
88796         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
88797         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
88798         for consistency with intprops.h.
88799         (time_t_is_integer, twos_complement_arithmetic): Use them.
88800         * lib/sig2str.h: Include <signal.h>, intprops.h.
88801         (INT_STRLEN_BOUND): Remove.
88802         * lib/strftime.c (TYPE_SIGNED): Remove.
88803         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
88804         * lib/strtol.c: Adjust comments to match intprops.h.
88805         * lib/userspec.c: Include intprops.h.
88806         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
88807         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
88808         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
88809         instead of rolling our own expressions.
88810         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
88811
88812         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
88813         instead of int.
88814         (my_strftime): Do not mishandle years close to INT_MAX, by doing
88815         the right thing even if adding 1900 would overflow.  Similarly
88816         for tm_mon + 1 and tm_yday + 1.
88817         Make %Y always equivalent to %C%y, and similarly for %G and %g.
88818         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
88819         (DO_SIGNED_NUMBER): New macro.
88820         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
88821
88822 2005-03-07  Bruno Haible  <bruno@clisp.org>
88823
88824         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
88825
88826 2005-03-07  Bruno Haible  <bruno@clisp.org>
88827
88828         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
88829
88830 2005-03-04  Derek R. Price  <derek@ximbiot.com>
88831
88832         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
88833         (func_import): Only replace files via --import when they have actually
88834         changed.
88835
88836 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88837
88838         * m4/mmap-anon.m4: New file.
88839         * m4/pagealign_alloc.m4: New file.
88840
88841 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88842             Bruno Haible  <bruno@clisp.org>
88843
88844         * modules/pagealign_alloc: New file.
88845         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
88846
88847 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88848             Bruno Haible  <bruno@clisp.org>
88849
88850         * lib/pagealign_alloc.h: New file.
88851         * lib/pagealign_alloc.c: New file.
88852
88853 2005-03-03  Bruno Haible  <bruno@clisp.org>
88854
88855         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
88856         Use an all-permissive copyright notice, recommended by RMS.
88857
88858 2005-03-02  Bruno Haible  <bruno@clisp.org>
88859
88860         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
88861         of AIX, the replacement has to be done only after <string.h> is
88862         included, therefore not in config.h. stpncpy.h does the replacement,
88863         and stpncpy.c uses it.
88864
88865 2005-03-02  Bruno Haible  <bruno@clisp.org>
88866
88867         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
88868         stpncpy.c uses it.
88869
88870 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88871
88872         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
88873         The workaround isn't strictly needed for POSIX conformance, and
88874         it's too much of a pain to configure and maintain.  We'll ask
88875         people to fix their kernels instead.
88876         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
88877         (NANOSLEEP_BUG_WORKAROUND): Remove.
88878         (xnanosleep): Remove the workaround.
88879
88880 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88881
88882         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
88883         Reported by Derek Price.
88884         (Include): Add "timespec.h".
88885
88886         * modules/xnanosleep (Depends-on): Remove gethrxtime.
88887
88888 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88889
88890         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
88891         to detect nanosleep bug.
88892
88893 2005-03-01  Bruno Haible  <bruno@clisp.org>
88894
88895         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
88896
88897 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
88898
88899         * modules/gethrxtime: New file.
88900         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
88901         (Depends-on): Add gethrxtime.
88902         (configure.ac): Add gl_XNANOSLEEP.
88903         (Makefile.am): Remove lib_SOURCES line.
88904
88905 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88906
88907         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
88908         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
88909
88910 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88911
88912         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
88913         * lib/timespec.h (gettime): Return void, since it always
88914         succeeds now.  All uses changed.
88915         * lib/gettime.c (gettime): Likewise.
88916         [HAVE_NANOTIME]: Prefer nanotime.
88917         Assume gettimeofday succeeds, as POSIX requires.
88918         Assime time () succeeds, since other code already does.
88919         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
88920         (timespec_subtract): Remove.
88921         (NANOSLEEP_BUG_WORKAROUND): New constant.
88922         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
88923         things considerably.  Use it only on GNU/Linux hosts, since the
88924         workaround shouldn't be needed elsewhere.
88925
88926 2005-02-24  Bruno Haible  <bruno@clisp.org>
88927
88928         * modules/gettext (Files): Add m4/glibc2.m4.
88929
88930 2005-02-24  Bruno Haible  <bruno@clisp.org>
88931
88932         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
88933         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
88934         * m4/progtest.m4:
88935         Update from GNU gettext 0.14.2.
88936         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
88937
88938 2005-02-24  Bruno Haible  <bruno@clisp.org>
88939
88940         * lib/localcharset.c: Update from GNU gettext 0.14.2.
88941         * lib/config.charset: Update from GNU gettext 0.14.2.
88942
88943 2005-02-24  Bruno Haible  <bruno@clisp.org>
88944
88945         * lib/gettext.h: Update from GNU gettext 0.14.2.
88946
88947 2005-02-23  Simon Josefsson  <jas@extundo.com>
88948
88949         * m4/iconvme.m4: New file.
88950
88951 2005-02-23  Jim Meyering  <jim@meyering.net>
88952
88953         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
88954         change.
88955         Thanks to Bruno Haible for catching it.
88956
88957 2005-02-22  Simon Josefsson  <jas@extundo.com>
88958
88959         * modules/iconvme: New file.
88960
88961         * MODULES.html.sh: Add iconvme.
88962
88963 2005-02-22  Simon Josefsson  <jas@extundo.com>
88964
88965         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
88966
88967 2005-02-22  Simon Josefsson  <jas@extundo.com>
88968
88969         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
88970
88971 2005-02-22  Jim Meyering  <jim@meyering.net>
88972
88973         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
88974         s/ifndef/ifdef/.
88975
88976 2005-02-20  Neil Conway  <neilc@samurai.com>
88977
88978         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
88979         returned by OSX/Darwin if the specified buffer is not large
88980         enough for the hostname.
88981
88982 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88983
88984         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
88985         pass it to _help, otherwise the latter coredumps trying to
88986         dereference state.root_argp.
88987
88988 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88989
88990         * modules/chdir-long (Depends-on): Add memrchr.
88991         * modules/memrchr (Files): Add lib/memrchr.h.
88992         (Include): "memrchr.h".
88993
88994 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88995
88996         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
88997
88998 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88999
89000         * lib/memrchr.h: New file.
89001         * lib/chdir-long.c: Include it.
89002         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
89003         Don't bother including stddef.h.
89004
89005 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
89006
89007         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
89008         inclusion.
89009         Include <sys/types.h>, for dev_t.
89010         (ME_DUMMY, ME_REMOTE): Move from here....
89011         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
89012         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
89013         Dmitry V. Levin.
89014         Include mountlist.h first, to test the interface.
89015
89016 2005-01-29  Bruno Haible  <bruno@clisp.org>
89017
89018         * lib/progname.c (program_name): Initialize.
89019         Needed when linking statically on MacOS X.
89020
89021 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
89022
89023         Sync from coreutils.
89024         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
89025         (Depends-on): Add c-strtod.
89026         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
89027
89028 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
89029
89030         Sync from coreutils.
89031         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
89032
89033         Remove files that are specific to coreutils.
89034         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
89035
89036 2005-01-28  Bruno Haible  <bruno@clisp.org>
89037
89038         * modules/javacomp: New file.
89039         * MODULES.html.sh (Java): Add javacomp.
89040
89041 2005-01-28  Bruno Haible  <bruno@clisp.org>
89042
89043         * m4/javacomp.m4: New file, from GNU gettext.
89044
89045 2005-01-28  Bruno Haible  <bruno@clisp.org>
89046
89047         * lib/javacomp.sh.in: New file, from GNU gettext.
89048         * lib/javacomp.h: New file, from GNU gettext.
89049         * lib/javacomp.c: New file, from GNU gettext.
89050
89051 2005-01-26  Simon Josefsson  <jas@extundo.com>
89052
89053         * lib/gai_strerror.c: Use GPL in header.
89054
89055 2005-01-26  Bruno Haible  <bruno@clisp.org>
89056
89057         * modules/javaexec: New file.
89058         * MODULES.html.sh (Java): Add javaexec.
89059
89060 2005-01-26  Bruno Haible  <bruno@clisp.org>
89061
89062         * m4/javaexec.m4: New file, from GNU gettext.
89063
89064 2005-01-26  Bruno Haible  <bruno@clisp.org>
89065
89066         * lib/javaexec.sh.in: New file, from GNU gettext.
89067         * lib/javaexec.h: New file, from GNU gettext.
89068         * lib/javaexec.c: New file, from GNU gettext.
89069
89070 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89071
89072         * modules/lchown (Depends-on): Remove lchown.h
89073
89074 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89075
89076         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
89077         must be defined if the header file was not found, in order
89078         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
89079
89080 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89081
89082         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
89083         initializers for struct pentry_state.
89084         (__argp_error): Check return value of __asprintf
89085         (__argp_failure): Translate error message
89086
89087         * lib/argp-parse.c: Removed braces around the expansion of N_()
89088
89089 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
89090
89091         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
89092         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
89093         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
89094         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
89095         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
89096         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
89097         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
89098         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
89099         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
89100         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
89101         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
89102         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
89103         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
89104         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
89105         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
89106         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
89107         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
89108         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
89109         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
89110         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
89111         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
89112         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
89113         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
89114         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
89115         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
89116         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
89117         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
89118         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
89119         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
89120         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
89121         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
89122         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
89123         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
89124         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
89125         xstrtol.m4, xstrtoumax.m4, yesno.m4:
89126         Use an all-permissive copyright notice, recommended by RMS.
89127
89128 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
89129
89130         * modules/chdir-long (Depends-on): Remove mempcpy.
89131
89132 2005-01-21  Jim Meyering  <jim@meyering.net>
89133
89134         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
89135         same value as for Solaris 9.
89136
89137         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
89138         component length.  This included changing the parameter to be
89139         of type `char *' rather than `char const *'.
89140         * lib/chdir-long.h (chdir_long): Update prototype.
89141
89142         * lib/openat.c (fdopendir, fstatat): New functions.
89143         * lib/openat.h: Include headers required for use of DIR and struct
89144         stat.
89145         [AT_SYMLINK_NOFOLLOW]: Define.
89146         (fdopendir, fstatat): Add prototypes.
89147
89148 2005-01-21  Bruno Haible  <bruno@clisp.org>
89149
89150         * modules/classpath: New file.
89151         * MODULES.html.sh (Java): Add classpath.
89152
89153 2005-01-21  Bruno Haible  <bruno@clisp.org>
89154
89155         * lib/classpath.h: New file, from GNU gettext.
89156         * lib/classpath.c: New file, from GNU gettext.
89157
89158 2005-01-20  Simon Josefsson  <jas@extundo.com>
89159
89160         * modules/version-etc-fsf: New file.
89161
89162 2005-01-20  Simon Josefsson  <jas@extundo.com>
89163
89164         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
89165         * lib/version-etc.c: Remove version_etc_copyright.
89166         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
89167         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
89168
89169 2005-01-20  Simon Josefsson  <jas@extundo.com>
89170
89171         * lib/base64.h (isbase64): Add.
89172
89173         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
89174         using a unsigned prototype, don't inline.
89175         (base64_decode): Use it.
89176
89177 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
89178
89179         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
89180         it.
89181
89182 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
89183
89184         * lib/save-cwd.c (save_cwd): Remove code to support the case
89185         where fchdir is missing or flaky.
89186
89187 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
89188
89189         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
89190
89191 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
89192
89193         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
89194         AC_LIBSOURCES now does this.
89195         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
89196         with new ullong_max module.
89197
89198 2005-01-19  Bruno Haible  <bruno@clisp.org>
89199
89200         * modules/sh-quote: New file.
89201         * MODULES.html.sh (Executing programs): Add sh-quote.
89202
89203 2005-01-19  Bruno Haible  <bruno@clisp.org>
89204
89205         * lib/sh-quote.h: New file, from GNU gettext.
89206         * lib/sh-quote.c: New file, from GNU gettext.
89207
89208 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
89209
89210         Merge from coreutils.
89211         * m4/ullong_max.m4: New file.
89212         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
89213         (gl_MACROS): Assume localeconv exists.
89214
89215 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
89216
89217         Merge changes from coreutils, as described below in several
89218         changelogs dated today.
89219
89220         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
89221         (O_DIRECTORY): Remove; not needed here, since "." must be
89222         a directory.  All uses removed.
89223         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
89224         universal on Suns, and we also need to test for IRIX.
89225         Revamp code to use 'if' rather than '#if'.
89226         Avoid unnecessary comparison of cwd->desc to 0.
89227
89228         * lib/utimens.c (futimens): Robustify the previous patch, by checking
89229         for known valid error numbers rather than observed invalid ones.
89230
89231 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
89232
89233         * modules/ullong_max: New file.
89234
89235         * modules/chdir-long, modules/openat: New files.
89236         * modules/save-cwd (Depends-on): Depend on chdir-long.
89237         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
89238
89239 2005-01-18  Jim Meyering  <jim@meyering.net>
89240
89241         Merge from coreutils.
89242         * m4/chdir-long.m4, m4/openat.m4: New files.
89243         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
89244         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
89245         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
89246         is sane and DOES follow symlinks.  Besides, testing 20 different
89247         systems found no broken chown implementations.
89248         Prompted by a change in rsync's copy of this macro.
89249         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
89250
89251         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
89252
89253         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
89254         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
89255         NULL-means-set-to-current-time semantics.
89256         Remove temporary file immediately, rather than waiting
89257         for configure's at-exit trap code to do it.
89258
89259 2005-01-18  Jim Meyering  <jim@meyering.net>
89260
89261         * lib/version-etc.c (version_etc_copyright): Update copyright date.
89262
89263         * lib/utimens.c (futimens): Account for the fact that futimes
89264         can also fail with errno == ENOSYS or errno == ENOENT.
89265         Patch from Dmitry V. Levin.
89266
89267         Change the name of the robust chdir function from chdir to chdir_long.
89268         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
89269         (restore_cwd): Use chdir_long, not chdir.
89270         * lib/chdir-long.c: Renamed from chdir.c.
89271         * lib/chdir-long.h: Renamed from chdir.h.
89272         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
89273         Hurd.
89274
89275 2005-01-18  Bruno Haible  <bruno@clisp.org>
89276
89277         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
89278         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
89279         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
89280         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
89281         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
89282         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
89283         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
89284         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
89285         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
89286         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
89287         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
89288         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
89289         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
89290         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
89291         Use an all-permissive copyright notice, recommended by RMS.
89292
89293 2005-01-18  Bob Proulx  <bob@proulx.com>
89294
89295         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
89296         simplify offsetof() macro construct to avoid compile failure with
89297         native HP-UX 11.0 ANSI C compiler.
89298
89299 2005-01-17  Bruno Haible  <bruno@clisp.org>
89300
89301         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
89302         redundant because stpncpy.m4 takes care of it.
89303
89304 2005-01-17  Bruno Haible  <bruno@clisp.org>
89305
89306         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
89307
89308 2005-01-17  Bruno Haible  <bruno@clisp.org>
89309
89310         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
89311         used.
89312
89313 2005-01-17  Bruno Haible  <bruno@clisp.org>
89314
89315         * lib/fwriteerror.h (fwriteerror): Change specification to include
89316         fclose.
89317         * lib/fwriteerror.c: Include <stdbool.h>.
89318         (fwriteerror): At the end, close the file stream. Record whether
89319         stdout was already closed.
89320
89321 2005-01-17  Bruno Haible  <bruno@clisp.org>
89322
89323         * lib/execute.c (environ): Declare if needed.
89324         * lib/pipe.c (environ): Likewise.
89325         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
89326
89327 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89328
89329         * modules/argp: Depend on vsnprintf
89330
89331 2005-01-10  Jim Meyering  <jim@meyering.net>
89332
89333         * modules/closeout (Depends-on): Add atexit.
89334
89335 2005-01-06  Bruno Haible  <bruno@clisp.org>
89336
89337         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
89338
89339 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
89340
89341         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
89342         definitions to be after all include files, to avoid collisions.
89343         Problem reported by Bob Proulx.
89344
89345 2005-01-04  Jim Meyering  <jim@meyering.net>
89346
89347         Changes imported from coreutils.
89348         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
89349         as the mkstemp template, use a temporary directory and an
89350         8.3-friendly template to avoid trouble on systems like DJGPP.
89351         Reported by Juan M. Guerrero via Stepan Kasal.
89352         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
89353         close. Remove the temporary directory right away, rather than waiting
89354         for configure's at-exit trap code to do it.
89355         Suggestion from Stepan Kasal.
89356
89357 2005-01-01  Simon Josefsson  <jas@extundo.com>
89358
89359         * gnulib-tool: Print #include directives when --import'ing.
89360
89361 2004-12-28  Simon Josefsson  <jas@extundo.com>
89362
89363         * tests/test-base64.c: Include required header files.  Remove
89364         unused variables.
89365
89366 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
89367
89368         * modules/error (Depends-on): Remove gettext.
89369
89370 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
89371
89372         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
89373         not needed.  This removes a dependency on the gettext module.
89374         [defined _LIBC]: Do not include <libintl.h>; not needed.
89375
89376 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
89377
89378         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
89379         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
89380
89381 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
89382
89383         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
89384         HAVE_DECL_STRTOLD.
89385
89386 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
89387
89388         * modules/getdate (Depends-on): Remove alloca-opt.
89389
89390 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
89391
89392         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
89393
89394 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
89395
89396         * lib/argp-parse.c: Include <stddef.h>.
89397         (alignof, alignto): New macros.
89398         (parser_init): Don't assume that void * is aligned sufficiently
89399         for struct option.
89400
89401         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
89402         need to extend the stack.
89403         (YYINITDEPTH): New macro, so that the initial stack isn't overly
89404         large.
89405
89406 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89407
89408         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
89409
89410 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
89411
89412         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
89413         (2004-10-24) change.  Apparently this was a false alarm.
89414
89415         * modules/getdate: Depend on alloca-opt, not alloca.
89416
89417 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
89418
89419         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
89420         Remove now-obsolete comment about AIX.
89421         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
89422         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
89423         (YYMAXDEPTH): New macro.
89424
89425 2004-12-18  Simon Josefsson  <jas@extundo.com>
89426
89427         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
89428
89429 2004-12-18  Bruno Haible  <bruno@clisp.org>
89430
89431         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
89432
89433 2004-12-18  Bruno Haible  <bruno@clisp.org>
89434
89435         * lib/fatal-signal.c (fatal_signals): Make non-const.
89436         (init_fatal_signals): New function.
89437         (uninstall_handlers, install_handlers): Ignore signals that were set to
89438         SIG_IGN.
89439         (at_fatal_signal): Call init_fatal_signals.
89440         (init_fatal_signal_set): Likewise. Ignore signals that were set to
89441         SIG_IGN.
89442         Reported by Paul Eggert.
89443
89444 2004-12-18  Bruno Haible  <bruno@clisp.org>
89445
89446         * doc/alloca.texi: New file.
89447         * doc/alloca-opt.texi: New file.
89448
89449 2004-12-17  Jim Meyering  <jim@meyering.net>
89450
89451         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
89452         Otherwise, install-sh could exit with improper exit status when
89453         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
89454
89455 2004-12-16  Simon Josefsson  <jas@extundo.com>
89456
89457         * tests/test-base64.c: Add license.
89458
89459 2004-12-15  Stepan Kasal  <address@hidden>
89460
89461         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
89462
89463 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
89464
89465         * modules/getcwd (Files): Add m4/d-ino.m4.
89466         Suggested by Mark D. Baushke.
89467
89468 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
89469
89470         * lib/getdate.y (textint): New member "negative".
89471         (time_zone_hhmm): New function.
89472         Expect 14 shift-reduce conflicts, not 13.
89473         (o_colon_minutes): New rule.
89474         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
89475         (yylex): Set the "negative" member of signed numbers.
89476
89477 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
89478
89479         * doc/getdate.texi (Time of day items, Time zone items):
89480         Describe new formats +00:00, UTC+00:00.
89481
89482 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
89483
89484         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
89485         spurious "-l"s.  Problem reported by Stepan Kasal.
89486
89487 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
89488
89489         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
89490         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
89491
89492 2004-12-04  Simon Josefsson  <jas@extundo.com>
89493
89494         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
89495         Vandoorselaere <yoann@prelude-ids.org>.
89496
89497 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
89498
89499         Changes imported from coreutils.
89500         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
89501         exist.
89502         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
89503
89504 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
89505
89506         Changes imported from coreutils.
89507         * lib/hard-locale.c: Assume <locale.h> exists.
89508         Include "strdup.h".
89509         (GLIBC_VERSION): New macro.
89510         (hard_locale): Assume setlocale exists.
89511         Rewrite to avoid #ifdef.
89512         Use strdup rather than malloc + strcpy.
89513         * lib/human.c: Assume <locale.h> exists.
89514         (human_readable): Assume localeconv exists.
89515
89516 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
89517
89518         * modules/hard-locale (Depends-on): Add strdup.
89519
89520 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
89521
89522         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
89523         convert T2, not T.  (Imported from libc.)
89524
89525 2004-11-30  Simon Josefsson  <jas@extundo.com>
89526
89527         * modules/restrict (License): Change to LGPL.
89528
89529 2004-11-30  Simon Josefsson  <jas@extundo.com>
89530
89531         * m4/restrict.m4: Add copyright and copying conditions.
89532
89533 2004-11-30  Simon Josefsson  <jas@extundo.com>
89534
89535         * m4/base64.m4: New file.
89536
89537 2004-11-30  Simon Josefsson  <jas@extundo.com>
89538
89539         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
89540         base64.
89541
89542         * tests/test-base64.c: New file.
89543
89544         * modules/base64: New file.
89545
89546 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
89547
89548         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
89549         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
89550
89551         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
89552
89553 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
89554
89555         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
89556         (__getcwd.c): Don't restore errno; glibc doesn't.
89557         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
89558         first, falling back to our code only if its results look suspicious.
89559         Ensure that the resulting buffer is only as large as necessary.
89560
89561         * lib/readutmp.c: Include readutmp.h first.
89562         Include <errno.h>, since readutmp.h no longer does that.
89563         * lib/readutmp.h: Don't include <errno.h>,
89564         <sys/param.h>, <time.h>; not needed to establish interface.
89565         (errno): Remove decl.
89566         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
89567         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
89568         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
89569
89570 2004-11-28  Simon Josefsson  <jas@extundo.com>
89571
89572         * lib/base64.h, base64.c: New file.
89573
89574 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
89575
89576         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
89577
89578 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
89579
89580         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
89581         (Depends-on): Remove pathmax, same.  Add mempcpy.
89582         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
89583         (Makefile.am): Append getcwd.h to lib_SOURCES.
89584         (Include): Add getcwd.h.
89585         (Maintainer): Change from Jim Meyering to "all, glibc",
89586         since getdate now uses intended-for-glibc code.
89587         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
89588         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
89589
89590 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
89591
89592         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
89593         HP's ANSI C compiler.
89594         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
89595         Declaring int functions causes warnings on some modern systems and
89596         shouldn't be needed to compile on ancient ones.
89597         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
89598         defined.
89599
89600         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
89601         with the following changes.
89602         (__set_errno): Parenthesize properly.
89603         Include <stdbool.h>.
89604         (MIN, MAX, MATCHING_INO): New macros.
89605         (__getcwd): Define with prototype, not K&R form.
89606         Use heuristics to allocate default buffer on stack if possible.
89607         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
89608         behavior, and to avoid the PATH_MAX limit when computing
89609         ../../../../...
89610         Use MATCHING_INO to compare inode number to file.
89611         Check for arithmetic overflow in size calculations.
89612         Fix bug in reallocation of dot array that caused getcwd to fail
89613         on directories nested deeper than 75.
89614         Be more careful about saving errno on error.
89615         Do not use realloc; use only free+malloc, as this is a bit
89616         more flexible and avoids a needless copy operation.
89617         Do not inspect st_dev and st_ino for symbolic links; POSIX
89618         doesn't specify the latter.
89619         Check for closedir errors.
89620         Avoid needless casts.
89621         Use "#ifdef weak_alias" around weak_alias, to be like other
89622         glibc code.
89623         The following changes to getcwd.c have effect only when used in
89624         gnulib; they have no effect inside glibc proper.
89625         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
89626         as alloca isn't used.
89627         (alloca, __alloca): Likewise.
89628         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
89629         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
89630         unconditionally, as gnulib assumes C89 or better.
89631         Do not include <sys/param.h>.
89632         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
89633         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
89634         better.
89635         (NULL) [!defined NULL]: Remove; we assume C89 or better.
89636         Include <dirent.h> in a way that is compatible with modern Autoconf.
89637         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
89638         New macros, if not already defined.
89639         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
89640         Use "_LIBC", not "defined _LIBC", for consistency.
89641         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
89642         a mempcpy module.
89643         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
89644         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
89645         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
89646         credit only to Jim Meyering and adjust the copyright dates.
89647         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
89648         <stdlib.h>, <unistd.h>, "pathmax.h".
89649         Instead, include "xgetcwd.h" (first) and "getcwd.h".
89650         (INITIAL_BUFFER_SIZE): Remove.
89651         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
89652
89653 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
89654
89655         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
89656         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
89657         Use the _ONCE methods, for efficiency.
89658         Check for fcntl.h.  In test program, include <errno.h>
89659         and <fcntl.h> if available.  Remove old K&R cruft from
89660         test program.  Check for common errors in GNU/Linux,
89661         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
89662         don't do AC_LIBOBJ, as that's getcwd.m4's job.
89663         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
89664         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
89665         name accordingly.
89666         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
89667         accommodate new getcwd.c.
89668         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
89669         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
89670         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
89671         that's all we need now.
89672
89673 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89674
89675         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
89676         argp-parse.c depends on getopt internals, that means we should
89677         always use our getopt, to be on the safe side.
89678         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
89679         order not to spoil the result of an eventual previous invocation
89680         of gl_GETOPT_SUBSTITUTE.
89681
89682 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89683
89684         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
89685         redefinition warnings. To avoid them, include the defines
89686         in `#if !defined __need_getopt ... #endif'. The only place
89687         where __getopt_argv_const is used is in definitions
89688         of getopt_long and getopt_long_only below, which are as well
89689         protected by `#ifndef __need_getopt'.
89690         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
89691         __need_getopt after including <stdio.h> and <unistd.h> These
89692         headers might have defined it.
89693
89694 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
89695
89696         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
89697
89698 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
89699
89700         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
89701         (futimens): New function, which uses futimes if available.
89702         (futimens, utimens): Support timespec==NULL, with same semantics
89703         as utime and utimens.
89704         * lib/utimens.h (futimens): New decl.
89705
89706 2004-11-23  Jim Meyering  <jim@meyering.net>
89707
89708         * lib/getopt_.h: Remove trailing blanks.
89709
89710 2004-11-23  Jim Meyering  <jim@meyering.net>
89711
89712         * lib/__fpending.c: Add comment.
89713
89714 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
89715
89716         * modules/canonicalize (Depends-on): Add xreadlink.
89717         Problem reported by James Youngman.
89718
89719 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
89720
89721         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
89722         New macros.
89723         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
89724         optopt): Use them instead of invoking ## directly; otherwise, the
89725         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
89726
89727 2004-11-19  Bruno Haible  <bruno@clisp.org>
89728
89729         * lib/strtok_r.c: Move comments from here...
89730         * lib/strtok_r.h: ... to here.
89731
89732 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
89733
89734         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
89735         implementations that mishandle size_t overflow.
89736
89737 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
89738
89739         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
89740         might fail.  Problem reported by Yoann Vandoorselaere.
89741         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
89742         implementations that mishandle size_t overflow.
89743
89744 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89745
89746         * modules/canon-host (Depends-on): Add strdup.
89747
89748 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89749
89750         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
89751
89752 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89753
89754         * lib/canon-host.c: Include "strdup.h".
89755         (canon_host): Use getaddrinfo if available, so that IPv6 works.
89756         Use strdup instead of malloc/strcpy to duplicate strings.
89757
89758         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
89759         (human_space_before_unit): New constant.
89760         * lib/human.c (human_readable): Support it.
89761
89762         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
89763         (xgetcwd): Set errno correctly when failing.
89764         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
89765         the failure is actually due to a PATH_MAX problem.
89766
89767         Further getopt changes to make it more likely that glibc will
89768         buy the changes back.
89769         * lib/getopt.c (POSIXLY_CORRECT): New constant.
89770         (getopt): Use it, so to preserve glibc semantic
89771         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
89772         when compiling for libc.
89773         * lib/getopt_.h (__getopt_argv_const): Bring it back.
89774         (getopt_long, getopt_long_only): Use it.
89775
89776         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89777         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
89778         (getopt): Argv is now char * const *, as per standard.
89779         (_getopt_internal_r, _getopt_internal): Argv is now char **,
89780         not char *__getopt_argv_const *.
89781         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89782         _getopt_long_only_r): Likewise.
89783         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
89784         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89785         _getopt_long_r, _getopt_long_only_r): Likewise.
89786         * lib/getopt_.h (__getopt_argv_const): Remove.
89787         (getopt): Argv is now char * const *, as per standard.
89788
89789         * lib/getdate.y (tORDINAL): New token.
89790         (day, relunit): Allow it for relative times.
89791         (relative_time_table): Use tORDINAL for ordinals.
89792
89793 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89794
89795         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
89796         Document that "second" isn't allowed as an ordinal number.
89797
89798 2004-11-16  Jim Meyering  <jim@meyering.net>
89799
89800         * modules/closeout (Depends-on): Add fpending.
89801
89802 2004-11-15  Jim Meyering  <jim@meyering.net>
89803
89804         * lib/closeout.c: Include "__fpending.h" once again.
89805         Include <stdbool.h>.
89806         (close_stdout): Don't fail just because stdout was closed initially,
89807         since some programs don't write to stdout in the normal course of
89808         operation (other than --version and --help), and we don't want this
89809         function to make e.g. `touch file >&-' fail.
89810         But do fail if it was closed and someone has tried to write to it.
89811         E.g., `printf foo >&-' must fail.
89812
89813 2004-11-13  Jim Meyering  <jim@meyering.net>
89814
89815         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
89816
89817 2004-11-12  Simon Josefsson  <jas@extundo.com>
89818
89819         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
89820         small doc fix is still pending.
89821
89822 2004-11-11  Simon Josefsson  <jas@extundo.com>
89823
89824         * modules/strtok_r: New file.
89825
89826         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89827         strtok_r.
89828
89829 2004-11-11  Simon Josefsson  <jas@extundo.com>
89830
89831         * m4/strtok_r.m4: New file.
89832
89833         * m4/getopt.m4: Replace opterr.
89834
89835 2004-11-11  Simon Josefsson  <jas@extundo.com>
89836
89837         * lib/strtok_r.h, strtok_r.c: New file.
89838
89839 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89840
89841         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
89842         of replacing opterr, getopt, etc.  This should handle the
89843         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
89844
89845 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89846
89847         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
89848         we can stop lying to compilers about the constness of argv when we
89849         are compiled outside glibc.
89850         (getopt, getopt_long, getopt_long_only): Use it.
89851         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89852         _getopt_internal, getopt): Likewise.
89853         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89854         _getopt_long_only_r): Likewise.
89855         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89856         _getopt_long_r, _getopt_long_only_r): Likewise.
89857
89858         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
89859         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
89860         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
89861         the other external symbols.
89862         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
89863         declaration, since the above renaming now works around collisions.
89864
89865 2004-11-11  Jim Meyering  <jim@meyering.net>
89866
89867         * lib/linebreak.c: Remove trailing blanks.
89868         * lib/alloca_.h: Likewise.
89869         * lib/acosl.c: Likewise.
89870         * lib/euidaccess.c: Likewise.
89871         * lib/allocsa.h: Likewise.
89872
89873 2004-11-10  Simon Josefsson  <jas@extundo.com>
89874
89875         * m4/getaddrinfo.m4: New file.
89876
89877 2004-11-10  Simon Josefsson  <jas@extundo.com>
89878
89879         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
89880
89881 2004-11-10  Simon Josefsson  <jas@extundo.com>
89882
89883         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89884         getaddrinfo.
89885
89886         * modules/getaddrinfo: New file.
89887
89888 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89889
89890         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
89891
89892 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89893
89894         * lib/mktime.c (SHR): New macro, which is a portable
89895         substitute for >> that should work even on Crays.
89896         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
89897         Problem reported by Mark D. Baushke in
89898         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
89899         * lib/getdate.y (SHR): Likewise.
89900         (tm_diff): Use it.
89901         * lib/strftime.c (SHR): Likewise.
89902         (tm_diff): Use it.
89903         * lib/quotearg.c (struct quoting_options): Use unsigned int for
89904         quote_these_too, so that right shifts are well defined.  All uses
89905         changed.
89906
89907 2004-11-10  Jim Meyering  <jim@meyering.net>
89908
89909         Ensure that no close failure goes unreported.
89910         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
89911         return early when it seems there's nothing to flush.
89912         Don't include __fpending.h.
89913
89914 2004-11-10  Jim Meyering  <jim@meyering.net>
89915
89916         * modules/closeout (Depends-on): Remove fpending.
89917
89918 2004-11-10  Jim Meyering  <jim@meyering.net>
89919
89920         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
89921
89922 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89923
89924         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
89925         gl_FUNC_STRFTIME.
89926         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
89927         and AC_REQUIRE when possible, to avoid duplicate checks.
89928         Check for <wchar.h>.
89929
89930 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89931
89932         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
89933
89934 2004-11-09  Bruno Haible  <bruno@clisp.org>
89935
89936         * m4/sockpfaf.m4: New file.
89937
89938 2004-11-05  Bruno Haible  <bruno@clisp.org>
89939
89940         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
89941         Reported by Mark D. Baushke <mdb@cvshome.org>.
89942
89943 2004-11-04  Bruno Haible  <bruno@clisp.org>
89944
89945         2004-09-11  Bruno Haible  <bruno@clisp.org>
89946                 * allocsa.valgrind: New file.
89947         2004-02-06  Bruno Haible  <bruno@clisp.org>
89948                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
89949                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
89950                 Reported by Christopher Seip <chris.seip@hp.com>.
89951
89952 2004-11-04  Bruno Haible  <bruno@clisp.org>
89953
89954         * modules/allocsa (Files): Add lib/allocsa.valgrind.
89955         (Makefile.am): Distribute it.
89956
89957 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
89958
89959         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
89960         with errno == ERANGE if the buffer is too small.
89961         Problem reported by Mark D. Baushke.
89962
89963 2004-11-03  Albert Chin  <china@thewrittenword.com>
89964             Paul Eggert  <eggert@cs.ucla.edu>
89965
89966         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
89967         equivalent, substitute $ac_type for equivalent type rather than
89968         blindly using uint32_t *always* which won't work if uint32_t is not
89969         available.  Define _UINT32_T to work around typedef of uint32_t if
89970         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
89971         2.5.1.
89972
89973 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89974
89975         * m4/jm-macros.m4: Sync from coreutils.
89976         (gl_MACROS): Check for mbrlen, for pathchk.
89977         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
89978
89979 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89980
89981         * lib/xreadlink.c (MAXSIZE): New macro.
89982         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
89983         size does not exceed MAXSIZE.  Avoid cast.
89984         As suggested by Mark D. Baushke in
89985         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
89986         if readlink fails with buffer size just under MAXSIZE, try again
89987         with MAXSIZE.
89988
89989 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89990
89991         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
89992
89993 2004-11-02  Derek R. Price  <derek@ximbiot.com>
89994         and  Paul Eggert  <eggert@cs.ucla.edu>
89995
89996         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
89997         (get_date): Overparenthesize to avoid GCC warning.
89998
89999 2004-11-02  Bruno Haible  <bruno@clisp.org>
90000
90001         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
90002         returns void.
90003
90004 2004-11-02  Bruno Haible  <bruno@clisp.org>
90005
90006         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
90007         function returns void.
90008
90009 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
90010
90011         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
90012         fflush_unlocked, flockfile, funlockfile, funlockfile,
90013         fputs_unlocked, putc_unlocked.
90014
90015 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
90016
90017         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
90018         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
90019         already declared.
90020
90021 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
90022
90023         * modules/getdate (Files): Add doc/getdate.texi.
90024         (Depends-on): Add setenv, xalloc.
90025
90026 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
90027
90028         * lib/getdate.y: Add support for TZ="foo" within a date string.
90029         Fix some bugs near time_t boundaries.  Reject dates with
90030         out-of-range components, e.g., "Sept 31".
90031         Include <stdlib.h>, "setenv.h", "xalloc.h".
90032         (ISDIGIT_LOCALE): Remove; unused.
90033         Note that the TZ and time functions used here are not reentrant.
90034         (mktime_ok, get_tz): New functions.
90035         (TZBUFSIZE): New constant.
90036         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
90037         This requires that we sometimes generate our own TZ="XXX..." setting.
90038
90039 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
90040
90041         * doc/getdate.texi: New file, from coreutils with modifications for
90042         the new TZ parsing.
90043
90044 2004-10-27  Derek R. Price  <derek@ximbiot.com>
90045
90046         * lib/mktime.c (not_equal_tm): Remove redundant check.
90047
90048 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
90049
90050         * modules/regex (lib_SOURCES): Add regex.c.
90051         Reported by James Youngman in
90052         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
90053
90054 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
90055
90056         * lib/getdate.y: Use Bison 1.875 features, and some minor
90057         code cleanups.  This change does not affect semantics.
90058         Don't include <stdlib.h>; no longer needed.
90059         Don't include unlocked-io.h; only the "#if TEST" code uses
90060         stdio, and performance isn't crucial there.
90061         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
90062         Bison 1.875 features as described below.
90063         All uses of "PC." replaced by "pc->".
90064         (YYSTYPE): Add a forward declaration.
90065         (yylex, yyerror): Use full prototypes in forward decls.
90066         Use "%pure-parser" rather than obsolescent "%pure_parser".
90067         Use %parse-param and %lex-param instead of obsolescent
90068         YYPARSE_PARAM and YYLEX_PARAM.
90069         (meridian_table, month_and_day_table, time_units_table,
90070         relative_time_table, time_zone_table, military_table,
90071         lookup_zone, lookup_word, get_date):
90072         Use NULL instead of 0 where appropriate.
90073         (to_hour): Avoid abort (), to avoid a dependency on
90074         stdlib.h.
90075         (yyerror, yylex): Now accepts parser_control * arg.
90076         (main) [TEST]: Use '\0' rather than 0 for char.
90077
90078 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
90079
90080         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
90081
90082 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
90083
90084         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
90085         It's now the caller's responsibility to handle the case where
90086         !HAVE_GETPAGESIZE && !defined getpagesize.
90087
90088         * lib/mktime.c (leapyear): Arg is long int, not int.
90089
90090 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
90091
90092         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
90093
90094 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
90095
90096         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
90097         missing.  Problem reported by James Youngman.
90098
90099 2004-10-16  Simon Josefsson  <jas@extundo.com>
90100
90101         * gnulib-tool: Fix comments.  Fix parse problem.
90102         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
90103
90104 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
90105
90106         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
90107         implementation of getopt_long.  Problem reported by Alexander Taler in:
90108         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
90109
90110 2004-10-15  Bruno Haible  <bruno@clisp.org>
90111
90112         * gnulib-tool: Untabify. Initialize supplied_libname.
90113         (func_usage): More homogenous output.
90114         (func_modules_transitive_closure, func_modules_to_filelist,
90115         func_emit_lib_Makefile_am): New functions.
90116         (func_import): New function, extracted from big case statement. Use
90117         func_get_license, func_modules_transitive_closure,
90118         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
90119         opt_lgpl. Don't use test -a, as it's not portable.
90120         (func_create_testdir): Use func_modules_transitive_closure,
90121         func_modules_to_filelist, func_emit_lib_Makefile_am.
90122
90123 2004-10-15  Bruno Haible  <bruno@clisp.org>
90124
90125         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
90126
90127 2004-10-15  Bruno Haible  <bruno@clisp.org>
90128
90129         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
90130         the portions belonging to each module.
90131         Suggested by Derek Robert Price <derek@ximbiot.com>.
90132
90133 2004-10-12  Simon Josefsson  <jas@extundo.com>
90134
90135         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
90136         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
90137         to real functions.
90138
90139 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90140
90141         * modules/vsnprintf: New file.
90142
90143 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90144
90145         * m4/vsnprintf.m4: New file.
90146
90147 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90148
90149         * lib/vsnprintf.h: New file.
90150         * lib/vsnprintf.c: New file.
90151
90152 2004-10-11  Bruno Haible  <bruno@clisp.org>
90153
90154         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
90155         vsnprintf.
90156
90157 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
90158
90159         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
90160
90161 2004-10-07  Bruno Haible  <bruno@clisp.org>
90162
90163         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
90164         fits into the provided buffer.
90165
90166 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
90167
90168         * lib/diacrit.c, diacrit.h: Add GPL notice.
90169
90170         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
90171         notice.
90172         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
90173         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
90174         This avoids a potential constant-folding bug.
90175
90176 2004-10-05  Bruno Haible  <bruno@clisp.org>
90177
90178         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
90179         for the declaration of strsep.
90180
90181 2004-10-05  Bruno Haible  <bruno@clisp.org>
90182
90183         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
90184
90185 2004-10-04  Simon Josefsson  <jas@extundo.com>
90186
90187         * modules/memmem: New file.
90188         * tests/test-memmem.c: New file.
90189         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
90190
90191 2004-10-04  Simon Josefsson  <jas@extundo.com>
90192
90193         * m4/memmem.m4: New file.
90194
90195 2004-10-04  Simon Josefsson  <jas@extundo.com>
90196
90197         * lib/memmem.h: New file.
90198         * lib/memmem.c: New file, taken from glibc.
90199
90200 2004-10-04  Simon Josefsson  <jas@extundo.com>
90201
90202         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
90203         '#ifdef USE_UNLOCKED_IO'.
90204
90205 2004-10-04  Simon Josefsson  <jas@extundo.com>
90206
90207         * config/srclist.txt: Add memmem from glibc.
90208
90209 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
90210
90211         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
90212
90213         * modules/argmatch, modules/argp, modules/closeout, modules/error,
90214         modules/exclude, modules/getdate, modules/getline,
90215         modules/getndelim2, modules/getpass, modules/getpass-gnu,
90216         modules/getusershell, modules/linebuffer, modules/md5,
90217         modules/mountlist, modules/posixtm, modules/readtokens,
90218         modules/readutmp, modules/regex, modules/sha1,
90219         modules/version-etc, modules/yesno:
90220         Remove dependency on unlocked-io.
90221
90222 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
90223
90224         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
90225
90226         * m4/unlocked-io.m4: Add copyright notice.
90227         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
90228
90229 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
90230
90231         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
90232         * lib/xmalloc.c (xmemdup): Likewise.
90233         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
90234         XFREE): Remove these long-obsolescent macros.
90235         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
90236         * lib/xstrdup.c: Remove.
90237
90238         * lib/regex.c (re_comp): Cast gettext return value to char *,
90239         Problem reported by Martin Neitzel via Mark D. Baushke.
90240
90241 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
90242
90243         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
90244         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
90245         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
90246         regex.c, sha1.c, version-etc.c, yesno.c:
90247         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
90248         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
90249         the includer's responsibility.
90250
90251         Sync from coreutils.
90252
90253         * lib/modechange.c (mode_compile): Don't decrement a pointer that
90254         points to the start of a string, as the C Standard says the
90255         resulting behavior is undefined.
90256
90257         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
90258         simple -> simple_backups, numbered_existing ->
90259         numbered_existing_backups, numbered -> numbered_backups
90260         to avoid shadowing problems.  All uses changed.
90261         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
90262         * lib/backupfile.c (check_extension, numbered_backup):
90263         Rename locals to avoid shadowing 'basename'.
90264         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
90265         once.
90266
90267         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
90268         * lib/.cvsignore: Add getopt.h.
90269
90270 2004-10-04  Bruno Haible  <bruno@clisp.org>
90271
90272         * modules/README: New file.
90273         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
90274         not a module.
90275
90276 2004-10-02  Jim Meyering  <jim@meyering.net>
90277
90278         * lib/dirfd.h, getpagesize.h: Add copyright notice.
90279
90280 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90281
90282         * modules/strsep: New file.
90283
90284 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90285
90286         * m4/strsep.m4: New file.
90287
90288 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90289
90290         * lib/strsep.h: New file.
90291         * lib/strsep.c: New file.
90292
90293 2004-10-01  Simon Josefsson  <jas@extundo.com>
90294
90295         * lib/snprintf.c (snprintf): Handle size==0.
90296
90297 2004-10-01  Simon Josefsson  <jas@extundo.com>
90298             Bruno Haible  <bruno@clisp.org>
90299
90300         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
90301         (snprintf): Declare 'args'.
90302
90303 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
90304
90305         * lib/snprintf.c: Remove comments as to why each header is needed.
90306
90307 2004-10-01  Bruno Haible  <bruno@clisp.org>
90308
90309         * MODULES.html.sh: Add strsep.
90310
90311 2004-09-30  Simon Josefsson  <jas@extundo.com>
90312
90313         * modules/snprintf: New file.
90314
90315 2004-09-30  Simon Josefsson  <jas@extundo.com>
90316
90317         * m4/snprintf.m4: New file.
90318
90319 2004-09-30  Simon Josefsson  <jas@extundo.com>
90320
90321         * lib/snprintf.h, lib/snprintf.c: New files.
90322
90323 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
90324
90325         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
90326         (hol_entry_help): Never translate an empty string.
90327         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
90328         * lib/argp.h (OPTION_NO_TRANS): New option.
90329
90330 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
90331
90332         * modules/argp (Maintainer): Replace Simon Josefsson
90333         by Sergey Poznyakoff.
90334
90335 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
90336
90337         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
90338         changes merged back into glibc.
90339
90340 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
90341
90342         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
90343
90344 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
90345
90346         * lib/xvasprintf.c: Include xalloc.h.
90347         (xvasprintf): Use xalloc_die, not xmalloc_die.
90348
90349 2004-09-29  Bruno Haible  <bruno@clisp.org>
90350
90351         * modules/alloca-opt: New file, derived from modules/alloca.
90352         * modules/allocsa: Depend on alloca-opt instead of alloca.
90353         * modules/setenv: Likewise.
90354         * modules/vasnprintf: Likewise.
90355         * MODULES.html.sh: Add alloca-opt.
90356
90357 2004-09-28  Simon Josefsson  <jas@extundo.com>
90358
90359         * gnulib-tool: New parameter --lgpl, to asseert that modules are
90360         LGPL, and to replace license template from GPL to LGPL.
90361
90362 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
90363
90364         * modules/dummy: Change license to LGPL.
90365
90366 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
90367
90368         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
90369
90370 2004-09-24  Simon Josefsson  <jas@extundo.com>
90371
90372         * modules/minmax (License): Change from GPL to LGPL.
90373
90374 2004-09-23  Simon Josefsson  <jas@extundo.com>
90375
90376         * gnulib-tool (--import): Typo.
90377
90378 2004-09-23  Simon Josefsson  <jas@extundo.com>
90379
90380         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
90381
90382 2004-09-22  Bruno Haible  <bruno@clisp.org>
90383
90384         * modules/*: Add 'License' field.
90385         * gnulib-tool: Accept --extract-license option.
90386         (func_get_license): New function.
90387
90388 2004-09-21  Bruno Haible  <bruno@clisp.org>
90389
90390         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
90391         Reported by Simon Josefsson.
90392
90393 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
90394
90395         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
90396         gl_AC_TYPE_LONG_LONG.
90397
90398 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
90399
90400         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
90401
90402 2004-09-18  Simon Josefsson  <jas@extundo.com>
90403         and  Paul Eggert  <eggert@cs.ucla.edu>
90404
90405         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
90406         calls with autoreconf.  Define GL_LIB.
90407
90408 2004-09-14  Karl Berry  <karl@gnu.org>
90409
90410         * config/srclist.txt: unsync setenv.c, sigh.
90411
90412 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
90413
90414         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
90415         Problem reported by Bruno Haible in:
90416         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
90417
90418 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
90419
90420         * config/srclist.txt: Comment out argp-pvh.c.
90421
90422 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
90423
90424         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
90425         in case some system header has #define'd it.  Problem reported by
90426         Soeren D. Schulze in
90427         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
90428
90429 2004-09-09  Karl Berry  <karl@gnu.org>
90430
90431         * regex.[ch]: delete from the root.  These were supposed to be
90432                 synced with emacs cvs, but this has not happened for about
90433                 a year, and anyway nothing else uses emacs regex.[ch].
90434                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
90435                 lib/regex[.ch] is untouched.
90436
90437 2004-09-09  Bruno Haible  <bruno@clisp.org>
90438
90439         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
90440
90441 2004-09-09  Bruno Haible  <bruno@clisp.org>
90442
90443         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
90444         modifications.
90445         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
90446
90447 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
90448
90449         * modules/xvasprintf: New file.
90450         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
90451
90452 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
90453
90454         * lib/xvasprintf.h: New file.
90455         * lib/xvasprintf.c: New file.
90456         * lib/xasprintf.c: New file.
90457
90458 2004-09-08  Bruno Haible  <bruno@clisp.org>
90459
90460         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
90461
90462 2004-09-08  Bruno Haible  <bruno@clisp.org>
90463
90464         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
90465         length is > INT_MAX.
90466         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
90467         more.
90468
90469 2004-09-08  Bruno Haible  <bruno@clisp.org>
90470
90471         * lib/stdint_.h: New file, taken from GNU clisp.
90472
90473 2004-09-08  Bruno Haible  <bruno@clisp.org>
90474             Oskar Liljeblad  <oskar@osk.mine.nu>
90475
90476         * modules/stdint: New file.
90477         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
90478
90479 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
90480
90481         Import from coreutils.
90482         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
90483         strings on unbounded length.  alloca's performance benefits aren't
90484         that important here.
90485         (V_STRDUP): Remove.
90486         (parse_with_separator): New function, with most of the internals
90487         of the old parse_user_spec.  Allow user to omit both user and group,
90488         for compatibility with FreeBSD.
90489         Clone only the user name, not the entire spec.
90490         Do not set *uid, *gid unless entirely successful.
90491         Avoid memory leak in some failing cases.
90492         Fix regression for USER.GROUP reported by Dmitry V. Levin in
90493         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
90494         (parse_user_spec): Rewrite to use parse_with_separator.
90495
90496 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
90497
90498         * modules/userspec: Don't depend on alloca.
90499
90500 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
90501
90502         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
90503
90504 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
90505
90506         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
90507         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
90508         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
90509
90510 2004-08-16  Simon Josefsson  <jas@extundo.com>
90511
90512         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
90513         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
90514         Add --dry-run for --import.
90515         Let user provided command line parameters override configure.ac
90516         settings.
90517
90518 2004-08-12  Simon Josefsson  <jas@extundo.com>
90519
90520         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
90521         as discussed with Paul Eggert in threads rooted at
90522         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
90523         and
90524         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
90525         Before, the test was empty, and relied on ELIDE_CODE in source
90526         code.)
90527         (gl_PREREQ_GETOPT): New macro.
90528         (gl_GETOPT): Use them.
90529
90530 2004-08-12  Simon Josefsson  <jas@extundo.com>
90531
90532         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
90533         * lib/getopt_.h: Renamed from getopt.h.
90534
90535 2004-08-12  Simon Josefsson  <jas@extundo.com>
90536
90537         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
90538         Change default library name from libfoo to libgnu.
90539         Now, if you have a configure.ac that says:
90540                 gl_SOURCE_BASE(gl)
90541                 gl_M4_BASE(gl/m4)
90542                 gl_MODULES(error getopt etcetera)
90543                 gl_INIT
90544         you can import all you need by running:
90545                 ../gnulib/gnulib-tool --import
90546
90547         * modules/getopt (Files): Rename getopt.h to getopt_.h.
90548         (Makefile.am): Rewrite, use logic from argz.
90549         (Include): Use <getopt.h> instead of "getopt.h".
90550
90551 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
90552
90553         * modules/argp (Files): Add m4/unlocked-io.m4.
90554         (Depends-on): Add extensions.
90555
90556 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
90557
90558         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
90559         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
90560         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
90561         Check for program_invocation_name, program_invocation_short_name,
90562         flockfile, funlockfile, features.h, _getopt_long_only_r.
90563
90564 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
90565
90566         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
90567         its complicated substitute.
90568         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
90569         and program_invocation_name.
90570         (__argp_basename) [!_LIBC]: Remove; the only use was
90571         replaced by its body.
90572         (__argp_short_program_name): Change condition from
90573         !defined __argp_short_program_name to
90574         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
90575         to match argp-namefrob.h.
90576         (__argp_failure): Don't assume strerror_r returns char *.
90577         * lib/argp-parse.c (N_): Define unconditionally.
90578         (argp_default_options): Fill out initializers with 0 to avoid
90579         gcc warnings.
90580
90581 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
90582
90583         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
90584         getopt1.c.
90585
90586 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
90587
90588         Merge from coreutils.
90589
90590         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
90591
90592         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
90593         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
90594
90595 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
90596
90597         Merge from coreutils.
90598
90599         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
90600         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
90601         for Reliant Unix 5.43.
90602
90603         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
90604         (union fooround): Use uintmax_t, not long int.
90605         The rest is a merge from libc:
90606         [defined _LIBC]: Include <shlib-compat.h>.
90607         (_obstack) [defined _LIBC]: Remove after 2.3.4.
90608
90609         * lib/settime.c (settime): Recode to avoid warning with
90610         Sun Forte C 6U2.
90611
90612         * lib/strverscmp.c: Convert to UTF-8.
90613
90614 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
90615
90616         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
90617         m4/uintmax_t.m4.
90618
90619 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
90620
90621         * modules/xalloc-die: New file.
90622         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
90623
90624         * modules/md5 (Files): Add m4/uint32_t.m4.
90625         * modules/sha1: Renamed from modules/sha.
90626         (Files):
90627         Rename lib/sha.h to lib/sha1.h.
90628         Rename lib/sha.c to lib/sha1.c.
90629         Rename m4/sha.m4 to m4/sha1.m4.
90630         (lib_SOURCES): Likewise.
90631         (configure.ac): Rename gl_SHA to gl_SHA1.
90632         (Include): sha.h -> sha1.h.
90633
90634 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
90635
90636         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
90637         * m4/sha1.m4: Renamed from sha.m4.
90638         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
90639
90640 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
90641
90642         * lib/obstack.h (obstack_empty_p):
90643         Don't assume that chunk->contents is suitably aligned.
90644         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
90645         Likewise. Problem reported by Benno in
90646         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
90647
90648         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
90649         readable.  This could be improved further but it'd take some work.
90650
90651 2004-08-08  Simon Josefsson  <jas@extundo.com>
90652
90653         * modules/xgethostname (Depends-on): Remove exit and error (not
90654         used).
90655
90656         * modules/getpass-gnu: Add getpass.h.
90657         (Depends-on): Add stdbool.
90658         * modules/getpass: Add getpass.h.
90659
90660 2004-08-08  Simon Josefsson  <jas@extundo.com>
90661
90662         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
90663         Check getpass declaration.
90664
90665 2004-08-08  Simon Josefsson  <jas@extundo.com>
90666
90667         * lib/xgethostname.c: Don't include error.h (not used).
90668
90669         * lib/getpass.h: Add.
90670         * lib/getpass.c: Include getpass.h first.
90671
90672 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
90673
90674         * lib/xalloc-die.c: New file.
90675         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
90676         All uses removed.
90677         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
90678         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
90679         xalloc-die.c.
90680         (_, N_, xalloc_die): Move to xalloc-die.c.
90681         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
90682         so that we needn't mess with xalloc_msg_memory_exhausted.
90683
90684         * lib/sha1.h: Renamed from sha.h.
90685         (SHA1_H): Renamed from _SHA_H.
90686         (sha1_ctx): Renamed from sha_ctx.
90687         (sha1_init_ctx): Renamed from sha_init_ctx.
90688         (sha1_process_block): Renamed from sha_process_block.
90689         (sha1_process_bytes): Renamed from sha_process_bytes.
90690         (sha1_finish_ctx): Renamed from sha_finish_ctx.
90691         (sha1_read_ctx): Renamed from sha_read_ctx.
90692         (sha1_stream): Renamed from sha_stream.
90693         (sha1_buffer): Renamed from sha_buffer.
90694         * lib/sha1.c: Likewise; renamed from sha.c.
90695         Do not include <sys/types.h>.
90696         Include <stddef.h> rather than <stdlib.h>.
90697
90698 2004-08-08  Bruno Haible  <bruno@clisp.org>
90699
90700         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
90701         FILESYSTEM_PREFIX_LEN.
90702         * lib/progreloc.c: Likewise.
90703         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
90704
90705 2004-08-06  Simon Josefsson  <jas@extundo.com>
90706
90707         * modules/progname (Depends-on): Don't depend on stdbool.
90708
90709 2004-08-06  Simon Josefsson  <jas@extundo.com>
90710
90711         * modules/getsubopt: New file.
90712         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90713         getsubopt.
90714
90715 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90716
90717         More merge from coreutils.
90718
90719         * m4/utimens.m4, m4/utimecmp.m4: New files.
90720         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
90721         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
90722         prereq.m4, sha.m4: Import changes from coreutils.
90723
90724 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90725
90726         More merge from coreutils.
90727         * modules/raise, modules/readtokens0, modules/utimens:
90728         * modules/utimecmp, module/xnanosleep: New files.
90729         * modules/strftime: Add lib/strftime.h.
90730         Change include from <time.h> to "strftime.h".
90731         * modules/yesno: Add lib/yesno.h.
90732         * modules/backupfile: Remove lib/addext.c.
90733         * modules/euidaccess: Add stat-macros.h.
90734         * modules/canonicalize, modules/euidaccess,
90735         modules/filemode, modules/lchown, modules/makepath,
90736         modules/rmdir, modules/stat: Likewise.
90737
90738 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90739
90740         Merge from tar.
90741         * lib/argp-help.c (make_hol, hol_append): Don't assume that
90742         SIZE_MAX is a valid preprocessor constant.
90743         (__argp_basename): Change from "#ifndef _LIBC"
90744         to "#ifndef __argp_short_program_name", so that
90745         we don't compile these functions for tar.
90746
90747         More merges from coreutils.
90748         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
90749         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
90750         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
90751         * lib/addext.c: Remove; no longer needed.
90752         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
90753         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
90754         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
90755         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
90756         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
90757         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
90758         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
90759         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
90760         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
90761         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
90762         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
90763         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
90764         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
90765         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
90766         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
90767         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
90768         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
90769         Import changes from coreutils.
90770
90771 2004-08-05  Simon Josefsson  <jas@extundo.com>
90772
90773         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
90774
90775 2004-08-05  Simon Josefsson  <jas@extundo.com>
90776
90777         * m4/getsubopt.m4: New file.
90778
90779 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90780
90781         Merge from coreutils.
90782
90783         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
90784         * m4/getcwd-path-max.m4: New files.
90785
90786         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
90787         FILESYSTEM_PREFIX_LEN ->
90788         FILE_SYSTEM_PREFIX_LEN.
90789         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
90790         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
90791         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
90792         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
90793
90794         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
90795         prerequisite modules now handle the DOS stuff.
90796         Don't check for unistd.h.
90797
90798 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90799
90800         Merge from coreutils.
90801
90802         * lib/.gdb-history: Remove; this doesn't belong here.
90803
90804         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
90805         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
90806         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
90807         * lib/getcwd.c: New files.
90808
90809         * lib/dirname.h: Include <stdbool.h>.
90810         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
90811         for consistency with POSIX terminology.  All uses changed.
90812         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
90813         (strip_trailing_slashes): Use bool for booleans.
90814         * lib/stripslash.c (strip_trailing_slashes): Likewise.
90815
90816         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
90817         sometimes returns a positive errno value even when it succeeds.
90818         (print_errno_message) [!LIBC]: Fall back on strerror if
90819         __strerror_r fails.
90820
90821         * lib/path-concat.c (mempcpy): Don't define if a system header defines
90822         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
90823         (longest_relative_suffix): New function.
90824         (path_concat): Use it.  Assume first argument is not NULL.
90825         Port to DOS.  Omit redundant separators.
90826         Report an error instead of returning NULL.
90827         Use mempcpy instead of memcpy.
90828         (xpath_concat): Remove: not declared or used.
90829
90830         * lib/same.h: Include <stdbool.h>
90831         (same_name): Return bool, not int.
90832         * lib/same.c (same_name): Likewise.
90833         (errno): Don't declare; we assume C89 or better now.
90834
90835         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
90836         if not already defined.
90837
90838         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
90839         * lib/dup-safer.c (errno): Likewise.
90840
90841 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90842
90843         Merge from coreutils.
90844         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
90845         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
90846         * modules/path-concat: Don't depend on strdup.
90847
90848 2004-08-03  Simon Josefsson  <jas@extundo.com>
90849
90850         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
90851         * lib/progname.h: Don't include stdbool.h.
90852
90853 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90854
90855         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
90856         * MODULES.html.sh (func_all_modules): Remove fatal.
90857
90858 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90859
90860         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
90861
90862 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90863
90864         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
90865         working.
90866
90867 2004-08-02  Simon Josefsson  <jas@extundo.com>
90868
90869         * lib/getsubopt.h: New file, with comments from Bruno Haible.
90870         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
90871         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
90872
90873 2004-08-01  Simon Josefsson  <jas@extundo.com>
90874
90875         * lib/xgetdomainname.c: Include stdlib.h, for free().
90876
90877 2004-07-19  Bruno Haible  <bruno@clisp.org>
90878
90879         * MODULES.html.sh (func_all_modules): Add dummy.
90880
90881 2004-07-16  Simon Josefsson  <jas@extundo.com>
90882
90883         * modules/dummy: New file.
90884
90885 2004-07-16  Simon Josefsson  <jas@extundo.com>
90886
90887         * lib/dummy.c: New file.
90888
90889 2004-07-16  Bruno Haible  <bruno@clisp.org>
90890
90891         * lib/backupfile.h: Add extern "C" for C++.
90892         * lib/closeout.h: Likewise.
90893         * lib/copy-file.h: Likewise.
90894         * lib/findprog.h: Likewise.
90895         * lib/full-write.h: Likewise.
90896         * lib/pathname.h: Likewise.
90897         * lib/progname.h: Likewise.
90898         * lib/stpcpy.h: Likewise.
90899         * lib/stpncpy.h: Likewise.
90900         * lib/strcase.h: Likewise.
90901         * lib/strstr.h: Likewise.
90902         * lib/xalloc.h: Likewise.
90903
90904         * lib/mbswidth.h: Add extern "C" for C++.
90905         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
90906
90907 2004-07-13  Robert Millan  <robertmh@gnu.org>
90908
90909         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
90910
90911 2004-07-09  Simon Josefsson  <jas@extundo.com>
90912
90913         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
90914         failed without this.)
90915
90916 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90917
90918         * modules/chown (Files): Add lib/fchown-stub.c, since
90919         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
90920
90921 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90922
90923         * lib/fchown-stub.c: New file.
90924
90925 2004-06-24  Jim Meyering  <jim@meyering.net>
90926
90927         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
90928
90929 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90930
90931         * modules/argz: Omit "#include".
90932
90933         * MODULES.html.sh (func_all_modules): Add calloc, to match
90934         2004-06-01 addition of calloc module.
90935
90936 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90937
90938         * m4/argz.m4: New file, which is autoupdated from libtool.
90939
90940 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90941
90942         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
90943         libtool.
90944
90945 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90946
90947         * config/srclist-update: Don't insist on "USA." before the
90948         close-comment, as libtool omits the period and puts the */ on a
90949         separate line.
90950         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
90951         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
90952
90953 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
90954
90955         * modules/argz: New file.
90956         * MODULES.html.sh (func_all_modules): Add argz.
90957
90958 2004-06-12  Jim Meyering  <jim@meyering.net>
90959         and  Paul Eggert  <eggert@cs.ucla.edu>
90960
90961         * modules/hash (Files): Add lib/xalloc.h.
90962         * modules/pipe (Depends-on): Add wait-process.
90963         * modules/stat (Depends-on): Add xalloc.
90964         * modules/userspec (Files): Add lib/userspec.h.
90965         * modules/xstrto
90966
90967         Upgrade from gettext-0.13.
90968         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
90969         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
90970         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
90971
90972 2004-06-10  Jim Meyering  <jim@meyering.net>
90973
90974         * lib/calloc.c: New file.
90975
90976 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
90977
90978         * lib/getdate.y (yylex): Allow space between sign and number.
90979         Problem reported by Dan Jacobson.
90980
90981 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90982
90983         Merge from coreutils CVS.
90984
90985         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
90986         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
90987         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
90988         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
90989         xstrtol.m4: Fix copyright date and/or serial number.
90990
90991         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
90992         See if we need an fchown replacement.
90993         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
90994         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
90995         and use the replacement function if we detect either defect.
90996
90997         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
90998         gl_UTIMECMP.
90999
91000 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
91001         and  Jim Meyering  <jim@meyering.net>
91002
91003         Merge from coreutils CVS.
91004
91005         * lib/stat-macros.h: New file, with contents from file-type.h
91006         and coreutils' system.h.
91007         * lib/file-type.c: Include "stat-macros.h".
91008         * lib/file-type.h (file_type): Move all macro definitions to new file,
91009         stat-macros.h.
91010
91011         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
91012         Wrap old code with this conditional.
91013         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
91014         function that does not dereference symlinks.
91015         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
91016
91017         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
91018         dependency problems.
91019         (xreadlink): Accept new arg SIZE, for efficiency.
91020         All decls and uses changed.
91021         * lib/xreadlink.h: Include <stddef.h>, for size_t.
91022
91023         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
91024         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
91025
91026         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
91027         sysexits.h.
91028
91029 2004-06-01  Jim Meyering  <jim@meyering.net>
91030
91031         * m4/calloc.m4: New file.
91032
91033 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
91034
91035         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
91036         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
91037         Also, fix a typo in a diagnostic.
91038
91039 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
91040
91041         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
91042         or AC_FUNC_REALLOC.
91043
91044 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
91045
91046         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
91047         macros to be defined.
91048         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
91049         the allocator returns NULL because the requested size is zero.
91050
91051 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
91052
91053         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
91054         var.  Add comment explaining why libc still defines it.  This
91055         merges the following patch from glibc:
91056         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
91057
91058 2004-05-20  Andreas Schwab  <schwab@suse.de>
91059
91060         * m4/free.m4: Replace free if it not known to work, not the other
91061         way round.
91062
91063 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
91064
91065         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
91066         present in glibc since revision 1.1 of this file.
91067         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
91068         obstack_alignment_mask, obstack_alloc, obstack_base,
91069         obstack_blank, obstack_blank_fast, obstack_chunk_size,
91070         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
91071         obstack_grow0, obstack_init, obstack_int_grow,
91072         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
91073         obstack_next_free, obstack_object_size, obstack_ptr_grow,
91074         obstack_ptr_grow_fast, obstack_room): Remove declarations of
91075         nonexistent functions.
91076
91077 2004-05-18  Karl Berry  <karl@gnu.org>
91078
91079         * config/srclist.txt: break link for vasnprintf.c.
91080
91081 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
91082
91083         Port obstack to the AS/400, where pointers are 16 bytes wide and
91084         you cannot cast an integer to a valid pointer.  This patch is
91085         currently waiting to be integrated into glibc; see
91086         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
91087
91088         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
91089         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
91090         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
91091         (struct obstack): temp member is now a union of a pointer and
91092         an integer, instead of an integer.  All integer uses changed.
91093         This does not affect the physical layout of struct obstack,
91094         except on hosts (like the AS/400) where the size or alignment of
91095         void * is greater than that of ptrdiff_t.
91096         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
91097         __STDC__)]: Store temporary in pointer member of union, not
91098         integer member.
91099         * lib/obstack.c: Include <stddef.h>, for offsetof.
91100         (struct fooalign): Remove; it doesn't need a name.
91101         (union fooround): Change double to long double, and add void *.
91102         (DEFAULT_ALIGNMENT): Use offsetof to compute.
91103         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
91104         not a macro.  Hence the values are always int; so remove all
91105         casts-to-int in uses.
91106
91107 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
91108
91109         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
91110         we can get this patch merged into glibc.
91111
91112 2004-05-17  Derek R. Price  <derek@ximbiot.com>
91113             Paul Eggert  <eggert@cs.ucla.edu>
91114
91115         * m4/argp: Depend on alloca.
91116
91117 2004-05-17  Derek R. Price  <derek@ximbiot.com>
91118             Paul Eggert  <eggert@cs.ucla.edu>
91119
91120         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
91121         freecoding.
91122
91123 2004-05-17  Bruno Haible  <bruno@clisp.org>
91124
91125         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
91126         precision that consists of a '.' followed by an empty digit string.
91127         Patch by Tor Lillqvist <tml@iki.fi>.
91128
91129 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
91130
91131         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
91132         for backward compatibility with older code.  We need our own
91133         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
91134         it under some other name, and our alloca.h will define it.
91135
91136 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
91137             Derek Price  <derek@ximbiot.com>
91138
91139         * lib/alloca.c: Include <alloca.h>, to get our interface.
91140         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
91141         include <alloca.h> first.  Use C89 prototype for alloca; this
91142         requires including <stddef.h> for size_t.  Use extern "C" if C++.
91143         Use #elif for simplicity, since we can assume C89 now.
91144         Don't try to source the system alloca.h since it will not be found
91145         and to prevent recursively including its replacement.
91146         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
91147         * lib/regex.c: Likewise.
91148
91149 2004-05-16  Derek Price  <derek@ximbiot.com>
91150             Paul Eggert  <eggert@cs.ucla.edu>
91151
91152         getline cleanup.  This changes the getndelim2 API: both order of
91153         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
91154         no delimiter).
91155
91156         * lib/getline.c: Don't include stddef.h or stdio.h, since our
91157         interface does that.
91158         (getline): Always use getdelim, so that we don't have two
91159         copies of this code.
91160         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
91161         if available.
91162         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
91163         (GETNDELIM2_MAXIMUM): New macro.
91164         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
91165         instead of the old practice of delim2==0.  All callers changed.
91166         Return -1 on overflow, instead of returning junk.
91167         Do not set *linesize unless allocation succeeds.
91168         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
91169         that we include sys/types.h.
91170         * lib/getnline.h: Likewise.
91171         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
91172         (getndelim2): Reorder arguments.
91173         * lib/getnline.c (getnline, getndelim):
91174         Don't discard the NMAX argument.
91175         (getnline): Invoke getndelim, to avoid code duplication.
91176         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
91177         of (size_t) -1 by callers of the getnline family.
91178
91179 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
91180
91181         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
91182         Check for gettimeofday.
91183         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
91184         Check for settimeofday, stime.
91185
91186 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
91187
91188         * lib/nanosleep.c (suspended): Change its type from int to
91189         sig_atomic_t volatile.
91190         (first_call): Make it private to rpl_nanosleep, and have it
91191         be zero initially as that's a bit faster.
91192         (my_usleep): Round up fractional times instead of truncating them,
91193         as this is the usual meaning for 'sleep'.
91194
91195         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
91196         doesn't work.
91197         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
91198         (ENOSYS): Define if not defined.
91199         (settime): Fall back on stime if it exists and settimeofday fails.
91200         But don't bother with fallbacks if a method fails with errno == EPERM.
91201
91202 2004-05-11  Jim Meyering  <jim@meyering.net>
91203
91204         Prior to this change, the save_cwd caller required read access to the
91205         current directory on most systems (ones with the fchdir function).
91206
91207         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
91208         fails, try write-only, and finally, resort to using xgetcwd.
91209
91210 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
91211
91212         * lib/obstack.c, obstack.h: Import changes from libc.
91213
91214 2004-04-28  Bruno Haible  <bruno@clisp.org>
91215
91216         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
91217         also implicitly appends .exe to executables.
91218         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
91219         accepts Windows pathnames.
91220         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
91221         Treat Cygwin like Windows, since it now accepts Windows pathnames.
91222         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
91223         Treat Cygwin like Windows, since it now accepts Windows pathnames.
91224         Reported by Derek Robert Price <derek@ximbiot.com>.
91225
91226 2004-04-21  Karl Berry  <karl@gnu.org>
91227
91228         * config/srclist.txt (localcharset.c): break sync.
91229
91230 2004-04-20  Paul Eggert  <eggert@twinsun.com>
91231
91232         * m4/host-os.m4: Add a copyright notice.
91233
91234 2004-04-20  Jim Meyering  <jim@meyering.net>
91235
91236         Change UTILS_ to gl_ in AC_DEFINE'd names.
91237         Change utils_- and jm_-prefixed variables, too.
91238         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
91239         UTILS_FUNC_MKDIR_TRAILING_SLASH.
91240         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
91241
91242         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
91243         Don't emit trailing blanks.
91244         Also rename jm_-prefixed variables to have gl_ prefix.
91245
91246         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
91247         Also rename jm_-prefixed variables to have gl_ prefix.
91248
91249         * m4/jm-macros.m4: Reflect the renamings.
91250         * m4/prereq.m4: Likewise.
91251
91252 2004-04-20  Jim Meyering  <jim@meyering.net>
91253
91254         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
91255         memory.
91256
91257 2004-04-20  Jim Meyering  <jim@meyering.net>
91258             Bruno Haible  <bruno@clisp.org>
91259
91260         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
91261         memory when realloc fails.
91262
91263 2004-04-19  Jim Meyering  <jim@meyering.net>
91264
91265         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
91266         now that readutmp.c may call `free (0)'.
91267
91268 2004-04-19  Bruno Haible  <bruno@clisp.org>
91269
91270         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
91271         * m4/inttypes_h.m4: Likewise.
91272         * m4/stdint_h.m4: Likewise.
91273         * m4/intmax_t.m4: Likewise.
91274         * m4/uintmax_t.m4: Likewise.
91275
91276 2004-04-18  Jim Meyering  <jim@meyering.net>
91277
91278         * m4/prereq.m4: Don't forbid jm_ prefix.
91279
91280         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
91281         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
91282         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
91283         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
91284         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
91285         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
91286         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
91287         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
91288         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
91289         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
91290         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
91291         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
91292         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
91293         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
91294         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
91295         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
91296         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
91297         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
91298         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
91299
91300 2004-04-18  Jim Meyering  <jim@meyering.net>
91301
91302         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
91303         failure, don't leak memory and do call END_UTMP_ENT.
91304
91305 2004-04-16  Jim Meyering  <jim@meyering.net>
91306
91307         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
91308         coreutils' stat program.
91309         (gl_PREREQ): Don't require jm_PREREQ_STAT.
91310
91311 2004-04-11  Paul Eggert  <eggert@twinsun.com>
91312
91313         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
91314         C89.
91315         (CHAR_BIT): Remove, since we assume C89.
91316         Include <stdint.h> if available, as per current Autoconf CVS advice.
91317
91318 2004-03-31  Jim Meyering  <jim@meyering.net>
91319
91320         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
91321         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
91322         * m4/xalloc.m4: Likewise.
91323
91324 2004-03-30  Paul Eggert  <eggert@twinsun.com>
91325
91326         Merge from coreutils.
91327
91328         * m4/inttostr.m4: New file.
91329         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
91330         Require AM_STDBOOL_H and gl_TIMESPEC instead.
91331         Require gl_CLOCK_TIME.
91332         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
91333
91334 2004-03-30  Paul Eggert  <eggert@twinsun.com>
91335
91336         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
91337         not bool, to be more consistent with Unix conventions.
91338         Suggested by Bruno Haible.
91339
91340         Merge from coreutils.
91341
91342         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
91343         * lib/umaxtostr.c: New files.
91344
91345         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
91346         the usual <time.h> dance.
91347         (get_date): Change signature to support fractional time stamps.
91348         All callers changed.
91349         * lib/getdate.y: Include "getdate.h" first, as we can now
91350         assume C89 and don't need to worry about 'const'.
91351         Similarly, include "unlocked-io.h" near start, not in middle.
91352         Include <limits.h>.
91353         (textint.value): Use long int rather than int.
91354         (textint.digits): Use size_t rather than int.
91355         (BILLION, LOG10_BILLION): New constants.
91356         (parser_control): New member rel_ns.  Members day_ordinal,
91357         time_zone, month, day, hour, minutes, rel_year, rel_month,
91358         rel_day, rel_hour, rel_minutes, rel_seconds
91359         are now long int, not int.  Member seconds is now struct timespec,
91360         not int.  New member timespec_seen.  Members dates_seen, days_seen,
91361         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
91362         not int.
91363         (%union.intval): Now long int, not int.
91364         New member timespec.
91365         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
91366         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
91367         (spec): Now is a timespec or an item list.
91368         (timespec, items): New nonterminals.
91369         (time, rel, relunit, number, get_date):
91370         Add support for fractional seconds.
91371         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
91372         (gmtime, localtime, mktime): Remove decls; not needed with C89.
91373         (to_hour): First arg is now long int, not int.
91374         (to_year): Returns long int, not int.
91375         Don't treat year -70 like 70.
91376         (tm_diff): Returns long int, not int.
91377         (lookup_word): Use bool instead of int when appropriate.
91378         (yylex): Use size_t for count, not int.
91379         Detect overflow when parsing large integer constants.
91380         Add support for fractions.
91381         (get_date): Make pointers 'const' if possible.
91382         Use more-portable code to detect integer overflow.
91383         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
91384         Don't use ctime; it's not reliable if the year has >4 digits.
91385
91386         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
91387         This is for compatibility with BSD.
91388
91389         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
91390         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
91391         From coreutils' system.h.
91392
91393         * lib/userspec.c: Don't include "posixver.h".
91394         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
91395         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
91396         compatible extension.  Simplify code by removing a boolean int
91397         that was always nonzero if a string was nonnull.
91398
91399 2004-03-30  Jim Meyering  <jim@meyering.net>
91400
91401         Merge from coreutils.
91402
91403         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
91404         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
91405         on some systems one must include <grp.h> before it.
91406         Reported by Christian Krackowizer.
91407
91408 2004-03-30  Jim Meyering  <jim@meyering.net>
91409
91410         Merge from coreutils.
91411
91412         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
91413
91414         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
91415         an empty input stream.
91416
91417         * lib/readtokens.c: Include <stdbool.h>.
91418         (readtoken): Use `size_t' rather than int/long.
91419         All callers adjusted.
91420         Use `bool' rather than `int' where appropriate.
91421         Use memset rather than an explicit loop.
91422         Use x2nrealloc rather than xrealloc.
91423         Allow the use of `\0' as a delimiter.
91424         (readtokens): Likewise.
91425         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
91426
91427 2004-03-30  Jim Meyering  <jim@meyering.net>
91428
91429         * m4/realloc.m4: Remove file, since now it does no more than
91430         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
91431         the `configure.ac' section of module/realloc.
91432         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
91433
91434 2004-03-30  Bruno Haible  <bruno@clisp.org>
91435
91436         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
91437         nonnull.
91438
91439 2004-03-29  Paul Eggert  <eggert@twinsun.com>
91440
91441         Merge changes to getloadavg.c from coreutils and Emacs.
91442
91443         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
91444         Define to an expression, not to the empty string.
91445         Include cloexec.h and xalloc.h.
91446         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
91447         Use set_cloexec_flag rather than rolling our own.
91448         * lib/cloexec.c, lib/cloexec.h: New files.
91449
91450 2004-03-29  Paul Eggert  <eggert@twinsun.com>
91451
91452         * m4/cloexec.m4: New file.
91453
91454 2004-03-18  Paul Eggert  <eggert@twinsun.com>
91455
91456         * lib/getopt.h: Sync with libc CVS.
91457
91458 2004-03-18  Paul Eggert  <eggert@twinsun.com>
91459             Bruno Haible  <bruno@clisp.org>
91460
91461         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
91462         mbswidth.
91463
91464 2004-03-18  Paul Eggert  <eggert@twinsun.com>
91465             Bruno Haible  <bruno@clisp.org>
91466
91467         * lib/mbswidth.h: Include <wchar.h> only if
91468         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
91469         <wchar.h>.
91470         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
91471
91472 2004-03-09  Paul Eggert  <eggert@twinsun.com>
91473
91474         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
91475         Sync with libc CVS.
91476         * lib/getopt_int.h: New file, also synced from libc.
91477
91478 2004-03-09  Paul Eggert  <eggert@twinsun.com>
91479
91480         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
91481         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
91482         Bring back getopt.c, getopt.h, getopt1.c.
91483
91484 2004-03-07  Paul Eggert  <eggert@twinsun.com>
91485
91486         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
91487         All uses changed.  Check for sa_sigaction member; this fixes
91488         a bug first reported by Jason Andrade in
91489         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
91490
91491 2004-03-07  Paul Eggert  <eggert@twinsun.com>
91492
91493         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
91494         '#if' expressions.  Unlike the code it replaces, it does not
91495         depend on (defined _SC_PAGESIZE).  However, it does depend on
91496         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
91497         first reported by Jason Andrade in
91498         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
91499
91500 2004-02-25  Simon Josefsson  <jas@extundo.com>
91501
91502         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
91503
91504 2004-02-25  Simon Josefsson  <jas@extundo.com>
91505
91506         * lib/strdup.h: New file.
91507         * lib/strdup.c: Include it.
91508         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
91509         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
91510
91511 2004-02-23  Karl Berry  <karl@gnu.org>
91512
91513         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
91514         (from fencepost.gnu.org:/gd/gnuorg).
91515
91516 2004-02-23  Karl Berry  <karl@gnu.org>
91517
91518         * config/srclistvars.sh (GNUORG) [karl]: redefine.
91519         * config/srclist.txt: add maintain/standards documents.
91520
91521 2004-02-18  Bruno Haible  <bruno@clisp.org>
91522
91523         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
91524         Reported by Derek Robert Price <derek@ximbiot.com>.
91525
91526 2004-02-16  Karl Berry  <karl@gnu.org>
91527
91528         * config/mkinstalldirs, install-sh: update from automake.
91529
91530 2004-02-06  Karl Berry  <karl@gnu.org>
91531
91532         * m4/po.m4: update from gettext 0.14.1.
91533
91534 2004-02-06  Karl Berry  <karl@gnu.org>
91535
91536         * lib/config.charset: update from gettext 0.14.1.
91537
91538 2004-02-05  Paul Eggert  <eggert@twinsun.com>
91539
91540         Add comments and code, prompted by suggestions from Bruno Haible
91541         for sh-quote.
91542         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
91543         describing the enum quoting_style values.
91544         * lib/quotearg.c (quotearg_alloc): New function.
91545         (quotearg_buffer_restyled): Treat lone { and } as special.
91546         Treat = as special.  Work around bug with older shells
91547         that "see" a '\' that is really the 2nd byte of a multibyte char.
91548         Quote empty string with shell_quoting_style.
91549
91550 2004-02-03  Bruno Haible  <bruno@clisp.org>
91551
91552         * m4/pipe.m4: New file, from GNU gettext.
91553
91554 2004-02-03  Bruno Haible  <bruno@clisp.org>
91555
91556         * lib/pipe.h: New file, from GNU gettext.
91557         * lib/pipe.c: New file, from GNU gettext.
91558
91559 2004-01-27  Bruno Haible  <bruno@clisp.org>
91560
91561         * m4/execute.m4: New file, from GNU gettext.
91562
91563 2004-01-27  Bruno Haible  <bruno@clisp.org>
91564
91565         * lib/execute.h: New file, from GNU gettext.
91566         * lib/execute.c: New file, from GNU gettext.
91567         * lib/w32spawn.h: New file, from GNU gettext.
91568
91569 2004-01-24  Paul Eggert  <eggert@twinsun.com>
91570
91571         Merge from diffutils.
91572
91573         * lib/file-type.c (file_type): Add typed memory objects.
91574         * lib/file-type.h (S_TYPEISTMO): New macro.
91575
91576         * lib/c-stack.h (c_stack_action): Remove argv argument.
91577         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
91578         (die): Don't calculate message unless segv_action returns.
91579         (get_stack_location, min_address_from_argv, max_address_from_argv,
91580         volatile stack_base, volatile_stack_size): Remove.
91581         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
91582         that every segmentation violation is a stack overflow.  (Ouch!)
91583         See Debian bug 136249 (still outstanding) for more info about why
91584         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
91585
91586 2004-01-24  Paul Eggert  <eggert@twinsun.com>
91587
91588         Exit-status fix from coreutils.
91589
91590         Use exit_failure consistently in place of EXIT_FAILURE,
91591         so that program exit statuses are consistent on failure.
91592
91593         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
91594         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
91595         * lib/argmatch.h: Comment fix to match the above.
91596         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
91597         Now a macro referring to exit_failure, instead of a separate
91598         variable.  Include "exitfail.h" to get it.
91599         * lib/xstrtol.h: Include "exitfail.h".
91600         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
91601
91602         * lib/long-options.c (parse_long_options): Use prototype
91603         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
91604         for clarity.
91605
91606 2004-01-21  Jim Meyering  <jim@meyering.net>
91607
91608         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
91609         so as not to conflict with a different-sized __mktime_internal
91610         function in GNU libc.
91611         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
91612         Problem building statically-linked `ls' reported by Michael Brunnbauer.
91613
91614 2004-01-20  Karl Berry  <karl@gnu.org>
91615
91616         * config/config.guess: update from config.
91617
91618         * config/srclistvars.sh: GNUWWWLICENSES for karl.
91619
91620 2004-01-20  Bruno Haible  <bruno@clisp.org>
91621
91622         Safer stack allocation.
91623         * lib/setenv.c: Include allocsa.h.
91624         (alloca): Remove fallback definition.
91625         (freea): Remove macro.
91626         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
91627         instead of freea.
91628
91629 2004-01-20  Bruno Haible  <bruno@clisp.org>
91630
91631         * m4/eealloc.m4: New file, from GNU gettext.
91632
91633 2004-01-20  Bruno Haible  <bruno@clisp.org>
91634
91635         * m4/allocsa.m4: New file, from GNU gettext.
91636
91637 2004-01-20  Bruno Haible  <bruno@clisp.org>
91638
91639         * lib/xallocsa.h: New file, from GNU gettext.
91640         * lib/xallocsa.c: New file, from GNU gettext.
91641
91642 2004-01-20  Bruno Haible  <bruno@clisp.org>
91643
91644         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
91645
91646 2004-01-20  Bruno Haible  <bruno@clisp.org>
91647
91648         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
91649         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
91650         specially.
91651
91652 2004-01-20  Bruno Haible  <bruno@clisp.org>
91653
91654         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
91655         patch.
91656
91657 2004-01-20  Bruno Haible  <bruno@clisp.org>
91658
91659         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
91660
91661 2004-01-20  Bruno Haible  <bruno@clisp.org>
91662
91663         * lib/eealloc.h: New file.
91664
91665 2004-01-20  Bruno Haible  <bruno@clisp.org>
91666
91667         * lib/binary-io.h: Avoid warnings on Cygwin.
91668
91669 2004-01-20  Bruno Haible  <bruno@clisp.org>
91670
91671         * lib/allocsa.h: New file, from GNU gettext.
91672         * lib/allocsa.c: New file, from GNU gettext.
91673
91674 2004-01-18  Karl Berry  <karl@gnu.org>
91675
91676         * doc/gpl.texi, doc/lgpl.texi: new files.
91677
91678 2004-01-18  Karl Berry  <karl@gnu.org>
91679
91680         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
91681         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
91682
91683 2004-01-15  Paul Eggert  <eggert@twinsun.com>
91684
91685         Merge from coreutils.
91686
91687         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
91688         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
91689         (gl_DEFAULT_POSIX2_VERSION): Move
91690         the documentation from 'configure' into 'config.hin',
91691         so that 'configure --help' isn't burdened by it and
91692         we don't have to worry about its formatting there.
91693         Reword the documentation so that it's more succinct
91694         and can be run together into a single paragraph.
91695         * m4/same.m4 (gl_SAME): Check for pathconf.
91696
91697 2004-01-15  Paul Eggert  <eggert@twinsun.com>
91698
91699         Merge from coreutils.
91700
91701         * lib/posixver.c: Include posixver.h.
91702
91703         * lib/same.c: Include <stdbool.h>, <limits.h>.
91704         (_POSIX_NAME_MAX): Define if not defined.
91705         (MIN): New macro.
91706         (same_name): If file names are silently truncated, report
91707         that the file names are the same if they are the same after
91708         the silent truncation.
91709
91710         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
91711         conversion function.
91712         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
91713         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
91714         longer needed.
91715
91716 2004-01-15  Jim Meyering  <jim@meyering.net>
91717
91718         Merge from coreutils.
91719
91720         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
91721         if no library is required.
91722         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
91723         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
91724         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
91725         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
91726         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
91727         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
91728         value, $ac_cv_search_crypt, if it's "none required".
91729         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
91730         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
91731         not gl_FUNC_GETLOADAVG.
91732         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
91733         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
91734
91735 2004-01-15  Jim Meyering  <jim@meyering.net>
91736
91737         Merge from coreutils.
91738
91739         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
91740         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
91741         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
91742
91743         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
91744         optional configure-time default.
91745
91746         * lib/version-etc.c (version_etc_copyright): Update copyright date.
91747
91748         * lib/xreadlink.c (xreadlink): Correct outdated comment.
91749
91750 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
91751
91752         Merge from coreutils.
91753
91754         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
91755         value, $ac_cv_search_nanosleep, if it's "none required".
91756
91757 2004-01-14  Paul Eggert  <eggert@twinsun.com>
91758
91759         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
91760         with like-named macro in fnmatch.c.
91761         (EXT): Use an internal constant instead.
91762
91763         Merge fnmatch patches from glibc.
91764         * lib/fnmatch.c (mbsinit): Remove define.
91765         Add libc_hidden_ver (__fnmatch, fnmatch).
91766         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
91767         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
91768
91769 2004-01-14  Karl Berry  <karl@gnu.org>
91770
91771         * config/install-sh: update from automake.
91772
91773 2004-01-13  Karl Berry  <karl@gnu.org>
91774
91775         * config/install-sh: update from automake.
91776
91777 2004-01-09  Karl Berry  <karl@gnu.org>
91778
91779         * config/install-sh: update from automake.
91780
91781 2004-01-05  Karl Berry  <karl@gnu.org>
91782
91783         * config/config.{sub,guess}: update from config.
91784
91785 2003-12-31  Karl Berry  <karl@gnu.org>
91786
91787         * config/depcomp: update from automake.
91788
91789 2003-12-14  Karl Berry  <karl@gnu.org>
91790
91791         * lib/config.charset: update from gettext-runtime.
91792
91793 2003-12-03  Paul Eggert  <eggert@twinsun.com>
91794
91795         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
91796         Bug reported by Alfred M. Szmidt.
91797
91798 2003-12-03  Bruno Haible  <bruno@clisp.org>
91799
91800         * m4/gettext.m4: Upgrade from gettext-0.13.
91801         * m4/po.m4: Upgrade from gettext-0.13.
91802         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
91803         * m4/intmax.m4: New file, from gettext-0.13.
91804         * m4/printf-posix.m4: New file, from gettext-0.13.
91805
91806 2003-11-29  Karl Berry  <karl@gnu.org>
91807
91808         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
91809
91810 2003-11-25  Paul Eggert  <eggert@twinsun.com>
91811             Bruno Haible  <bruno@clisp.org>
91812
91813         * lib/printf-parse.h: Don't include sys/types.h.
91814         (ARG_NONE): New macro.
91815         (char_directive): Change type of *arg_index fields to size_t.
91816         * lib/printf-parse.c: Don't include sys/types.h.
91817         (SSIZE_MAX): Remove macro.
91818         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
91819         Remove unnecessary overflow check.
91820         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
91821         fields.
91822
91823 2003-11-25  Bruno Haible  <bruno@clisp.org>
91824
91825         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
91826
91827 2003-11-25  Bruno Haible  <bruno@clisp.org>
91828
91829         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
91830         gt_TYPE_SSIZE_T.
91831
91832 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91833
91834         * modules/alloca: Remove dependency on xalloc.
91835
91836 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91837
91838         * lib/alloca.c: Remove dependency on xalloc module.
91839         (xalloc_die): Remove.
91840         (memory_full) [!defined emacs]: New macro.
91841         [!defined emacs]: Don't include xalloc.h.
91842         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
91843         address arithmetic overflows.  Change datatypes a bit to avoid
91844         unnecessary casts.
91845
91846 2003-11-22  Jim Meyering  <jim@meyering.net>
91847
91848         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
91849         s/size/size_t/.
91850
91851 2003-11-21  Karl Berry  <karl@gnu.org>
91852
91853         * config/config.{sub,guess}: update from config.
91854
91855 2003-11-18  Karl Berry  <karl@gnu.org>
91856
91857         * config/config.{sub,guess}: update from config.
91858
91859         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
91860
91861 2003-11-17  Paul Eggert  <eggert@twinsun.com>
91862
91863         * README: Mention that S+T cannot overflow if S is the size of
91864         an existing object and T is sufficiently small.
91865
91866 2003-11-17  Jim Meyering  <jim@meyering.net>
91867
91868         On systems without utime and without a utimes function capable of
91869         dealing with a NULL struct utimbuf* argument, this utime replacement
91870         could -- in unusual circumstances -- leak a file descriptor.
91871         * lib/utime.c: Include <unistd.h> and <errno.h>.
91872         (utime_null): Be sure to close `fd' and to preserve errno.
91873         Reported by Geoff Collyer via Arnold Robbins.
91874
91875 2003-11-17  Bruno Haible  <bruno@clisp.org>
91876
91877         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
91878         (Depends-on): Add xsize.
91879
91880 2003-11-17  Bruno Haible  <bruno@clisp.org>
91881
91882         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
91883
91884 2003-11-17  Bruno Haible  <bruno@clisp.org>
91885
91886         * lib/vasnprintf.c (alloca): Remove fallback definition.
91887         (freea): Remove definition.
91888         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
91889         Reported by Paul Eggert.
91890
91891 2003-11-16  Paul Eggert  <eggert@twinsun.com>
91892             Bruno Haible  <bruno@clisp.org>
91893
91894         Protect against address arithmetic overflow.
91895         * lib/printf-args.h: Include stddef.h.
91896         (arguments): Change type of field 'count' to size_t.
91897         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
91898         'unsigned int' where appropriate.
91899         * lib/printf-parse.h: Include sys/types.h.
91900         (char_directive): Change type of *arg_index fields to ssize_t.
91901         (char_directives): Change type of fields 'count', max_*_length to
91902         size_t.
91903         * lib/printf-parse.c: Include sys/types.h and xsize.h.
91904         (SSIZE_MAX): Define fallback value.
91905         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
91906         instead of 'int' where appropriate. Check a_allocated, d_allocated
91907         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
91908         * lib/vasnprintf.c: Include xsize.h.
91909         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
91910         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
91911         overflow. Avoid wraparound when converting a width or precision from
91912         decimal to binary.
91913
91914 2003-11-16  Bruno Haible  <bruno@clisp.org>
91915
91916         Update from GNU gettext.
91917         * lib/printf-parse.c: Generalize to it can be compiled for wide
91918         strings.
91919         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
91920         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
91921         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
91922         SNPRINTF): New macros.
91923         Don't include <alloca.h> if the file is used inside libintl.
91924         (local_wcslen): New function, for Solaris 2.5.1.
91925         (VASNPRINTF): Use it instead of wcslen.
91926
91927 2003-11-16  Bruno Haible  <bruno@clisp.org>
91928
91929         * lib/xsize.h (xmax): New function.
91930         (xsum, xsum3, xsum4): Declare as "pure" functions.
91931
91932 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91933
91934         * modules/xalloc (Files): Undo latest change, since xalloc.h
91935         no longer needs SIZE_MAX or PTRDIFF_MAX.
91936
91937 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91938
91939         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
91940         gl_PTRDIFF_MAX.
91941
91942 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91943
91944         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
91945         "return", to pacify some unknown compiler.  Problem reported
91946         by Joerg Schilling.
91947
91948 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91949
91950         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
91951         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
91952         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
91953         heuristic is just as accurate as far as we know, and it removes a
91954         dependency on size_max.m4 and ptrdiff_max.m4.
91955
91956 2003-11-11  Bruno Haible  <bruno@clisp.org>
91957
91958         * modules/xsize (Files): Add m4/size_max.m4.
91959         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
91960
91961 2003-11-11  Bruno Haible  <bruno@clisp.org>
91962
91963         * m4/size_max.m4: New file.
91964         * m4/ptrdiff_max.m4: New file.
91965         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
91966         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
91967         (gl_XALLOC): Invoke it.
91968
91969 2003-11-11  Bruno Haible  <bruno@clisp.org>
91970
91971         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
91972         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
91973         defined.
91974
91975 2003-11-10  Paul Eggert  <eggert@twinsun.com>
91976
91977         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
91978         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
91979         rejected some allocations of exactly SIZE_MAX - 2 bytes.
91980         From Bruno Haible.
91981         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
91982         not (size_t) -1, since it's defined here.
91983
91984 2003-11-09  Karl Berry  <karl@gnu.org>
91985
91986         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
91987
91988 2003-11-06  Paul Eggert  <eggert@twinsun.com>
91989
91990         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
91991         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
91992         Reject sizes of exactly SIZE_MAX bytes.
91993         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
91994         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
91995
91996 2003-11-05  Bruno Haible  <bruno@clisp.org>
91997
91998         * lib/xsize.h: Include limits.h, to avoid a possible collision with
91999         SIZE_MAX defined in <limits.h> on Solaris.
92000
92001 2003-11-04  Jim Meyering  <jim@meyering.net>
92002
92003         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
92004         variable names, rather than @VAR@.
92005         * modules/poll: Likewise.
92006
92007 2003-11-04  Bruno Haible  <bruno@clisp.org>
92008
92009         * modules/xsize: New file.
92010         * modules/linebreak: Depend on xsize.
92011         * MODULES.html.sh (func_all_modules): Add xsize.
92012
92013 2003-11-04  Bruno Haible  <bruno@clisp.org>
92014
92015         * m4/xsize.m4: New file.
92016
92017 2003-11-04  Bruno Haible  <bruno@clisp.org>
92018
92019         * lib/xsize.h: New file.
92020         * lib/linebreak.c: Include xsize.h.
92021         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
92022         argument for overflow.
92023         Suggested by Paul Eggert.
92024
92025 2003-11-03  Karl Berry  <karl@gnu.org>
92026
92027         * config/config.{guess,sub}: update from config.
92028
92029 2003-11-03  Jim Meyering  <jim@meyering.net>
92030
92031         * modules/userspec (lib_SOURCES): Add userspec.h.
92032         (Include): Add "userspec.h".
92033         Improve description.
92034
92035 2003-11-03  Jim Meyering  <jim@meyering.net>
92036
92037         * lib/userspec.c: Include "userspec.h".
92038         * lib/userspec.h: New file.
92039
92040 2003-11-03  Bruno Haible  <bruno@clisp.org>
92041
92042         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
92043
92044 2003-11-03  Bruno Haible  <bruno@clisp.org>
92045
92046         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
92047         available, to avoid (extremely rare) race condition.
92048         Suggested by Paul Eggert.
92049
92050 2003-11-02  Karl Berry  <karl@gnu.org>
92051
92052         * config/srclist.txt (vasprintf.c): sync broken, sigh.
92053
92054 2003-10-31  Paul Eggert  <eggert@twinsun.com>
92055
92056         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
92057         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
92058         (read_filesystem_list): Set and use me_type_malloced.
92059         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
92060         whatever the type happens to be), for brevity and consistency.
92061         Check for size calculation overflow on Alphas running OSF/1.
92062
92063 2003-10-31  Jim Meyering  <jim@meyering.net>
92064
92065         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
92066
92067         * lib/linebuffer.c: Include <string.h> for declaration of memset.
92068
92069 2003-10-30  Paul Eggert  <eggert@twinsun.com>
92070             Bruno Haible  <bruno@clisp.org>
92071
92072         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
92073         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
92074
92075 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
92076
92077         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
92078         netbsd*-gnu*.  Suggested by Robert Millan.
92079
92080 2003-10-29  Paul Eggert  <eggert@twinsun.com>
92081
92082         * modules/group-member: Depend on stdbool.
92083
92084 2003-10-29  Paul Eggert  <eggert@twinsun.com>
92085
92086         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
92087
92088 2003-10-29  Paul Eggert  <eggert@twinsun.com>
92089
92090         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
92091         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
92092         after the 'gnu' in these cases.  This fixes some bugs in the
92093         previous change, and is based on suggestions by Robert Millan.
92094
92095 2003-10-29  Paul Eggert  <eggert@twinsun.com>
92096
92097         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
92098         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
92099         no longer needed.
92100         * lib/quotearg.c (quotearg_n_options): Use it.
92101         * lib/group-member.c: Include <stdbool.h>.
92102         (free_group_info): Arg is now const *; don't free arg.
92103         (get_group_info): Now returns bool and accepts struct group_info *,
92104         rather than returning a malloc'ed struct group_info *.
92105         All uses changed.  Check for overflow in internal size calculation.
92106
92107         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
92108         rather than xmalloc/xrealloc.
92109         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
92110         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
92111         conformance bug: the old code used a pointer after freeing the
92112         storage that it addressed.
92113         * lib/hash.c (hash_initialize): Simplify the code by using
92114         xalloc_oversized rather than doing it by hand.
92115         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
92116         the buffer preserved.  Use free and xmalloc instead.
92117         * lib/quotearg.c (quotearg_n_options): Likewise.
92118         Use a simpler test for size overflow.  Don't use xalloc_oversized
92119         because unsigned int might be wider than size_t (!); this suggests
92120         that we should switch from unsigned int to size_t for slot numbers.
92121
92122 2003-10-28  Paul Eggert  <eggert@twinsun.com>
92123
92124         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
92125         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
92126         NetBSD kernels.  Requested by Richard Stallman.
92127
92128 2003-10-27  Paul Eggert  <eggert@twinsun.com>
92129
92130         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
92131         to allocate the returned structure.  Do not allocate a subarray,
92132         as x2nrealloc will do that.
92133         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
92134         instead of xnrealloc.
92135         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
92136
92137 2003-10-27  Bruno Haible  <bruno@clisp.org>
92138
92139         * lib/stdbool_.h: Better support for BeOS.
92140
92141 2003-10-26  Paul Eggert  <eggert@twinsun.com>
92142
92143         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
92144         now uses inline.
92145
92146 2003-10-26  Paul Eggert  <eggert@twinsun.com>
92147
92148         * lib/xalloc.h (xalloc_oversized): New static inline function, for
92149         callers that want to do their own size-overflow checking.  Include
92150         <stdbool.h>, since xalloc_oversized returns bool.
92151         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
92152         to use xalloc_oversized.
92153
92154         Add two functions x2realloc, x2nrealloc, for programs that grow
92155         arrays dynamically by doubling their sizes.
92156         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
92157         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
92158         New functions.
92159
92160         Port to C99 semantics for 'inline' of external functions.
92161         Bug reported by Bruno Haible.
92162         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
92163         with the old contents of xnmalloc.
92164         (xnmalloc, xmalloc): Use it.
92165         (xnrealloc_inline): New static inline function,
92166         with the old contents of xnrealloc.
92167         (xnrealloc, xrealloc): Use it.
92168
92169         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
92170         that.
92171
92172 2003-10-26  Karl Berry  <karl@gnu.org>
92173
92174         * config/srclist.txt (COPYING.DOC): no longer available from
92175         /gd/gnuorg; don't know where the ultimate source is.
92176
92177 2003-10-25  Paul Eggert  <eggert@twinsun.com>
92178
92179         Fix several address-calculation bugs in the hash modules,
92180         plus some minor code cleanup.
92181
92182         * lib/hash.h: Include <stdbool.h>, for bool.
92183         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
92184         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
92185         hash_get_n_entries, hash_get_max_bucket_length,
92186         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
92187         hash_rehash): Use size_t rather than unsigned.
92188         * lib/hash.c (struct hash_table, hash_get_n_buckets,
92189         hash_get_n_buckets_used, hash_get_n_entries,
92190         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
92191         hash_get_entries, hash_do_for_each, hash_string, is_prime,
92192         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
92193         Likewise.
92194         (SIZE_MAX): Define if not defined.
92195         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
92196         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
92197         hash_print):
92198         Use const * when possible.
92199         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
92200         (check_tuning): Fix bug: if tuning parameters were very close to
92201         0 or 1, rounding errors could have caused subscript violations.
92202         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
92203         (hash_initialize): Add 'fail:' label
92204         to free table and return NULL, and use it to simplify code.
92205         Use calloc rather than clearing the storage ourself.
92206         (hash_initialize, hash_rehash): Check for arithmetic overflow in
92207         buffer size calculations.
92208         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
92209         Include <stddef.h>, for size_t.
92210         * lib/hash-pjw.c (hash_pjw): Likewise.
92211         Switch to method described by Bruno Haible.
92212         Include <limits.h>, for CHAR_BIT.
92213         (SIZE_BITS): New macro.
92214
92215 2003-10-23  Paul Eggert  <eggert@twinsun.com>
92216
92217         * m4/getline.m4 (AM_FUNC_GETLINE):
92218         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
92219         hosts.  Problem reported by Derek Robert Price in
92220         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
92221         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
92222         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
92223
92224 2003-10-21  Paul Eggert  <eggert@twinsun.com>
92225
92226         * lib/getndelim2.c (getndelim2): When size calculation overflows,
92227         ceiling the allocation at NMAX bytes rather than silently
92228         discarding input bytes before NMAX is reached.  This makes
92229         a difference only if NMAX exceeds SIZE_MAX / 2.
92230
92231         * lib/obstack.c: Merge from glibc.
92232         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
92233         Add libc_hidden_def (_obstack_newchunk).
92234         (_obstack_free) [! defined _LIBC]: Remove.
92235         [defined _LIBC]: Make a strong alias from obstack_free, rather than
92236         a clone of the function body.
92237         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
92238         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
92239
92240         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
92241         glibc.
92242         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
92243         arg to memcpy.
92244
92245         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
92246         (obstack_ptr_grow_fast, obstack_int_grow_fast):
92247         Don't use lvalue casts, as GCC plans to remove support for them
92248         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
92249         was also present in the non-GCC version, indicating that this
92250         code had always been buggy and had never been widely used.
92251         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
92252         Use the fast variant of each macro, rather than copying the
92253         definiens of the fast variant; that way, we'll be more likely to
92254         catch future bugs in the fast variants.
92255
92256 2003-10-20  Bruno Haible  <bruno@clisp.org>
92257
92258         * modules/wait-process: New file.
92259         * MODULES.html.sh (func_all_modules): Add wait-process.
92260
92261 2003-10-20  Bruno Haible  <bruno@clisp.org>
92262
92263         * m4/wait-process.m4: New file.
92264
92265 2003-10-20  Bruno Haible  <bruno@clisp.org>
92266
92267         * lib/wait-process.h: New file, from GNU gettext.
92268         * lib/wait-process.c: New file, from GNU gettext.
92269
92270 2003-10-19  Jim Meyering  <jim@meyering.net>
92271
92272         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
92273         HPUX 10.20.
92274
92275 2003-10-18  Karl Berry  <karl@gnu.org>
92276
92277         * config/config.guess: update from config.
92278
92279 2003-10-16  Paul Eggert  <eggert@twinsun.com>
92280
92281         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
92282         (getgroups): First arg is int, not size_t.
92283         Don't let 'free' mangle errno.
92284
92285 2003-10-16  Paul Eggert  <eggert@twinsun.com>
92286
92287         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
92288
92289 2003-10-16  Karl Berry  <karl@gnu.org>
92290
92291         * config/config.{guess,sub}: update from config.
92292
92293 2003-10-16  Jim Meyering  <jim@meyering.net>
92294
92295         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
92296         memcpy.
92297
92298 2003-10-15  Paul Eggert  <eggert@twinsun.com>
92299
92300         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
92301         (SIZE_MAX): Remove.
92302         (new_exclude, add_exclude_file): Initial size no longer needs to
92303         be a power of 2.
92304         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
92305         our own address arithmetic overflow checking.
92306
92307         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
92308         (fnmatch): Do not alloca more than 2000 wide characters;
92309         instead, use malloc for large buffers.
92310         Check for address arithmetic overflow, and return -1
92311         with errno set to ENOMEM in that case.
92312         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
92313         (NEW_PATTERN): Do not alloca more than 8000 bytes;
92314         instead, return -1.  Check for address arithmetic overflow.
92315
92316 2003-10-14  Paul Eggert  <eggert@twinsun.com>
92317
92318         Handle invalid suffixes and overflow independently, so that
92319         callers can treat them independently as needed.  Fix some bugs in
92320         suffix handling, e.g., "100k@" was not diagnosed as an invalid
92321         suffix for a human-readable blocksize.  The major caller-visible
92322         change is the addition of a new
92323         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
92324         that both overflow and suffix chars were found.
92325
92326         * lib/human.c (humblock): Don't check separately for invalid suffix
92327         char; that is xstrtoumax's job (now that its bug is fixed).
92328         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
92329         INTMAX_MAX]: New macros.
92330         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
92331         TYPE_MAXIMUM): New macros.
92332         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
92333         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
92334         if overflow occurs, as it's what __strtol does and it's more useful
92335         in practice.
92336         (__xstrtol): If __strtol reports some error other than ERANGE,
92337         reflect it to the caller as LONGINT_INVALID.  If it reports
92338         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
92339         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
92340         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
92341         value.
92342         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
92343         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
92344         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
92345         [defined UINTMAX_MAX]: New macros.
92346
92347 2003-10-14  Bruno Haible  <bruno@clisp.org>
92348
92349         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
92350
92351 2003-10-14  Bruno Haible  <bruno@clisp.org>
92352
92353         * m4/sig_atomic_t: New file, from GNU gettext.
92354         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
92355
92356 2003-10-14  Bruno Haible  <bruno@clisp.org>
92357
92358         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
92359         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
92360         Also use volatile where needed.
92361
92362 2003-10-12  Paul Eggert  <eggert@twinsun.com>
92363
92364         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
92365         Change maintainer from Bruno Haible to 'all'.
92366
92367 2003-10-12  Paul Eggert  <eggert@twinsun.com>
92368
92369         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
92370
92371 2003-10-12  Paul Eggert  <eggert@twinsun.com>
92372
92373         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
92374         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
92375         and define in terms of the other primitives.
92376         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
92377         (SIZE_MAX): Define if not already defined.
92378         (array_size_overflow): New function.
92379         (xalloc_die): Abort instead of exiting if 'error' returns.
92380         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
92381         (xmalloc, xrealloc): Use them.
92382         (xcalloc): Check for address arithmetic overflow.
92383         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
92384         a bit faster than strcpy.
92385
92386 2003-10-10  Simon Josefsson  <jas@extundo.com>
92387
92388         * modules/argp (Depends-on): Add restrict and strcase.
92389
92390 2003-10-10  Simon Josefsson  <jas@extundo.com>
92391
92392         * m4/argp.m4: Add AC_C_INLINE.
92393
92394 2003-10-08  Paul Eggert  <eggert@twinsun.com>
92395
92396         Merge getpass from libc, plus a few fixes.
92397
92398         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
92399         Include <stdbool.h>.
92400         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
92401         __fsetlocking to empty.
92402         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
92403         do include <bits/libc-lock.h>.
92404         Do not include <fcntl.h>; not needed.
92405         [_LIBC]: Include <wchar.h>.
92406         (NOTCANCEL_MODE): New macro.
92407         (flockfile, funlockfile) [_LIBC]: New macros.
92408         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
92409         [!_LIBC]: New macros.
92410         (call_fclose): New function.
92411         (getpass): Use it.  Save tty stream separately; this simplifies the
92412         code and makes it more reliable if stdin happens to equal stdout.
92413         Invoke __fsetlocking on tty.
92414         Handle thread cancellation if needed.
92415         Namespace cleanup (use __tcgetattr, __getline).
92416         Use bool for Booleans.
92417         [USE_IN_LIBIO]: Handle wide streams.
92418         [!_LIBC]: Unconditionally do the fseek, since we don't know what
92419         stream might go where.
92420
92421         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
92422         doesn't have to include <stdio.h> before us.
92423         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
92424         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
92425         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
92426         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
92427         if not declared, so that we can use getpass.c code from libc without
92428         rewriting it.
92429         (flockfile, ftrylockfile, funlockfile): New macros.
92430
92431 2003-10-08  Paul Eggert  <eggert@twinsun.com>
92432
92433         * modules/getpass: Depend on stdbool.
92434
92435 2003-10-08  Paul Eggert  <eggert@twinsun.com>
92436
92437         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
92438
92439 2003-10-07  Karl Berry  <karl@gnu.org>
92440
92441         * config/config.{guess,sub}: update from config.
92442
92443 2003-10-06  Jim Meyering  <jim@meyering.net>
92444             Bruno Haible  <bruno@clisp.org>
92445
92446         This lets translators provide better translations for the
92447         "Written by ..." part of --version output.
92448         * lib/version-etc.h: Include stdarg.h.
92449         (version_etc_copyright): Declare as readonly.
92450         (version_etc): Make this function variadic with a NULL-terminated list
92451         of author name strings.
92452         (version_etc_va): New declaration.
92453         * lib/version-etc.c: Include stdarg.h, stdlib.h.
92454         (version_etc_copyright): Declare as readonly.
92455         (version_etc_va): New function. Provide a different translatable string
92456         for each possible number of authors < 10. Abbreviate when there are 10
92457         authors or more.
92458         (version_etc): Make this function variadic. Call version_etc_va.
92459         Suggestion from Gary V. Vaughan.
92460
92461         * lib/long-options.h (parse_long_options): Change prototype: the
92462         authors string is moved to the end and becomes variadic.
92463         * lib/long-options.c: Include stdarg.h.
92464         (parse_long_options): Make this function variadic, too.
92465         Call version_etc_va, not version_etc.
92466
92467 2003-10-06  Bruno Haible  <bruno@clisp.org>
92468
92469         * modules/version-etc-2: Remove file.
92470         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
92471
92472 2003-10-06  Bruno Haible  <bruno@clisp.org>
92473
92474         * modules/fatal-signal: New file.
92475         * MODULES.html.sh (func_all_modules): Add fatal-signal.
92476
92477 2003-10-06  Bruno Haible  <bruno@clisp.org>
92478
92479         * m4/fatal-signal.m4: New file.
92480         * m4/signalblocking.m4: New file, from GNU gettext.
92481
92482 2003-10-06  Bruno Haible  <bruno@clisp.org>
92483
92484         * lib/version-etc-2.h: Remove file.
92485         * lib/version-etc-2.c: Remove file.
92486
92487 2003-10-06  Bruno Haible  <bruno@clisp.org>
92488
92489         * lib/fatal-signal.h: New file, from GNU gettext.
92490         * lib/fatal-signal.c: New file, from GNU gettext.
92491
92492 2003-10-05  Paul Eggert  <eggert@twinsun.com>
92493
92494         * README: Rework advice for preventing empty .o files.
92495         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
92496         not <sys/types.h>.
92497
92498 2003-10-04  Karl Berry  <karl@gnu.org>
92499
92500         * lib/argp*: update from libc.
92501
92502 2003-10-04  Karl Berry  <karl@gnu.org>
92503
92504         * config/config.{guess,sub}: update from config.
92505
92506 2003-10-02  Bruno Haible  <bruno@clisp.org>
92507
92508         * modules/lchown (Include): Add lchown.h.
92509         * modules/time_r (Include): Use "..." syntax.
92510         * modules/xgetdomainname (Include): Add xgetdomainname.h.
92511
92512 2003-10-01  Simon Josefsson  <jas@extundo.com>
92513
92514         * MODULES.html.sh (func_all_modules): Move gethostname from section
92515         'based on' to section 'lacking' POSIX:2001.
92516
92517 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
92518
92519         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
92520         to output mode on the same stream.
92521
92522 2003-09-29  Paul Eggert  <eggert@twinsun.com>
92523
92524         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
92525         Fix arg typo in previous patch.
92526
92527 2003-09-28  Jim Meyering  <jim@meyering.net>
92528
92529         * lib/error.c: Correct cpp indentation.
92530
92531 2003-09-27  Paul Eggert  <eggert@twinsun.com>
92532
92533         * modules/free: New file.
92534
92535 2003-09-27  Paul Eggert  <eggert@twinsun.com>
92536
92537         * m4/free.m4: New file.
92538
92539 2003-09-27  Paul Eggert  <eggert@twinsun.com>
92540
92541         * lib/minmax.h (MIN, MAX)
92542         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
92543         Omit the special code that used __typeof__, since we worry that
92544         it could be more trouble than it's worth.  See:
92545         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
92546         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
92547
92548         * lib/free.c: New file.
92549
92550 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
92551
92552         Trivial fixes to Makefile.am parts of module listings.
92553         * modules/strstr: Append strstr.h to lib_SOURCES.
92554         * modules/strcase: Likewise, for strcase.h.
92555
92556 2003-09-27  Karl Berry  <karl@gnu.org>
92557
92558         * config/mkinstalldirs: update from automake.
92559
92560 2003-09-26  Paul Eggert  <eggert@twinsun.com>
92561
92562         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
92563         (error_tail): Do not loop, reallocating temporary buffer, since
92564         the output cannot contain more wide characters than the input
92565         contains bytes, the size must be big enough already.  This avoids
92566         one potential size overflow calculation.  Check for size overflow
92567         when calculating temporary buffer size.  Free temporary buffer
92568         when done, if it was allocated with malloc; this plugs a memory
92569         leak.  Remove casts from void * to pointers, that are no longer
92570         needed now that we're assuming C89 or better.
92571
92572         Merge error changes from glibc.
92573
92574         * lib/error.c, error.h: Update copyright notice header to match glibc.
92575         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
92576         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
92577         Disable cancellation while printing error.
92578         * lib/error.h: Prepend __ to parameter names.
92579
92580 2003-09-26  Jim Meyering  <jim@meyering.net>
92581
92582         * lib/error.c (error_tail): Move some declarations
92583         into inner scope where the local variables are used.
92584
92585 2003-09-26  Bruno Haible  <bruno@clisp.org>
92586
92587         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
92588         stpncpy().
92589         Don't define stpncpy through config.h; it's now done through stpncpy.h.
92590
92591 2003-09-26  Bruno Haible  <bruno@clisp.org>
92592
92593         * lib/stpncpy.h (gnu_stpncpy): New declaration.
92594         (stpncpy): Define as alias for gnu_stpncpy.
92595         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
92596
92597 2003-09-25  Simon Josefsson  <jas@extundo.com>
92598
92599         * lib/xgetdomainname.h: New file.
92600         * lib/xgetdomainname.c: New file.
92601
92602 2003-09-25  Simon Josefsson  <jas@extundo.com>
92603             Bruno Haible  <bruno@clisp.org>
92604
92605         * modules/getdomainname: New file.
92606         * modules/xgetdomainname: New file.
92607         * MODULES.html.sh (func_all_modules): Add getdomainname,
92608         xgetdomainname.
92609
92610 2003-09-25  Simon Josefsson  <jas@extundo.com>
92611             Bruno Haible  <bruno@clisp.org>
92612
92613         * m4/getdomainname.m4: New file.
92614
92615 2003-09-25  Simon Josefsson  <jas@extundo.com>
92616             Bruno Haible  <bruno@clisp.org>
92617
92618         * lib/getdomainname.h: New file.
92619         * lib/getdomainname.c: New file.
92620
92621 2003-09-25  Karl Berry  <karl@gnu.org>
92622
92623         * lib/argp-fmtstream.c, argp-help.c: update from libc.
92624
92625 2003-09-25  Karl Berry  <karl@gnu.org>
92626
92627         * config/install-sh: update from automake.
92628
92629 2003-09-25  Bruno Haible  <bruno@clisp.org>
92630
92631         * modules/version-etc-2: New file, from modules/version-etc with
92632         modifications.
92633         * MODULES.html.sh (func_all_modules): Add version-etc-2.
92634
92635 2003-09-25  Bruno Haible  <bruno@clisp.org>
92636
92637         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
92638         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
92639
92640 2003-09-24  Simon Josefsson  <jas@extundo.com>
92641
92642         * modules/xgethostname: Add xgethostname.h.
92643
92644 2003-09-24  Paul Eggert  <eggert@twinsun.com>
92645
92646         * lib/linebuffer.c (freebuffer): Don't free the argument, just
92647         the buffer associated with the argument.  Bug reported by
92648         Simon Josefsson.
92649
92650 2003-09-24  Paul Eggert  <eggert@twinsun.com>
92651
92652         * README: Document assumptions that 'int' is at least 32 bits
92653         wide, that integer arithmetic is 2's complement without overflow,
92654         that there are no holes in integer values, that adding sizes of
92655         two nonoverlapping objects can't overflow, and that all-bits-zero
92656         yields scalar zero.  Fix spelling and capitalization typos.
92657
92658 2003-09-19  Karl Berry  <karl@gnu.org>
92659
92660         * lib/argp.h: update from libc.
92661
92662 2003-09-17  Paul Eggert  <eggert@twinsun.com>
92663
92664         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
92665         to avoid spurious warnings like "AC_RUN_IFELSE was called before
92666         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
92667
92668 2003-09-17  Paul Eggert  <eggert@twinsun.com>
92669
92670         * gnulib-tool: Use "test -h", not "test -L", for portability
92671         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
92672         (tags_regexp): Remove, since \| doesn't conform to POSIX.
92673         (sed_extract_prog): Issue s commands one-by-one, rather than
92674         using \| in one s command.
92675
92676 2003-09-16  Paul Eggert  <eggert@twinsun.com>
92677
92678         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
92679         input error, instead of returning NULL the next time we are called
92680         (and therefore losing track of errno).
92681
92682 2003-09-16  Bruno Haible  <bruno@clisp.org>
92683
92684         * gnulib-tool (func_create_testdir): Warn about duplicated
92685         dependencies.
92686
92687 2003-09-15  Paul Eggert  <eggert@twinsun.com>
92688
92689         * modules/argmatch, modules/fatal, modules/obstack,
92690         modules/xalloc, modules/xgethostname: Sort dependencies by
92691         importance, not alphabetically.
92692
92693 2003-09-15  Paul Eggert  <eggert@twinsun.com>
92694
92695         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
92696         fails, so that the caller gets the proper errno.
92697
92698         * lib/readutmp.c (read_utmp): Likewise.
92699         Check for fstat error.  Close stream and free storage
92700         when failing.
92701
92702 2003-09-14  Karl Berry  <karl@gnu.org>
92703
92704         * config/srclist.txt (strdup.c): disable for c89 changes.
92705
92706 2003-09-14  Jim Meyering  <jim@meyering.net>
92707
92708         * lib/getloadavg.c: Correct cpp indentation.
92709         * lib/strdup.c: Likewise.
92710         * lib/vasnprintf.c: Likewise.
92711
92712 2003-09-14  Bruno Haible  <bruno@clisp.org>
92713
92714         * modules/fwriteerror: New file.
92715         * MODULES.html.sh (func_all_modules): Add fwriteerror.
92716
92717 2003-09-14  Bruno Haible  <bruno@clisp.org>
92718
92719         * lib/fwriteerror.h: New file.
92720         * lib/fwriteerror.c: New file.
92721
92722 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92723
92724         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
92725         modules/xgethostname, modules/xalloc: Depend on exit.
92726
92727 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92728
92729         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
92730
92731         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
92732         and AC_MINIX, too, so that their extensions are available.
92733
92734         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
92735         This macro has been superseded by gl_BACKUPFILE.
92736
92737         More patches to assume C89 or better.
92738
92739         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
92740
92741         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
92742         unconditionally.
92743         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
92744         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
92745         Include <string.h>, <stdlib.h> unconditionally.
92746         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
92747         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
92748         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
92749         headers or for string.h.
92750         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
92751         or strtoul.
92752
92753         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
92754         headers.
92755         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
92756         * m4/userspec.m4 (gl_USERSPEC): Likewise.
92757         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
92758         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
92759         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
92760         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
92761         memcpy, memset.
92762         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
92763         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
92764         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
92765         strtol.
92766         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
92767         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
92768         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
92769         strtoul.
92770
92771 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92772
92773         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
92774         * lib/obstack.c [!defined _LIBC]: Likewise.
92775         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
92776         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
92777         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
92778
92779         More changes to assume C89 or better.
92780
92781         * lib/error.c (error_tail): Assume vprintf.
92782
92783         * lib/argmatch.c (getenv): Remove decl.
92784         * lib/progreloc.c (get_full_program_name): Define via prototype.
92785         * lib/setenv.c (clearenv): Likewise.
92786         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
92787         needed.
92788         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
92789         (malloc, memcpy): Remove decls.
92790         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
92791         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
92792         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92793         (memcpy): Remove macro.
92794         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
92795         (__P): Remove.  All uses removed.
92796         (PTR): Remove.  All uses changed to void *.
92797         (CHAR_BIT, NULL): Remove.
92798         (spaces, zeros, memset_space, memset_zero)
92799         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
92800         Remove.
92801         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
92802         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
92803         Define with prototype.
92804         Remove now-unnecessary prototype decl.
92805         (extra_args_spec): Assume ANSI C.  All uses changed.
92806         (extra_args_spec_iso): Remove.
92807         (my_strftime, emacs_strftimeu): Define via prototype.
92808         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
92809         unconditionally.
92810         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
92811         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
92812         (strtoul, strtol): Remove decls.
92813         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
92814         LONG_MAX): Remove.
92815         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92816         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
92817         (LOCALE_PARAM_PROTO): New macro.
92818         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
92819         (INTERNAL (strtol), strtol): Define with a prototype.
92820         (PARAMS): Remove.  All uses removed.
92821         * lib/tempname.c: Include <string.h> unconditionally.
92822         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
92823         * lib/xgethostname.c (main): Define with a prototype.
92824         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
92825         Include <stdlib.h> unconditionally.
92826         (calloc, malloc, realloc, free): Remove decls.
92827         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
92828         Include <stdlib.h> unconditionally.  Sort include file names.
92829         (strtod): Remove.
92830         (xstrtod): Define with a prototype.
92831         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
92832         (strtol, strtoul): Remove decls.
92833
92834 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92835
92836         More patches to assume C89 or better.
92837         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
92838         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
92839         string.h, memchr, STDC_HEADERS.
92840
92841 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92842
92843         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
92844         Include <stdlib.h>, <string.h> unconditionally.
92845         Remove now-unnecessary cast to char *.
92846         * lib/strnlen.c: Include <string.h> unconditionally.
92847         * lib/yesno.c (yesno): Define with a prototype.
92848
92849 2003-09-11  Bruno Haible  <bruno@clisp.org>
92850
92851         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
92852
92853 2003-09-10  Jim Meyering  <jim@meyering.net>
92854
92855         * lib/error.c: Correct indentation of cpp directives.
92856
92857 2003-09-10  Bruno Haible  <bruno@clisp.org>
92858
92859         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
92860         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
92861         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
92862         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
92863         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
92864         <stdlib.h> and <string.h> checks.
92865         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
92866         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
92867
92868 2003-09-10  Bruno Haible  <bruno@clisp.org>
92869
92870         * lib/strcspn.c: Include <string.h> unconditionally.
92871         * lib/strpbrk.c: Include <string.h> unconditionally.
92872         * lib/strstr.c: Include <string.h> unconditionally.
92873         * lib/unicodeio.c: Include <string.h> unconditionally.
92874         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
92875         * lib/unsetenv.c: Likewise.
92876         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
92877         * lib/yesno.c: Include <stdlib.h> unconditionally.
92878         (rpmatch): Add prototype.
92879
92880 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92881
92882         More patches to assume C89 or better.
92883         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
92884         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
92885         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
92886         or for string.h.
92887         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
92888         stdlib.h.
92889         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
92890         C headers.
92891         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
92892         string.h.
92893         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
92894         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
92895         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
92896         or for string.h.
92897         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
92898         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
92899         C headers.
92900         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
92901         memcpy.
92902         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
92903         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
92904         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
92905         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
92906         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
92907         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
92908         string.h, free.
92909         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
92910         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
92911         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
92912         C headers, or for string.h.
92913         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
92914         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
92915         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
92916         headers, memory.h, stdlib.h, string.h, strings.h.
92917         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
92918         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
92919         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
92920         strchr.
92921         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
92922         headers, memory.h, string.h.
92923         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
92924         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
92925         free.
92926         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
92927         headers.
92928         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
92929         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
92930         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
92931         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
92932         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
92933
92934 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92935
92936         More K&R removal.
92937
92938         * lib/acosl.c (main): Use a prototype.
92939         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
92940         tanl.c: Likewise.
92941
92942         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
92943
92944         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
92945         (getopt, etopt_long, getopt_long_only, _getopt_internal)
92946         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
92947         with a prototype.
92948         * lib/getopt.c (const): Remove macro.
92949         Include <string.h> unconditionally.
92950         (my_index): Remove; all uses changed to strchr.
92951         (strlen): Remove decl.
92952         (exchange): Remove forward decl; no longer needed.
92953         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
92954         Define with prototype.
92955         * lib/getopt1.c (const): Remove macro.
92956         (getopt_long, getopt_long_only, main): Define with prototype.
92957
92958         * lib/getugroups.c: Include <string.h> unconditionally.
92959
92960         * lib/getusershell.c: Include <stdlib.h> unconditionally.
92961         (getusershell, setusershell, endusershell, readname, main):
92962         Define with prototypes.
92963
92964         * lib/group-member.c: Include group-member.h first.
92965         Include <stdlib.h> unconditionally.
92966
92967         * lib/hard-locale.c: Include hard-locale.h first.
92968         Include <stdlib.h>, <string.h> unconditionally.
92969
92970         * lib/hash.c (free, malloc): Remove decls.
92971         Include <stdlib.h> unconditionally.
92972
92973         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
92974         (getenv): Do not declare.
92975
92976         * lib/idcache.c: Include <string.h> unconditionally.
92977
92978         * lib/long-options.c: Include long-options.h first, to test interface.
92979         Include <stdlib.h> unconditionally.
92980
92981         * lib/makepath.c: Include makepath.h first, to test interface.
92982         Include <stdlib.h> and <string.h> unconditionally.
92983
92984         * lib/linebuffer.c: Include <stdlib.h>.
92985         (free): Remove decl.
92986
92987         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
92988         stddef.h. rpl_malloc returns void *, not char *.
92989         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
92990         prototype.
92991
92992         * lib/md5.h: Include <limits.h> unconditionally.
92993         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
92994         (__P): Remove; all uses removed.
92995         * lib/md5.c: Include "md5.h" first.
92996         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
92997         md5_buffer, md5_process_bytes, md5_process_block):
92998         Define with prototypes.
92999         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
93000         * lib/sha.c: Include "sha.h" first.
93001         Include <stdlib.h>, <string.h> unconditionally.
93002
93003         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
93004         * lib/memcmp.c (__ptr_t): Likewise.
93005         * lib/memrchr.c (__ptr_t): Likewise.
93006         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
93007         Include <string.h> unconditionally.
93008         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
93009         * lib/memchr.c: Include <stdlib.h> unconditionally.
93010         * lib/memchr.c (LONG_MAX): Remove.
93011         * lib/memrchr.c (LONG_MAX): Likewise.
93012         * lib/memchr.c (__memchr): Define via a prototype.
93013         * lib/memrchr.c (__memrchr): Likewise.
93014         * lib/memcmp.c (__P): Remove, and remove all uses.
93015         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
93016         Remove forward decls; no longer needed.
93017         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
93018         Use types required by C89 in prototype.
93019
93020         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
93021         * lib/savedir.c: Likewise.
93022         * lib/mkdir.c (free): Remove decl.
93023         * lib/rmdir.c (rmdir): Define with a prototype.
93024         * lib/savedir.c: Include savedir.h first, to test interface.
93025
93026         * lib/mktime.c (STDC_HEADERS): Remove.
93027         Include <stdlib.h>, <string.h> unconditionally.
93028
93029         * lib/modechange.c: Include <stdlib.h> unconditionally.
93030         (malloc): Remove decl.
93031
93032         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
93033         (free): Remove decl.
93034
93035         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
93036         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
93037         (This type really should be intptr_t, but that's a C99ism.)
93038         (_obstack_memcpy): Remove: all uses changed to memcpy.
93039         Include <string.h> unconditionally.
93040         (struct obstack): Assume __STDC__ for types of members
93041         chunkfun, freefun, extra_arg.
93042         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
93043         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
93044         obstack_begin, obstack_specify_allocation,
93045         obstack_specify_allocation_with_arg, obstack_chunkfun,
93046         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
93047         Remove unprototyped decls and the macros that use them.
93048         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
93049         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
93050         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
93051         (defined __STDC__ && __STDC__)]:
93052         Remove nonprototyped code.
93053         Include <stdlib.h> unconditionally.
93054         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
93055         _obstack_allocated_p, _obstack_free, obstack_free,
93056         _obstack_memory_used, print_and_abort):
93057         Define using prototypes.
93058         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
93059         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
93060         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
93061         obstack_next_free, obstack_object_size, obstack_room) [0]:
93062         Remove unused, unprototyped code.
93063
93064         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
93065
93066         * lib/physmem.c (physmem_total, physmem_available, main): Define
93067         with prototypes.
93068
93069         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
93070         (main): Define with a prototype.
93071
93072         * lib/posixver.c (getenv): Remove decl.
93073
93074         * lib/putenv.c (malloc): Returns void *, not char *.
93075         Include <string.h> unconditionally.
93076         (strchr, memcpy, NULL): Do not define.
93077
93078         * lib/readtokens.c: Include readtokens.h first, to test interface.
93079         Include <stdlib.h>, <string.h> unconditionally.
93080         (init_tokenbuffer): Define with a prototype.
93081
93082         * lib/regex.c (PARAMS): Remove.  All uses removed.
93083         All uses of _RE_ARGS removed, too.
93084         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
93085         unconditionally.
93086         (bzero): Assume memset exists.
93087         (memcmp, memcpy, NULL): Remove.
93088         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
93089         char, or assignments to local vars of type signed char.
93090         (init_syntax_once, PREFIX(extract_number_and_incr),
93091         PREFIX(print_partial_compiled_pattern),
93092         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
93093         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
93094         PREFIX(regex_grow_registers), PREFIX(regex_compile),
93095         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
93096         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
93097         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
93098         wcs_compile_range, byte_compile_range, truncate_wchar,
93099         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
93100         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
93101         count_mbs_length, wcs_re_match_2_internal,
93102         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
93103         PREFIX(alt_match_null_string_p),
93104         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
93105         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
93106         regfree, PREFIX(extract_number)): Define with prototype.  Remove
93107         now-unnecessary declaration, if any.
93108         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
93109         regcomp, regexec):
93110         Remove now-unnecessary casts among pointer types.
93111         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
93112
93113         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
93114         (free): Remove decl.
93115
93116         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
93117
93118         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
93119         (free): Remove decl.
93120
93121         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
93122         * lib/xgetcwd.c: Likewise.
93123
93124         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
93125         (free): Remove decl.
93126
93127         * lib/strchrnul.c (strchrnul): Define with a prototype.
93128         Fix bug: c_in was not converted to char before searching.
93129
93130         The following changes are not K&R related:
93131
93132         * lib/group-member.h: Include <sys/types.h>, so that this file is
93133         self-contained.
93134         * lib/makepath.h: Likewise.
93135
93136         * lib/getusershell.c (readname, default_index, line_size, readname):
93137         Use size_t, not int, for sizes.
93138         (readname): If the size overflows, report an error instead of
93139         looping forever.
93140
93141 2003-09-09  Paul Eggert  <eggert@twinsun.com>
93142
93143         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
93144         libc.
93145
93146 2003-09-09  Paul Eggert  <eggert@twinsun.com>
93147
93148         * README: New section: portability guidelines.
93149
93150 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
93151
93152         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
93153         C89 spec.
93154
93155 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
93156
93157         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
93158
93159 2003-09-08  Paul Eggert  <eggert@twinsun.com>
93160
93161         Assume C89 or better; remove K&R cruft.
93162         A few of these changes were first proposed by Derek Robert Price
93163         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
93164
93165         * lib/addext.c: Include <string.h> unconditionally.
93166         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
93167         Don't declare getenv or malloc.
93168
93169         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
93170         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
93171         (NULL): Remove.
93172         (find_stack_direction, alloca): Use prototypes.
93173
93174         * lib/atexit.c (atexit): Define using a prototype.
93175
93176         * lib/basename.c, dirname.c, stripslash.c:
93177         Include <string.h> unconditionally.
93178
93179         * lib/bcopy.c: Include <stddef.h>.
93180         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
93181
93182         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
93183
93184         * lib/error.h (error, error_at_line, error_print_progname)
93185         [! (defined (__STDC__) && __STDC__)]: Remove decls.
93186         * lib/error.c: Include error.h first, to check interface.
93187         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
93188         (VA_START): Remove; all uses changeed to va_start.
93189         (exit, strerror): Remove decls.
93190         (error_print_progname): Prototype uncondionally.
93191         Don't include <errno.h>; no longer needed.
93192         (private_strerror): Remove.
93193         (error_tail): Always define.
93194         (error, error_at_line): Assume C89 or better; always use prototypes.
93195         * lib/fatal.c: Include "fatal.h" first, to test interface.
93196         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
93197         (VA_START): Remove; all uses changed to va_start.
93198         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
93199         this case.
93200         (exit): Remove decl.
93201         (fatal): Prototype unconditionally.  Assume va_start works.
93202         Abort at end, to pacify gcc.
93203
93204         * lib/euidaccess.c (main): Define with a prototype.
93205
93206         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
93207
93208         * lib/exitfail.c: Include <stdlib.h> unconditionally.
93209
93210         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
93211         prototypes.
93212         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
93213         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
93214         (getenv): Remove decl.
93215         (fnmatch): Define using a prototype.
93216         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
93217         (FCT): Define using a prototype.
93218
93219         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
93220
93221         * lib/gethostname.c: Include <stddef.h>.
93222         (gethostname): Define with prototype.  Length is size_t, not int.
93223
93224 2003-09-08  Paul Eggert  <eggert@twinsun.com>
93225
93226         Assume C89 or better; remove K&R cruft.
93227         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
93228         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
93229         string.h, getenv, malloc.
93230         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
93231         headers.
93232         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
93233         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
93234         do not check for strerror.
93235         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
93236         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
93237         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
93238         do not check for doprnt or vprintf.
93239         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
93240         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
93241
93242 2003-09-08  Paul Eggert  <eggert@twinsun.com>
93243
93244         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
93245         getversion.c should have been removed then, but was accidentally
93246         preserved.
93247
93248         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
93249         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
93250
93251 2003-09-08  Karl Berry  <karl@gnu.org>
93252
93253         * config/config.sub, config.guess, srclistvars.sh: update from savannah
93254                 config, forget about prep.
93255
93256         * config/depcomp, missing: update from automake.
93257
93258 2003-09-07  Paul Eggert  <eggert@twinsun.com>
93259
93260         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
93261         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
93262
93263 2003-09-07  Paul Eggert  <eggert@twinsun.com>
93264
93265         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
93266         copy_tm_result.  Bug reported by Simon Josefsson in
93267         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
93268
93269 2003-09-06  Paul Eggert  <eggert@twinsun.com>
93270
93271         * m4/time_r.m4: New file.
93272         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
93273         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
93274         is. Check for timegm declaration.
93275         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
93276         Do not check for gmtime_r.
93277         Replace mktime if __mktime_internal does not exist and if mktime
93278         hasn't been replaced already.
93279
93280 2003-09-06  Paul Eggert  <eggert@twinsun.com>
93281
93282         * lib/time_r.c, lib/time_r.h: New files.
93283
93284         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
93285         __localtime_r.
93286         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
93287         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
93288
93289         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
93290         __gmtime_r.
93291         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
93292         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
93293         Include <time_r.h>.
93294
93295         * lib/timegm.c: Switch to glibc implementation, with the following
93296         changes:
93297         [defined HAVE_CONFIG_H]: Include <config.h>.
93298         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
93299         (__mktime_internal) [!defined _LIBC]: New decl.
93300         (__gmtime_r) [!defined _LIBC]: New macro and function.
93301         (timegm): Use a prototype, since gnulib assumes C89.
93302         Do not bother declaring tmp to be const, as it's not really usefu.
93303         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
93304         (timegm): Declare only if HAVE_DECL_TIMEGM.
93305
93306 2003-09-06  Paul Eggert  <eggert@twinsun.com>
93307
93308         * MODULES.html.sh (func_all_modules): Add time_r.
93309         * modules/time_r: New file.
93310         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
93311         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
93312
93313 2003-09-03  Paul Eggert  <eggert@twinsun.com>
93314
93315         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
93316         Bug reported by Lute Kamstra in
93317         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
93318
93319         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
93320         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
93321         course with correspondingly smaller numbers for tomorrow and
93322         yesterday.  From Tadayoshi Funaba.  Originally installed into
93323         sh-utils on 1999-08-07, but the patch got lost (I guess during the
93324         coreutils merge?).
93325
93326 2003-08-31  Simon Josefsson  <jas@extundo.com>
93327
93328         * modules/timegm: New file.
93329         * MODULES.html.sh (func_all_modules): Add timegm.
93330
93331 2003-08-31  Simon Josefsson  <jas@extundo.com>
93332
93333         * m4/timegm.m4: New file.
93334
93335 2003-08-31  Simon Josefsson  <jas@extundo.com>
93336
93337         * lib/timegm.h: New file.
93338         * lib/timegm.c: New file.  Based on
93339         wget-1.8.2/src/http.c:mktime_from_utc.
93340
93341 2003-08-31  Karl Berry  <karl@gnu.org>
93342
93343         * lib/argp.h: update from libc.
93344
93345 2003-08-28  Bruno Haible  <bruno@clisp.org>
93346
93347         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
93348         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
93349         followed by '#define fnmatch fnmatch_posix' gives an error.
93350
93351 2003-08-28  Bruno Haible  <bruno@clisp.org>
93352
93353         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
93354         warning on QNX, which defines O_BINARY to 000000.
93355
93356 2003-08-27  Jim Meyering  <jim@meyering.net>
93357
93358         * m4/mkstemp.m4: Require that the system mkstemp be able to create
93359         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
93360         would fail after 32.  Reported by Danny Levinson.  Details here:
93361         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
93362
93363 2003-08-24  Bruno Haible  <bruno@clisp.org>
93364
93365         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
93366         MSVC7 <stdio.h> is included later.
93367
93368 2003-08-22  Simon Josefsson  <jas@extundo.com>
93369
93370         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
93371
93372 2003-08-20  Karl Berry  <karl@gnu.org>
93373
93374         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
93375
93376 2003-08-20  Bruno Haible  <bruno@clisp.org>
93377
93378         * modules/progname: New file.
93379         * MODULES.html.sh (func_all_modules): Add progname.
93380
93381 2003-08-20  Bruno Haible  <bruno@clisp.org>
93382
93383         * lib/progname.h: New file, from GNU gettext.
93384         * lib/progname.c: New file, from GNU gettext.
93385         * lib/progreloc.c: New file, from GNU gettext.
93386
93387 2003-08-19  Jim Meyering  <jim@meyering.net>
93388
93389         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
93390         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
93391
93392 2003-08-19  Bruno Haible  <bruno@clisp.org>
93393
93394         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
93395         more.
93396
93397 2003-08-19  Bruno Haible  <bruno@clisp.org>
93398
93399         * lib/xstrdup.c: Assume <string.h> exists.
93400
93401 2003-08-18  Paul Eggert  <eggert@twinsun.com>
93402
93403         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
93404         in makefile rules.
93405
93406 2003-08-18  Jim Meyering  <jim@meyering.net>
93407
93408         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
93409         * m4/lib-ld.m4: Likewise.
93410
93411 2003-08-18  Jim Meyering  <jim@meyering.net>
93412
93413         * lib/setenv.h: Indent nested cpp directive.
93414         * lib/vasnprintf.c: Remove trailing blanks.
93415
93416 2003-08-17  Simon Josefsson  <jas@extundo.com>
93417
93418         * modules/xstrndup: New file.
93419         * MODULES.html.sh (func_all_modules): Add xstrndup.
93420
93421 2003-08-17  Simon Josefsson  <jas@extundo.com>
93422
93423         * modules/argp: Fix autoconf macro name. Add more dependencies.
93424
93425 2003-08-17  Simon Josefsson  <jas@extundo.com>
93426
93427         * m4/xstrndup.m4: New file.
93428
93429 2003-08-17  Simon Josefsson  <jas@extundo.com>
93430
93431         * m4/argp.m4: New file.
93432
93433 2003-08-17  Simon Josefsson  <jas@extundo.com>
93434             Bruno Haible  <bruno@clisp.org>
93435
93436         * lib/xstrndup.h: New file.
93437         * lib/xstrndup.c: New file.
93438
93439 2003-08-17  Bruno Haible  <bruno@clisp.org>
93440
93441         * modules/strndup (Files, Include): Add lib/strndup.h.
93442
93443 2003-08-17  Bruno Haible  <bruno@clisp.org>
93444
93445         * modules/euidaccess (Files): Add lib/euidaccess.h.
93446
93447 2003-08-17  Bruno Haible  <bruno@clisp.org>
93448
93449         * lib/strndup.h: New file.
93450
93451 2003-08-17  Bruno Haible  <bruno@clisp.org>
93452
93453         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
93454         like AC_GNU_SOURCE.
93455         * modules/extensions (configure.ac): Comment out the invocation of
93456         gl_USE_SYSTEM_EXTENSIONS.
93457
93458 2003-08-16  Paul Eggert  <eggert@twinsun.com>
93459
93460         Merges from coreutils, etc.
93461         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
93462         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
93463         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
93464         fixing a typo.
93465         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
93466         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
93467
93468 2003-08-16  Paul Eggert  <eggert@twinsun.com>
93469
93470         Document merge from coreutils.
93471         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
93472         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
93473         * modules/utime: Add m4/utimes-null.m4.
93474
93475 2003-08-16  Paul Eggert  <eggert@twinsun.com>
93476
93477         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
93478         space, undoing this 2003-08-12 change:
93479         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
93480
93481 2003-08-16  Paul Eggert  <eggert@twinsun.com>
93482
93483         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
93484         strtoul.c from libc, undoing this 2003-08-12 change:
93485         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
93486
93487 2003-08-16  Jim Meyering  <jim@meyering.net>
93488
93489         Merges from coreutils.
93490         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
93491         prefix.  Adjust cache variables similarly.  Create 500 rather than
93492         just 300 files, to exercise bug on Darwin6.5, too.
93493         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
93494         $missing_dir.
93495         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
93496         AM_SYS_POSIX_TERMIOS.
93497         Reported by mkc@mathdogs.com.
93498         Also change use of $am_cv_sys_posix_termios
93499         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
93500         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
93501         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
93502         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
93503         in /proc/mounts until it finds one with matching device number.  This
93504         is unnecessary when the FILE argument *is* a mount point.  No stat call
93505         is necessary in that case.  So, disable the statvfs-testing code on
93506         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
93507         as RedHat bug# 84846.
93508         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
93509         to 1MB, so as not to render systems with no stack size limit (e.g.,
93510         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
93511         Include <unistd.h>.  On some systems,
93512         it is required for the definition of _SC_PAGESIZE.
93513
93514 2003-08-16  Jim Meyering  <jim@meyering.net>
93515
93516         Merge from coreutils.
93517         * lib/xstrtoimax.c: #else #if -> #elif.
93518         * lib/xstrtoumax.c: Likewise.
93519
93520 2003-08-16  Jim Meyering  <jim@meyering.net>
93521
93522         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
93523         * m4/utimes.m4: Removed.
93524         * m4/utimes-null.m4: Renamed from utimes.m4.
93525
93526         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
93527         to 1MB, so as not to render systems with no stack size limit (e.g.,
93528         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
93529         Include <unistd.h>.  On some systems,
93530         it is required for the definition of _SC_PAGESIZE.
93531
93532 2003-08-16  Jim Meyering  <jim@meyering.net>
93533         and Paul Eggert  <eggert@cs.ucla.edu>
93534
93535         Merges from coreutils, etc.
93536
93537         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
93538         using the latest version from cvs.  This avoids problems with #line
93539         directives using a vendor (Sun) compiler.
93540         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
93541         Don't set GETGROUPS_LIB here; now it's
93542         done via getgroups.m4's wrapper function.
93543         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
93544         rather than just in sh-util/configure.in, so that the
93545         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
93546         same.
93547         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
93548         AC_FUNC_GETLOADAVG where to find getloadavg.c.
93549         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
93550         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
93551         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
93552         Remove code that is now done by the newly-required macros.
93553         Append $(EXEEXT) to DF_PROG.
93554         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
93555         Do not invoke or require the following here,
93556         since prereq.m4 or some gnulib .m4 now does this for us:
93557         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
93558         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
93559         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
93560         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
93561         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
93562         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
93563         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
93564         AC_FUNC_OBSTACK.
93565         Do not replace the following functions, as this is now the job
93566         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
93567         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
93568         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
93569         atexit getpass, strdup, getpagesize.
93570         Replace 'raise'.
93571         Do not check for the following functions, as this is now the job
93572         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
93573         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
93574         setregid.
93575         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
93576         Check for sys/sysctl.h.
93577         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
93578         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
93579         of checking for ssize_t ourselves.
93580
93581         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
93582         Require every macro that gnulib/modules/* suggests for us.
93583         (jm_PREREQ_ADDEXT): New macro.
93584         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
93585         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
93586
93587         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
93588         (gl_PHYSMEM): Use it.
93589         Also check for `table' function.
93590         Check for new headers and functions.
93591         Add check for sys/sysmp.h.
93592         With suggestions from Kaveh Ghazi.
93593         Ignore headers that are present but cannot be compiled.  This
93594         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
93595         C 5.4.
93596
93597 2003-08-15  Paul Eggert  <eggert@twinsun.com>
93598
93599         Document merge from coreutils.
93600         * modules/userspec: Depend on posixver.
93601         * modules/strftime: Depend on tzset.
93602
93603 2003-08-15  Paul Eggert  <eggert@twinsun.com>
93604
93605         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
93606         rather than tab, after '#' in shell-script copyright notices.
93607         Suggested by Bruno Haible.
93608
93609 2003-08-15  Paul Eggert  <eggert@twinsun.com>
93610
93611         * config/srclist-update: Use three spaces, rather than tab, after '#'
93612         in shell-script copyright notices.  Suggested by Bruno Haible.
93613         Remove unnecessary parenthesization in regular expression.
93614
93615 2003-08-15  Jim Meyering  <jim@meyering.net>
93616
93617         Merge from coreutils.
93618         * lib/xgethostname.c: Include <stdlib.h>.
93619         (xghostname): Don't exit for anything other than memory-related
93620         failure; just return NULL.
93621         * lib/userspec.c: Include "posixver.h".
93622         (parse_user_spec): Accept `.' as a separator only
93623         in pre-POSIX-200112 mode.
93624         * lib/strtoimax.c: Use #elif rather than #else #if.
93625         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
93626         Remove function, now that we can rely on a working tzset function.
93627         [!_LIBC]: Ensure that the required autoconf test has been run.
93628         [!defined _NL_CURRENT && HAVE_STRFTIME]:
93629         Use underlying_strftime for %r.
93630         * lib/sha.c: Merge in some clean-up and optimization changes from
93631         glibc.
93632         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
93633         Ensure that it is a multiple of 64.
93634         Rearrange loop exit tests so as to avoid performing an
93635         additional fread after encountering an error or EOF.
93636         * lib/realloc.c: Update copyright date.
93637
93638 2003-08-15  Jim Meyering  <jim@meyering.net>
93639         and Paul Eggert  <eggert@twinsun.com>
93640
93641         Merge from coreutils.
93642         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
93643         member but strut utmpx does not.  Needed for AIX 4.3.3.
93644         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
93645
93646 2003-08-15  Jim Meyering  <jim@meyering.net>
93647         and Paul Eggert  <eggert@cs.ucla.edu>
93648
93649         Merges from coreutils, etc.
93650         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
93651         Require gl_FUNC_TZSET_CLOBBER.
93652         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
93653         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
93654         members.
93655
93656 2003-08-14  Paul Eggert  <eggert@twinsun.com>
93657
93658         Help the merge from coreutils.
93659         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
93660         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
93661         * m4/tzset.m4: Use it too.
93662
93663 2003-08-14  Paul Eggert  <eggert@twinsun.com>
93664
93665         * modules/tzset: New file.
93666
93667 2003-08-14  Jim Meyering  <jim@meyering.net>
93668
93669         Merges from coreutils.
93670         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
93671         variable names, rather than @FNMATCH_H@.
93672         * modules/alloca: Likewise for $(ALLOCA_H).
93673
93674         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
93675         the three copies of the literal target, `fnmatch.h'.
93676         * modules/alloca (alloca.h): Likewise.
93677
93678 2003-08-14  Jim Meyering  <jim@meyering.net>
93679
93680         Merge from coreutils.
93681         * m4/tzset.m4: New file.
93682         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
93683         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
93684         otherwise, AIX 5.1 systems would end up using the latter.
93685         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
93686         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
93687         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
93688         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
93689
93690 2003-08-14  Jim Meyering  <jim@meyering.net>
93691
93692         Merge from coreutils.
93693         * lib/obstack.h: Whitespace changes.
93694         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
93695         and xcalloc return values.
93696         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
93697         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
93698         hang on OSF/1 5.1 for DIR on both local and remote file systems.
93699         Reported by (and fix confirmed by) Nelson H. F. Beebe.
93700         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93701         error from mntctl.
93702         Use mntctl's return value to drive the entry-processing loop, since
93703         we can't rely on the value of the vmt_length member in the last
93704         entry.  On some systems doing so could result in exhausting
93705         virtual memory.  Based in part on a patch from Mike Jetzer.
93706
93707 2003-08-14  Jim Meyering  <jim@meyering.net>
93708         and Paul Eggert  <eggert@twinsun.com>
93709
93710         Merges from coreutils, plus other fixes.
93711         * lib/physmem.c: Merge in portability changes from gcc/libiberty
93712         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
93713         for credits and details.  Thanks to Kaveh Ghazi for helping
93714         to keep these files in sync.
93715         (ARRAY_SIZE): Define it.
93716         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
93717         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
93718         (memcasecmp): Don't assume size_t fits in unsigned int.
93719         Remove casts and duplicate code.
93720         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
93721         (memcpy): Remove definition.
93722         Merge in some clean-up and optimization changes from glibc.
93723         [BLOCKSIZE]: Move definition to top of file.
93724         Ensure that it is a multiple of 64.
93725         Rearrange loop exit tests so as to avoid performing an
93726         additional fread after encountering an error or EOF.
93727         * lib/md5.h (md5_uintptr): Define.
93728         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
93729         return to the initial working directory.  Preserve errno
93730         for caller.
93731         * lib/idcache.c: Include "xalloc.h".
93732         (xmalloc, xrealloc): Remove decls.
93733         (getuser): Remove casts no longer required in C89.
93734         * lib/human.c: Include stdio.h, for sprintf.
93735         * lib/group-member.c: Include "xalloc.h".
93736         (xmalloc, xrealloc): Remove decls.
93737         (get_group_info): Remove casts no longer required in C89.
93738         * lib/getusershell.c (readname): Remove casts no longer required in
93739         C89.
93740         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
93741         * lib/getline.c: Whitespace fix, from coreutils.
93742
93743 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93744
93745         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
93746         Check for isascii.
93747
93748         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93749         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93750         Undo previous (whitespace-only) change.
93751
93752 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93753
93754         * lib/exclude.c: Include <ctype.h>
93755         (IN_CTYPE_DOMAIN): New macro.
93756         (is_space): New fn.
93757         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
93758         and empty lines.
93759
93760         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93761         Undo previous (whitespace-only) change.
93762
93763 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93764
93765         * config/srclist-update: Change update back to the old behavior,
93766         leaving whitespace alone.  Use one 'sed' command rather than a
93767         pipeline.
93768         (fixlicense): Now a variable, not a function.
93769         (remove_trailing_blanks): Remove.
93770         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
93771         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93772         Undo previous (whitespace-only) change.
93773
93774 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93775
93776         Merge from coreutils.
93777         * modules/euidaccess: Add lib_SOURCES, include for new
93778         file euidaccess.h
93779
93780 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93781
93782         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93783         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93784         Normalize leading white space and remove trailing white space.
93785
93786         Merge from coreutils
93787         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
93788
93789         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
93790         0.12.1.  These files are now being upgraded automatically by
93791         ../config/srclist-update.
93792
93793 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93794
93795         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93796         Normalize leading white space and remove trailing white space.
93797         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
93798         notice, as per ../config/srclist-update.
93799
93800         Merge from coreutils.
93801         * lib/euidaccess.h: New file.
93802         * lib/euidaccess.c: Include it.
93803         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
93804         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
93805         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
93806
93807 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93808
93809         * config/srclist-update: Add copyright notice.
93810         (remove_id_lines, remove_trailing_blanks): New constants.
93811         (fixfile): Use them to normalize spacing a bit in copied files.
93812         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93813         Normalize leading white space and remove trailing white space.
93814
93815         * config/texinfo.tex: Sync with texinfo.
93816
93817         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
93818         strtoul.c from libc, to merge coreutils whitespace changes.
93819
93820         * config/srclist.txt: Get the following m4 files from gettext:
93821         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
93822         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
93823         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
93824         wint_t.m4.
93825
93826 2003-08-12  Karl Berry  <karl@gnu.org>
93827
93828         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
93829         been made.
93830
93831 2003-08-11  Paul Eggert  <eggert@twinsun.com>
93832
93833         * modules/gnu-source, m4/gnu-source.m4:
93834         Remove; we're assuming Autoconf 2.54 or later now.
93835         Suggested by Bruno Haible.
93836         * MODULES.html.sh (func_all_modules): Remove gnu-source.
93837
93838 2003-08-11  Bruno Haible  <bruno@clisp.org>
93839
93840         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
93841
93842 2003-08-11  Bruno Haible  <bruno@clisp.org>
93843
93844         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
93845         (vasnprintf): Use it instead of wcslen.
93846
93847 2003-08-11  Bruno Haible  <bruno@clisp.org>
93848
93849         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
93850         value to ensure that _Bool promotes to int. Use #define for _Bool when
93851         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
93852
93853 2003-08-10  Karl Berry  <karl@gnu.org>
93854
93855         * lib/regex.h: update from libc (whitespace fix).
93856
93857 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93858
93859         Merge some files from coreutils.  These changes were
93860         originally made by Jim Meyering.
93861         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
93862         many older Unixes require this.
93863         * lib/alloca.c (alloca): Remove cast to argument of free;
93864         no longer needed in C89.
93865         * lib/alloca_.h, regex.h: Fix white space to match
93866         what GNU indent does.
93867
93868 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93869
93870         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
93871         apparently Emacs's Unicode mode got confused before my 2003-08-05
93872         checkin.
93873
93874 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93875
93876         * m4/extensions.m4: New file.
93877         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
93878         Require gl_USE_SYSTEM_EXTENSIONS.
93879         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
93880         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
93881
93882 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93883
93884         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
93885         * modules/extensions, modules/gnu-source: New files.
93886         * modules/timespec, modules/unlocked-io: Depend on extensions.
93887
93888 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93889
93890         * modules/restrict: New file.
93891         * MODULES.html.sh (func_all_modules): Add restrict.
93892         * modules/regex: Depend on restrict.
93893
93894 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93895
93896         * m4/restrict.m4: New file.
93897         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
93898
93899 2003-08-07  Bruno Haible  <bruno@clisp.org>
93900
93901         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
93902         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
93903
93904 2003-08-07  Bruno Haible  <bruno@clisp.org>
93905
93906         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
93907         makes the module 'getndelim2' compatible with the module 'getline'.
93908
93909 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93910
93911         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
93912         byte with "\201" to avoid glitches when editing that source file
93913         with multi-gnome-terminal.
93914
93915 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93916
93917         * lib/bumpalloc.h: Remove.
93918
93919 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93920
93921         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
93922         * modules/bumpalloc: Remove.
93923
93924 2003-08-04  Paul Eggert  <eggert@twinsun.com>
93925
93926         * lib/getloadavg.c: Change copyright notice and spacing to conform to
93927         GNU coding style.
93928
93929         Merge from coreutils.
93930         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
93931         1. From glibc.
93932         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
93933         from Karl Berry, implemented by Jim Meyering.
93934         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
93935         from Dmitry V. Levin.
93936         Remove anachronistic cast of xrealloc.
93937         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
93938         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
93939         type. Otherwise, it wouldn't compile with at least /bin/cc on
93940         ymp-cray-unicos9.0.2.X.
93941         Combine two mostly-identical uses of alloca into one.
93942         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
93943
93944 2003-08-04  Dave Love  <d.love@dl.ac.uk>
93945
93946         [From Emacs.]
93947
93948         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
93949         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
93950         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
93951         obsolete NLIST_NAME_UNION.
93952         [__GNU__]: Undef BSD and FSCALE.
93953         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
93954
93955 2003-08-03  Paul Eggert  <eggert@twinsun.com>
93956
93957         * lib/stdbool_.h (_Bool): Make it signed char, instead of
93958         an enum type, so that it's guaranteed to promote to int.  See:
93959         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
93960
93961 2003-08-03  Karl Berry  <karl@gnu.org>
93962
93963         * config/depcomp: update from automake.
93964
93965 2003-07-31  Paul Eggert  <eggert@twinsun.com>
93966
93967         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
93968         (strerror): Don't assume that a printable int fits in 14 bytes.
93969
93970 2003-07-31  Bruno Haible  <bruno@clisp.org>
93971
93972         * modules/getpass-gnu: New file.
93973         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
93974
93975 2003-07-31  Bruno Haible  <bruno@clisp.org>
93976
93977         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
93978
93979 2003-07-24  Karl Berry  <karl@gnu.org>
93980
93981         * config/missing: update from automake.
93982
93983 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
93984             Bruno Haible  <bruno@clisp.org>
93985
93986         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
93987         * lib/getline.c (getline, getdelim): Likewise.
93988         Remove _GNU_SOURCE define; now it's defined in config.h through
93989         m4/getline.m4.
93990
93991 2003-07-23  Karl Berry  <karl@gnu.org>
93992
93993         * config/config.sub: update from prep.
93994
93995 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93996
93997         * modules/xalloc (Depends-on): Add exitfail.
93998         * modules/xmemcoll: Likewise.
93999
94000 2003-07-22  Paul Eggert  <eggert@twinsun.com>
94001
94002         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
94003         over-parenthesization in macros.
94004
94005         Sync with coreutils.
94006
94007         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
94008         required by C99.
94009
94010         Use `exit_failure' for xalloc and xmemcoll instead of their own
94011         private exit-failure variables.
94012         * lib/xalloc.h (xalloc_exit_failure): Remove.
94013         * lib/xmalloc.c: Likewise.  Include exitfail.h.
94014         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
94015         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
94016         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
94017         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
94018
94019 2003-07-20  Jim Meyering  <jim@meyering.net>
94020
94021         * modules/closeout (Depends-on): Add exitfail.
94022         Suggestion from Bruno Haible.
94023
94024 2003-07-19  Karl Berry  <karl@gnu.org>
94025
94026         * config/config.sub: update from prep.
94027
94028 2003-07-18  Paul Eggert  <eggert@twinsun.com>
94029
94030         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
94031         Remove.
94032         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
94033         to test that it can stand by itself.  Include "exitfail.h".
94034         Clients should set exit_failure instead.
94035         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
94036
94037 2003-07-18  Bruno Haible  <bruno@clisp.org>
94038
94039         * modules/getndelim2: New file.
94040         * modules/getline: Share files with module getndelim2.
94041         * modules/getnline: Depend on getndelim2 instead of sharing files with
94042         it. Add getnline.c to lib_SOURCES.
94043         * MODULES.html.sh (func_all_modules): Add getndelim2.
94044
94045 2003-07-18  Bruno Haible  <bruno@clisp.org>
94046
94047         * m4/getndelim2.m4: New file.
94048         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
94049         invoke gl_PREREQ_GETNDELIM2.
94050         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
94051         gl_PREREQ_GETNDELIM2.
94052         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
94053         gl_GETNDELIM2.
94054
94055 2003-07-18  Bruno Haible  <bruno@clisp.org>
94056
94057         * lib/getndelim2.h: New file.
94058         * lib/getndelim2.c: Make into a module of its own. Include config.h,
94059         getndelim2.h.
94060         (getndelim2): Make non-static. Change return type to ssize_t.
94061         * lib/getline.h: Change argument names.
94062         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
94063         * lib/getnline.c: Include getndelim2.h.
94064
94065 2003-07-18  Andreas Schwab  <schwab@suse.de>
94066
94067         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
94068
94069 2003-07-17  Karl Berry  <karl@gnu.org>
94070
94071         * config/config.sub: update from prep.
94072
94073 2003-07-17  Bruno Haible  <bruno@clisp.org>
94074
94075         * modules/getnline: New file.
94076         * modules/getline: Add lib/getndelim2.c to source file list.
94077         * MODULES.html.sh (func_all_modules): Add getnline.
94078
94079 2003-07-17  Bruno Haible  <bruno@clisp.org>
94080
94081         * m4/getnline.m4: New file.
94082
94083 2003-07-17  Bruno Haible  <bruno@clisp.org>
94084
94085         * m4/Makefile.am.in: Remove file.
94086         * m4/Makefile.am: Remove file.
94087         * m4/Makefile.in: Remove file.
94088
94089 2003-07-17  Bruno Haible  <bruno@clisp.org>
94090
94091         * lib/getnline.h: New file.
94092         * lib/getnline.c: New file.
94093         * lib/getndelim2.c: New file, extracted from getline.c.
94094         (getndelim2): Renamed from getdelim2, with added nmax argument.
94095         * lib/getline.c: Include getndelim2.c.
94096         (getdelim2): Moved out to getndelim2.c.
94097         (getline, getdelim): Update.
94098
94099 2003-07-17  Bruno Haible  <bruno@clisp.org>
94100
94101         * lib/Makefile.am: Remove file.
94102         * lib/Makefile.in: Remove file.
94103
94104 2003-07-17  Bruno Haible  <bruno@clisp.org>
94105
94106         * configure.in: Remove file.
94107         * Makefile.in: Remove file.
94108
94109 2003-07-17  Bruno Haible  <bruno@clisp.org>
94110
94111         * MODULES.html.sh: Put the </BODY> right before </HTML>.
94112
94113 2003-07-16  Karl Berry  <karl@gnu.org>
94114
94115         * config/srclist-update: was running fixlicense twice, which caused
94116                 texinfo.tex to be nullified for some reason.  Simplify,
94117                 $gplsrc is no longer needed as far as I can see?
94118
94119 2003-07-16  Jim Meyering  <jim@meyering.net>
94120
94121         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
94122
94123 2003-07-15  Paul Eggert  <eggert@twinsun.com>
94124
94125         * config/srclist.txt: Get the following files from gettext-runtime/intl
94126         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
94127         ref-del.sin.  From Bruno Haible.
94128         * config/srclist-update (fixfile): Change grep pattern again, since the
94129         previous fix didn't work (there was another trailing $).  Use
94130         '[$]' to escape the $s.
94131
94132 2003-07-15  Karl Berry  <karl@gnu.org>
94133
94134         * lib/vasnprintf.c: update from gettext.
94135
94136 2003-07-15  Karl Berry  <karl@gnu.org>
94137
94138         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
94139         gets expanded when surrounded by '$'.
94140
94141 2003-07-15  Jim Meyering  <jim@meyering.net>
94142
94143         * modules/save-cwd: Don't depend on error.  From Derek Price.
94144
94145 2003-07-15  Jim Meyering  <jim@meyering.net>
94146
94147         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
94148
94149 2003-07-14  Simon Josefsson  <jas@extundo.com>
94150
94151         * modules/mempcpy: New file.
94152         * MODULES.html.sh (func_all_modules): Add mempcpy.
94153
94154 2003-07-14  Simon Josefsson  <jas@extundo.com>
94155
94156         * m4/mempcpy.m4: New file.
94157
94158 2003-07-14  Simon Josefsson  <jas@extundo.com>
94159
94160         * lib/mempcpy.h: New file.
94161         * lib/mempcpy.c: New file.
94162
94163 2003-07-14  Paul Eggert  <eggert@twinsun.com>
94164
94165         * modules/getdate, modules/posixtm: Depend on mktime.
94166
94167 2003-07-14  Paul Eggert  <eggert@twinsun.com>
94168
94169         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
94170         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
94171         unicodeio.c, unicodeio.h, unlocked-io.h:
94172         Switch from LGPL to GPL.
94173
94174 2003-07-14  Paul Eggert  <eggert@twinsun.com>
94175
94176         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
94177         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
94178         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
94179         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
94180         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
94181         updated automatically by ../config/srclist-update.  This changes
94182         their license from LPGL to GPL.
94183
94184 2003-07-14  Paul Eggert  <eggert@twinsun.com>
94185
94186         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
94187         assumed to refer to the root of the most recent stable gettext version.
94188         * config/srclistvars.sh: Add defaults for eggert.
94189         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
94190         Match "This program" as well as "The program".  This is needed
94191         for gettext.
94192
94193 2003-07-14  Jim Meyering  <jim@meyering.net>
94194
94195         Don't emit diagnostics.  Let callers do that.
94196         * lib/save-cwd.c: Don't include "error.h".
94197         (save_cwd): Don't call error.  Ensure that errno is valid
94198         when returning nonzero.
94199
94200         * lib/save-cwd.h (restore_cwd): Update prototype.
94201         * lib/save-cwd.c (restore_cwd): Remove two parameters.
94202         Simplify.  Don't call error upon failure.  Let callers do that.
94203         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
94204         when auditing is enabled.  But don't bother updating the #if.
94205
94206 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
94207
94208         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
94209         it breaks C++ compilation.
94210         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
94211
94212 2003-07-10  Simon Josefsson  <jas@extundo.com>
94213
94214         * modules/strchrnul (Makefile.am): Add strchrnul.h.
94215
94216 2003-07-10  Jim Meyering  <jim@meyering.net>
94217
94218         * m4/clock_time.m4: Remove trailing blank.
94219         * m4/intmax_t.m4: Likewise.
94220
94221 2003-07-10  Jim Meyering  <jim@meyering.net>
94222
94223         * lib/vasnprintf.c: Remove trailing blanks.
94224         Make cpp indentation consistent.
94225
94226 2003-07-09  Paul Eggert  <eggert@twinsun.com>
94227
94228         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
94229         posixver.c, strftime.c, strnlen.c, strverscmp.c:
94230         Switch from LGPL to GPL.
94231
94232 2003-07-09  Paul Eggert  <eggert@twinsun.com>
94233
94234         * config/srclist.txt: Sort sublists.  Add
94235         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
94236         that differ from gnulib for one reason or another; we'd like this list
94237         to be smaller but for now let's document what we have.
94238
94239 2003-07-08  Paul Eggert  <eggert@twinsun.com>
94240
94241         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
94242         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
94243         and sweeter "eval x=$x".
94244         * config/srclist.txt: Get lib/argp* from glibc.
94245
94246 2003-07-07  Paul Eggert  <eggert@twinsun.com>
94247
94248         * lib/mktime.c: Fix some boundary cases and remove need for floating
94249         point.
94250
94251         Issue a compile-time diagnostic if time_t is floating point, or if
94252         two's complement arithmetic is not in effect, or if arithmetic
94253         right shift does not propagate the sign.  These assumptions were
94254         all in the original code but they weren't checked.
94255
94256         (TIME_T_MIDPOINT, verify): New macros.
94257         (__isleap): Remove; it has integer overflow problems.
94258         (leapyear): New function, without those problems.
94259         (ydhms_tm_diff): Remove; splitting into two parts.
94260         (ydhms_diff): New function, containing the arithmetic part of
94261         the old ydhms_tm_diff function.  Issue a compile-time
94262         diagnostic if we are not using C99 integer division.
94263         Avoid casts when possible.
94264         (guess_time_tm): New function, containing the checking part of
94265         the old ydhms_tm_diff function.  Return the new value, rather than
94266         the difference between it and the old.  Accept a new argument T
94267         so that *T specifies the old value.  Check for overflow in the result.
94268
94269         (__mktime_internal): Use a time_t offset, not a long int offset.
94270         This undoes the 2003-06-04 change, which is no longer needed now
94271         that we have better overflow checking.
94272         (localtime_offset): Likewise.
94273
94274         (__mktime_internal): Avoid harmful overflow on hosts where time_t
94275         and long are 64-bit but int is only 32-bit.
94276         (ydhms_diff): Use long int to store year1 and yday1.
94277         Issue a compile-time diagnostic if long int is not wide enough.
94278
94279         (__mktime_internal): Use long int to store adjusted year and yday.
94280         Use plain C rather than preprocessor commands, if that doesn't
94281         affect efficiency.
94282         Check for overflow (and try to repair) after each probe
94283         rather than checking only at the very end.  This avoids some bugs
94284         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
94285         does not equal GMT offset at maximum time).
94286         Use integer to check for overflow rather than floating point; this
94287         is more portable to non-IEEE hosts, and is a tad faster.
94288         When we detect that we are oscillating between two values,
94289         don't check whether tm_isdst has the requested value, since
94290         we already know the answer.  When tm_isdst has the wrong value,
94291         use a different heuristic to find the right one, based on the
94292         extreme values actually observed in practice in tz2003a,
94293         rather than the (overly optimistic) "previous 3 calendar quarters".
94294
94295         (not_equal_tm, print_tm, check_result): Use "const T" rather than
94296         "T const" to accommodate glibc style.
94297         (check_result): Use less-confusing report format.  "long" -> "long int.
94298         (main): Likewise.
94299         Don't loop if the iteration overflows time_t.
94300         Allow a negative step in the iteration.
94301
94302 2003-07-06  Karl Berry  <karl@gnu.org>
94303
94304         * config/depcomp: update from automake.
94305         * config/config.sub: update from prep.
94306
94307 2003-07-03  Karl Berry  <karl@gnu.org>
94308
94309         * config/config.guess: update from prep.
94310
94311 2003-07-01  Paul Eggert  <eggert@twinsun.com>
94312
94313         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
94314         xreadlink.c now includes it unconditionally.
94315
94316 2003-07-01  Paul Eggert  <eggert@twinsun.com>
94317
94318         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
94319         having it depend on HAVE_SYS_TYPES_H.
94320
94321 2003-07-01  Bruno Haible  <bruno@clisp.org>
94322
94323         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
94324         <sys/types.h> should be sufficient.
94325         Reported by Paul Eggert.
94326
94327 2003-06-26  Karl Berry  <karl@gnu.org>
94328
94329         * config/depcomp: update from automake.
94330
94331 2003-06-26  Bruno Haible  <bruno@clisp.org>
94332
94333         * modules/human: Depend on module stdbool.
94334
94335 2003-06-25  Bruno Haible  <bruno@clisp.org>
94336
94337         * modules/readlink: New file.
94338         * modules/xreadlink: Depend on it.
94339         * MODULES.html.sh (func_all_modules): Add readlink.
94340
94341 2003-06-25  Bruno Haible  <bruno@clisp.org>
94342
94343         * m4/readlink.m4: New file.
94344
94345 2003-06-25  Bruno Haible  <bruno@clisp.org>
94346
94347         * lib/readlink.c: New file.
94348
94349 2003-06-22  Karl Berry  <karl@gnu.org>
94350
94351         * config/srclist.txt: update mkinstalldirs from automake.
94352         * config/mkinstalldirs: update.
94353
94354 2003-06-22  Bruno Haible  <bruno@clisp.org>
94355
94356         Portability to mingw32.
94357         * m4/ssize_t.m4: New file, from GNU gettext.
94358         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
94359         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
94360
94361 2003-06-22  Bruno Haible  <bruno@clisp.org>
94362
94363         * modules/safe-read: Add m4/ssize_t.m4.
94364         * modules/xreadlink: Add m4/ssize_t.m4.
94365
94366 2003-06-20  Bruno Haible  <bruno@clisp.org>
94367
94368         Assume C89, so PARAMS isn't needed.
94369         * lib/unicodeio.h (PARAMS): Remove.
94370         * lib/unicodeio.c: Don't use PARAMS.
94371
94372 2003-06-18  Karl Berry  <karl@gnu.org>
94373
94374         * config/config.{guess,sub}: update from prep.
94375
94376 2003-06-18  Jim Meyering  <jim@meyering.net>
94377
94378         Merge changes from coreutils.
94379         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
94380         Remove explicit declarations of xmalloc and realloc.
94381         Include xalloc.h.
94382         (read_utmp): Remove anachronistic cast of xmalloc.
94383
94384 2003-06-17  Paul Eggert  <eggert@twinsun.com>
94385
94386         Assume C89, so PARAMS isn't needed.
94387         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
94388         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
94389         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
94390         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
94391         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
94392         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
94393         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
94394         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
94395         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
94396         lib/xstrtod.h, lib/xstrtol.h: Likewise.
94397         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
94398         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
94399         no longer needed. Anyway, config.h should always be included before any
94400         other file.
94401
94402 2003-06-11  Simon Josefsson  <jas@extundo.com>
94403
94404         * modules/sysexits: New file.
94405         * MODULES.html.sh (func_all_modules): Add sysexits.
94406
94407 2003-06-11  Simon Josefsson  <jas@extundo.com>
94408
94409         * lib/sysexit_.h: New file.
94410
94411 2003-06-11  Derek Price  <derek@ximbiot.com>
94412
94413         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
94414         necessary.
94415
94416 2003-06-11  Bruno Haible  <bruno@clisp.org>
94417
94418         * m4/sysexits.m4: New file.
94419
94420 2003-06-10  Simon Josefsson  <jas@extundo.com>
94421
94422         * lib/argp.h: New file, from glibc.
94423         * lib/argp-ba.c: New file, from glibc.
94424         * lib/argp-eexst.c: New file, from glibc.
94425         * lib/argp-fmtstream.c: New file, from glibc.
94426         * lib/argp-fmtstream.h: New file, from glibc.
94427         * lib/argp-fs-xinl.c: New file, from glibc.
94428         * lib/argp-help.c: New file, from glibc.
94429         * lib/argp-namefrob.h: New file, from glibc.
94430         * lib/argp-parse.c: New file, from glibc.
94431         * lib/argp-pv.c: New file, from glibc.
94432         * lib/argp-pvh.c: New file, from glibc.
94433         * lib/argp-xinl.c: New file, from glibc.
94434
94435 2003-06-10  Simon Josefsson  <jas@extundo.com>
94436
94437         * modules/strchrnul: New file.
94438
94439 2003-06-10  Simon Josefsson  <jas@extundo.com>
94440
94441         * modules/argp: New file.
94442
94443 2003-06-10  Simon Josefsson  <jas@extundo.com>
94444
94445         * m4/strchrnul.m4: New file.
94446
94447 2003-06-10  Simon Josefsson  <jas@extundo.com>
94448
94449         * lib/strchrnul.h: New file.
94450         * lib/strchrnul.c: New file.
94451
94452 2003-06-10  Bruno Haible  <bruno@clisp.org>
94453
94454         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
94455
94456 2003-06-07  Karl Berry  <karl@gnu.org>
94457
94458         * config/config.{guess,sub}: update from prep.
94459
94460 2003-06-07  Jim Meyering  <jim@meyering.net>
94461
94462         * modules/strtod: Use $(...) notation, not @...@ for
94463         AC_REPLACE'd variables.
94464         * modules/localcharset: Likewise.
94465
94466 2003-06-07  Jim Meyering  <jim@meyering.net>
94467
94468         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
94469         in place of my name in the copyright comment.
94470         Remove definition and uses of __P.
94471
94472         From coreutils.
94473         * lib/stat.c: Don't declare xmalloc explicitly.
94474         Instead, include "xalloc.h".
94475         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
94476         xrealloc, and xcalloc return values.
94477         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
94478         Improve comment.
94479         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
94480
94481 2003-06-07  Bruno Haible  <bruno@clisp.org>
94482
94483         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
94484         avoid AC_CONFIG_LINKS.
94485         * modules/fnmatch (Makefile.am): Use explicit creation rule for
94486         fnmatch.h, to avoid AC_CONFIG_LINKS.
94487         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
94488
94489 2003-06-07  Bruno Haible  <bruno@clisp.org>
94490
94491         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
94492         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
94493         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
94494         directory.
94495         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
94496         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
94497         directory.
94498
94499 2003-06-06  Jim Meyering  <jim@meyering.net>
94500
94501         Merge from coreutils.
94502         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
94503         Consolidate declarations and initializations of *_base* locals.
94504
94505         Merge from coreutils.
94506         This avoids a core dump on systems without GNU putenv,
94507         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
94508         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
94509         (unsetenv): New static function, from GNU libc.
94510         (rpl_putenv): Use it.
94511
94512         * lib/modechange.c: Remove trailing blanks.
94513
94514         Merge from coreutils.
94515         * lib/fsusage.c: Remove declaration of statfs.
94516         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
94517
94518         * lib/posixtm.c: Include <stdbool.h> unconditionally.
94519
94520 2003-06-06  Jim Meyering  <jim@meyering.net>
94521
94522         * lib/stdbool_.h: Renamed from stdbool.h.in.
94523
94524 2003-06-06  Jim Meyering  <jim@meyering.net>
94525             Bruno Haible  <bruno@clisp.org>
94526
94527         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
94528         Adjust Makefile.am snippet not to redirect directly to target.
94529         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
94530
94531 2003-06-05  Paul Eggert  <eggert@twinsun.com>
94532
94533         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
94534         mismatch, look in future quarters as well as past.  This fixes a
94535         bug when processing fall-backwards gaps immediately after a long
94536         period of daylight-saving time.
94537
94538         * lib/mktime.c: Assume freestanding C89 or better.
94539         (HAVE_LIMITS_H): Remove.  Assume it's 1.
94540         (__P): Remove; not used.
94541         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
94542         (mktime, not_equal_tm, print_tm, check_result,
94543         main): Use prototypes.  Use const * where appropriate.
94544         (main): Fix typo in testing code that uncovered by above changes.
94545         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
94546
94547 2003-06-04  Paul Eggert  <eggert@twinsun.com>
94548
94549         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
94550         locale.h, localeconv.  This merges changes from coreutils.
94551
94552         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
94553         It can be removed after the next Autoconf is released.
94554         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
94555         needed.
94556
94557 2003-06-04  Paul Eggert  <eggert@twinsun.com>
94558
94559         * lib/mktime.c: Fix Debian bug 177940
94560         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
94561         (localtime_offset): Now long int, not time_t, because we want it
94562         to be guaranteed to be signed.  All uses changed.
94563         (__mktime_internal): If overflow would occur when adding offset,
94564         don't add it.
94565
94566         Merge 'human' changes from coreutils.  Rewrite to support
94567         locale-specific notations like thousands separators.
94568         * lib/human.c: Simplify authorship notice.
94569         Include human.h immediately after config.h.
94570         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
94571         <limits.h>: Do not include, since human.h does.
94572         (SIZE_MAX, UINTMAX_MAX): New macros.
94573         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
94574         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
94575         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
94576         (power_letter): Renamed from suffixes.
94577         (generate_suffix_backwards): Remove.
94578         (adjust_value): Now takes int style (because of human.h changes)
94579         and long double value (for greater precision on some platforms).
94580         (group_number): New function.
94581         (human_readable): Use it.  Use integer options, not enum.
94582         Put the options before the sizes in the arg list.
94583         Support all the new options.
94584         The old human_readable function has been removed;
94585         use inttostr.h instead.
94586         (human_readable, default_block_size, humblock):
94587         Use uintmax_t, not int, for block sizes.
94588         (human_readable_inexact, block_size_types): Remove.
94589         (block_size_opts): New constant.
94590         (human_options): Renamed from human_block_size, with new signature
94591         that allows block sizes up to UINTMAX_MAX.  All callers changed.
94592         * lib/human.h: Add copyright and authorship notice.
94593         Include <limits.h> and <stdbool.h> unconditionally.
94594         (PARAMS): Remove.  All uses removed.
94595         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
94596         (enum human_inexact_style): Remove tag; now a nameless enum.
94597         (human_floor, human_ceiling, human_round_to_even): Now have
94598         values 2, 0, 1 rather than -1, 1, 0.
94599         (human_group_digits, human_suppress_point_zero, human_autoscale,
94600         human_base_1024, human_SI, human_B): New constants.
94601         (human_readable_inexact, human_block_size): Remove.
94602         (human_readable): Size args are now uintmax_t, not int.
94603         (human_options): New decl.
94604
94605         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
94606         unnecessary now that we assume C89 or better.  This change
94607         imported from coreutils.
94608
94609         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
94610         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
94611         in the 2003-05-30 sync from glibc.
94612
94613         .h files should stand alone, but we shouldn't include <sys/types.h>
94614         if we can get away with just <stddef.h>.
94615
94616         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
94617         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
94618         rather than <sys/types.h>, as we merely need size_t.
94619         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
94620         to get size_t.
94621         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
94622         Include <stdio.h>, to get FILE.
94623         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
94624         memcasecmp.h has included <stddef.h> and all we need is size_t.
94625         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
94626         our interface, instead of including <sys/types.h>
94627
94628 2003-06-04  Paul Eggert  <eggert@twinsun.com>
94629
94630         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
94631         now, as glibc mktime is buggy on non-glibc systems.
94632
94633 2003-06-03  Karl Berry  <karl@gnu.org>
94634
94635         * config/config.sub: update from prep.
94636
94637 2003-06-02  Paul Eggert  <eggert@twinsun.com>
94638
94639         [from coreutils]
94640         Fix some minor time-related bugs with POSIX time arguments.
94641         Some valid time stamps were being rejected (notably -1, and
94642         time stamps before 1900 on 64-bit hosts).  And some invalid
94643         time stamps were being accepted, e.g. September 31.
94644
94645         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
94646         that we can return (time_t) -1 successfully.
94647         * lib/posixtm.c: Likewise.
94648         [HAVE_STDBOOL_H]: Include <stdbool.h>.
94649         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
94650         (t): Remove static var.
94651         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
94652         of static var.  All uses changed.
94653         (year): Do not reject years before 1900; they can occur with
94654         64-bit time_t.
94655         (posix_time_parse): Do not check for out-of-range components;
94656         that is now the caller's responsibility, since our checks were
94657         only approximations.
94658         (posixtime): Use mktime to check for out-of-range components,
94659         since it knows them exactly.
94660         If mktime returns (time_t) -1, check whether an error actually occurred
94661         by invoking localtime on -1.
94662         (main) [TEST_POSIXTIME]: Check for input data errors, and report
94663         posixtime failures better.
94664         Improve the test data (in comments only).
94665
94666 2003-06-02  Karl Berry  <karl@gnu.org>
94667
94668         * config/mkinstalldirs (version): new variable.
94669         (--version): new option.
94670         (usage): improve message.
94671
94672 2003-05-30  Karl Berry  <karl@gnu.org>
94673
94674         * lib/mktime.c: update from libc.
94675
94676 2003-05-30  Bruno Haible  <bruno@clisp.org>
94677
94678         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
94679         * config/config.rpath: Upgrade to gettext-0.12.1.
94680
94681 2003-05-30  Bruno Haible  <bruno@clisp.org>
94682
94683         * m4/gettext.m4: Upgrade to gettext-0.12.1.
94684         * m4/nls.m4: New file, from gettext-0.12.1.
94685         * m4/po.m4: New file, from gettext-0.12.1.
94686         * m4/progtest.m4: Upgrade to gettext-0.12.1.
94687
94688 2003-05-30  Bruno Haible  <bruno@clisp.org>
94689
94690         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
94691         * lib/localcharset.h: Likewise.
94692         * lib/localcharset.c: Likewise.
94693
94694 2003-05-29  Karl Berry  <karl@gnu.org>
94695
94696         * config/config.rpath: update from gettext.
94697
94698 2003-05-28  Paul Eggert  <eggert@twinsun.com>
94699
94700         Assume the headers required for C89 freestanding compilers.
94701         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
94702         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
94703         * m4/human.m4 (gl_HUMAN): Likewise.
94704         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
94705         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
94706         * m4/userspec.m4 (gl_USERSPEC): Likewise.
94707         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
94708         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
94709         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
94710
94711 2003-05-28  Paul Eggert  <eggert@twinsun.com>
94712
94713         Assume the headers required for C89 freestanding compilers.
94714         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
94715         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
94716         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
94717         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
94718         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
94719         define, since <limits.h> is guaranteed to do that.
94720         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
94721         * lib/exclude.c: Include <stdbool.h> unconditionally.
94722         * lib/tempname.c: Include <stddef.h> unconditionally.
94723         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
94724         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
94725         <stddef.h> does that.
94726         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
94727         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
94728         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
94729         needed.
94730         * lib/xstrtol.c: Likewise.
94731         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
94732         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
94733
94734         * lib/addext.c (addext): Use assignment rather than cast, to avoid
94735         warnings on some platforms.
94736
94737         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
94738         arbitrarily.
94739
94740 2003-05-26  Jim Meyering  <jim@meyering.net>
94741
94742         Merge in a change from coreutils:
94743         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
94744         that is guaranteed to be `no'.  Use `no_such_member' to indicate
94745         that condition, rather than `-1' which is slightly misleading.
94746         Change the name of the cache variable to have the gl_ prefix.
94747         Prompted by a patch from Richard Dawe for DJGPP.
94748
94749 2003-05-24  Karl Berry  <karl@gnu.org>
94750
94751         * config/config.guess: update from prep.
94752
94753 2003-05-22  Karl Berry  <karl@gnu.org>
94754
94755         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
94756
94757 2003-05-20  Karl Berry  <karl@gnu.org>
94758
94759         * config/config.guess: update from prep.
94760
94761 2003-05-18  Karl Berry  <karl@gnu.org>
94762
94763         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
94764         might actually be set by the user.
94765
94766         * config/depcomp, install-sh, mdate-sh: update from automake.
94767
94768 2003-05-17  Bruno Haible  <bruno@clisp.org>
94769
94770         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
94771         invalid expansion for AC_EGREP_CPP.
94772         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
94773         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
94774         Suggested by Akim Demaille <akim@epita.fr> in
94775         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
94776
94777 2003-05-12  Jim Meyering  <jim@meyering.net>
94778
94779         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
94780         the space-padded-by-default conversion specifiers, %e, %k, %l.
94781
94782 2003-05-12  Bruno Haible  <bruno@clisp.org>
94783
94784         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
94785         the string is longer than 4 KB.
94786
94787 2003-05-11  Karl Berry  <karl@gnu.org>
94788
94789         * config/config.{guess,sub}: update from prep.
94790
94791 2003-05-09  Bruno Haible  <bruno@clisp.org>
94792
94793         * modules/error: Add m4/strerror_r.m4 to file list.
94794
94795 2003-05-03  Bruno Haible  <bruno@clisp.org>
94796
94797         Upgrade to Unicode-4.0.
94798         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
94799         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
94800         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
94801         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
94802         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
94803         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
94804         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
94805         Change width of U+E0100..U+E01EF from 1 to 0.
94806
94807 2003-04-25  Jim Meyering  <jim@meyering.net>
94808
94809         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
94810         of type size_t, not int.
94811
94812 2003-04-25  Bruno Haible  <bruno@clisp.org>
94813
94814         * lib/copy-file.c: Include <stddef.h>, for size_t.
94815
94816 2003-04-21  Paul Eggert  <eggert@twinsun.com>
94817
94818         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
94819         code which expansion is under static control.  Patch imported from
94820         Akim Demaille's patch to Bison; see
94821         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
94822
94823 2003-04-14  Bruno Haible  <bruno@clisp.org>
94824
94825         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
94826
94827 2003-04-11  Jim Meyering  <jim@meyering.net>
94828
94829         Merge changes from Coreutils.
94830
94831         2003-03-22  Jim Meyering  <jim@meyering.net>
94832
94833         * lib/strftime.c (widen): Cast alloca return value to proper type.
94834
94835         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
94836
94837         From GNU libc.
94838         * lib/strftime.c (my_strftime): Handle very large width
94839         specifications for numeric values correctly.  Improve checks for
94840         overflow.
94841
94842         2003-01-19  Jim Meyering  <jim@meyering.net>
94843
94844         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
94845         definitions.
94846         (nl_get_alt_digit) [! defined my_strftime]: Define.
94847         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
94848         _nl_get_alt_digit and _nl_get_walt_digit.
94849
94850         * lib/strftime.c (my_strftime): Merge in locale-related changes from
94851         libc. These changes have no effect outside of _LIBC.
94852
94853 2003-04-10  Bruno Haible  <bruno@clisp.org>
94854
94855         * modules/findprog: New file.
94856         * MODULES.html.sh (func_all_modules): Add it.
94857
94858 2003-04-10  Bruno Haible  <bruno@clisp.org>
94859
94860         * m4/findprog.m4: New file.
94861         * m4/eaccess.m4: New file.
94862
94863 2003-04-10  Bruno Haible  <bruno@clisp.org>
94864
94865         * lib/findprog.h: New file, from GNU gettext.
94866         * lib/findprog.c: New file, from GNU gettext.
94867
94868 2003-04-05  Jim Meyering  <jim@meyering.net>
94869
94870         Merge changes from Coreutils.
94871
94872         * lib/exclude.h (PARAMS): Remove definition and uses.
94873         * lib/exclude.c: Remove uses of `PARAMS'.
94874
94875         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
94876         Add test-cases for DOS filenames. Declare program_name.
94877         (main): Set up program_name.  Patch by Rich Dawe.
94878
94879         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
94880         error from mntctl.
94881         Use mntctl's return value to drive the entry-processing loop, since
94882         we can't rely on the value of the vmt_length member in the last
94883         entry.  On some systems doing so could result in exhausting
94884         virtual memory.  Based in part on a patch from Mike Jetzer.
94885
94886 2003-04-04  Bruno Haible  <bruno@clisp.org>
94887
94888         * modules/linebreak: New file.
94889         * MODULES.html.sh (func_all_modules): Add it.
94890
94891 2003-04-04  Bruno Haible  <bruno@clisp.org>
94892
94893         * m4/linebreak.m4: New file.
94894
94895 2003-04-04  Bruno Haible  <bruno@clisp.org>
94896
94897         * lib/linebreak.h: New file, from GNU gettext.
94898         * lib/linebreak.c: New file, from GNU gettext with slight
94899         modifications.
94900         * lib/lbrkprop.h: New file, from GNU gettext.
94901
94902 2003-04-03  Bruno Haible  <bruno@clisp.org>
94903
94904         * modules/utf8-ucs4: New file.
94905         * modules/utf16-ucs4: New file.
94906         * modules/ucs4-utf8: New file.
94907         * modules/ucs4-utf16: New file.
94908         * MODULES.html.sh (func_all_modules): Add them.
94909
94910 2003-04-03  Bruno Haible  <bruno@clisp.org>
94911
94912         * m4/utf-ucs4.m4: New file.
94913         * m4/ucs4-utf.m4: New file.
94914
94915 2003-04-03  Bruno Haible  <bruno@clisp.org>
94916
94917         * lib/utf8-ucs4.h: New file, from GNU gettext.
94918         * lib/utf16-ucs4.h: New file, from GNU gettext.
94919         * lib/ucs4-utf8.h: New file, from GNU gettext.
94920         * lib/ucs4-utf16.h: New file, from GNU gettext.
94921
94922 2003-04-02  Bruno Haible  <bruno@clisp.org>
94923
94924         * modules/binary-io: New file.
94925         * MODULES.html.sh (func_all_modules): Add it.
94926
94927 2003-04-02  Bruno Haible  <bruno@clisp.org>
94928
94929         * lib/binary-io.h: New file, from GNU gettext.
94930
94931 2003-04-01  Bruno Haible  <bruno@clisp.org>
94932
94933         * modules/pathname: New file.
94934         * MODULES.html.sh (func_all_modules): Add it.
94935
94936 2003-04-01  Bruno Haible  <bruno@clisp.org>
94937
94938         * lib/pathname.h: New file, from GNU gettext.
94939         * lib/concatpath.c: New file, from GNU gettext.
94940
94941 2003-03-30  Bruno Haible  <bruno@clisp.org>
94942
94943         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
94944
94945 2003-03-30  Bruno Haible  <bruno@clisp.org>
94946
94947         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
94948         function chown() doesn't exist.
94949
94950 2003-03-28  Bruno Haible  <bruno@clisp.org>
94951
94952         * modules/copy-file: New file.
94953         * MODULES.html.sh (func_all_modules): Add it.
94954
94955 2003-03-28  Bruno Haible  <bruno@clisp.org>
94956
94957         * m4/copy-file.m4: New file.
94958
94959 2003-03-28  Bruno Haible  <bruno@clisp.org>
94960
94961         * lib/copy-file.h: New file, from GNU gettext.
94962         * lib/copy-file.c: New file, from GNU gettext.
94963
94964 2003-03-18  Jim Meyering  <jim@meyering.net>
94965
94966         * lib/quote.c (quote_n): Fix typo in comment.
94967
94968 2003-03-18  Bruno Haible  <bruno@clisp.org>
94969
94970         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
94971         checking.
94972         * m4/onceonly_2_57.m4: Likewise.
94973
94974 2003-03-17  Bruno Haible  <bruno@clisp.org>
94975
94976         * m4/onceonly.m4: Require autoconf 2.54 or newer.
94977         (m4_quote): Remove macro.
94978         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
94979
94980 2003-03-14  Jim Meyering  <jim@meyering.net>
94981
94982         Merge changes from Coreutils.
94983         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
94984         to be const, in order to avoid warnings.
94985         (obstack_room): Likewise.
94986         (obstack_empty_p): Likewise.
94987
94988 2003-03-14  Bruno Haible  <bruno@clisp.org>
94989
94990         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
94991         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
94992
94993 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94994
94995         Merge changes from Bison.
94996         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
94997         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
94998         when compiling Bison 1.875's `bitset bset = obstack_alloc
94999         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
95000         * lib/hash.c: Include <stdbool.h> unconditionally.
95001
95002 2003-03-13  Paul Eggert  <eggert@twinsun.com>
95003
95004         * m4/onceonly.m4 (m4_quote): New macro.
95005         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
95006         Quote AC_FOREACH variable-expansions properly.
95007
95008 2003-03-13  Paul Eggert  <eggert@twinsun.com>
95009
95010         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
95011
95012 2003-03-09  Paul Eggert  <eggert@twinsun.com>
95013
95014         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
95015         Reported by Bruce Becker; see:
95016         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
95017
95018 2003-03-03  Paul Eggert  <eggert@twinsun.com>
95019             Bruno Haible  <bruno@clisp.org>
95020
95021         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
95022         Reported by John Hughes, see
95023         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
95024
95025 2003-02-20  Bruno Haible  <bruno@clisp.org>
95026
95027         * MODULES.html.sh (func_all_modules): Add poll.
95028
95029 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
95030
95031         * modules/poll: New file.
95032
95033 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
95034
95035         * lib/poll_.h: New file.
95036         * lib/poll.c: New file.
95037
95038 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
95039
95040         * m4/poll.m4: New file.
95041
95042 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
95043
95044         * modules/mathl: New file.
95045
95046 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
95047
95048         * lib/mathl.h: New file.
95049         * lib/acosl.c: New file.
95050         * lib/asinl.c: New file.
95051         * lib/atanl.c: New file.
95052         * lib/ceill.c: New file.
95053         * lib/cosl.c: New file.
95054         * lib/expl.c: New file.
95055         * lib/floorl.c: New file.
95056         * lib/frexpl.c: New file.
95057         * lib/ldexpl.c: New file.
95058         * lib/logl.c: New file.
95059         * lib/sincosl.c: New file.
95060         * lib/sinl.c: New file.
95061         * lib/sqrtl.c: New file.
95062         * lib/tanl.c: New file.
95063         * lib/trigl.c: New file.
95064         * lib/trigl.h: New file.
95065
95066 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
95067
95068         * m4/mathl.m4: New file.
95069
95070 2003-02-18  Bruno Haible  <bruno@clisp.org>
95071
95072         * MODULES.html.sh (func_all_modules): Add mathl.
95073
95074 2003-02-17  Bruno Haible  <bruno@clisp.org>
95075
95076         * modules/mkdtemp: New module.
95077         * MODULES.html.sh (func_all_modules): Add it.
95078
95079 2003-02-17  Bruno Haible  <bruno@clisp.org>
95080
95081         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
95082
95083 2003-02-17  Bruno Haible  <bruno@clisp.org>
95084
95085         * lib/mkdtemp.h: New file, from GNU gettext.
95086         * lib/mkdtemp.c: New file, from GNU gettext.
95087
95088 2003-02-02  Jim Meyering  <jim@meyering.net>
95089
95090         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
95091         e.g. glibc-2.2.93.
95092
95093 2003-01-31  Bruno Haible  <bruno@clisp.org>
95094
95095         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
95096         'rpl_rename'.
95097         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
95098         'rpl_strnlen'.
95099         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
95100         'rpl_strtod'.
95101         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
95102         'rpl_utime'.
95103
95104 2003-01-31  Bruno Haible  <bruno@clisp.org>
95105
95106         * lib/rename.c: #undef rename before defining rpl_rename.
95107         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
95108
95109 2003-01-30  Bruno Haible  <bruno@clisp.org>
95110
95111         * modules/vasnprintf, modules/vasprintf: New modules.
95112         * MODULES.html.sh (func_all_modules): Add them.
95113
95114 2003-01-30  Bruno Haible  <bruno@clisp.org>
95115
95116         * m4/signed.m4: New file, from GNU gettext.
95117         * m4/longdouble.m4: New file, from GNU gettext.
95118         * m4/wchar_t.m4: New file, from GNU gettext.
95119         * m4/wint_t.m4: New file, from GNU gettext.
95120         * m4/vasnprintf.m4: New file.
95121         * m4/vasprintf.m4: New file.
95122
95123 2003-01-30  Bruno Haible  <bruno@clisp.org>
95124
95125         * lib/printf-args.h: New file, from GNU gettext.
95126         * lib/printf-args.c: New file, from GNU gettext.
95127         * lib/printf-parse.h: New file, from GNU gettext.
95128         * lib/printf-parse.c: New file, from GNU gettext.
95129         * lib/vasnprintf.h: New file, from GNU gettext.
95130         * lib/vasnprintf.c: New file, from GNU gettext.
95131         * lib/asnprintf.c: New file, from GNU gettext.
95132         * lib/vasprintf.h: New file, from GNU gettext with modifications.
95133         * lib/vasprintf.c: New file, from GNU gettext.
95134         * lib/asprintf.c: New file, from GNU gettext.
95135
95136 2003-01-29  Bruno Haible  <bruno@clisp.org>
95137
95138         * modules/stpncpy: New module.
95139         * MODULES.html.sh (func_all_modules): Add it.
95140
95141 2003-01-29  Bruno Haible  <bruno@clisp.org>
95142
95143         * m4/stpncpy.m4: New file.
95144
95145 2003-01-29  Bruno Haible  <bruno@clisp.org>
95146
95147         * lib/stpncpy.h: New file, from GNU gettext with modifications.
95148         * lib/stpncpy.c: New file, from GNU gettext with modifications.
95149
95150 2003-01-28  Bruno Haible  <bruno@clisp.org>
95151
95152         * modules/c-ctype: New module.
95153         * MODULES.html.sh (func_all_modules): Add it.
95154
95155 2003-01-28  Bruno Haible  <bruno@clisp.org>
95156
95157         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
95158         Paul Eggert.
95159         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
95160         Paul Eggert.
95161
95162 2003-01-27  Bruno Haible  <bruno@clisp.org>
95163
95164         * modules/xsetenv: New module.
95165         * MODULES.html.sh (func_all_modules): Add it.
95166
95167 2003-01-27  Bruno Haible  <bruno@clisp.org>
95168
95169         * lib/xsetenv.h: New file, from GNU gettext.
95170         * lib/xsetenv.c: New file, from GNU gettext.
95171
95172 2003-01-23  Jim Meyering  <jim@meyering.net>
95173
95174         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
95175         from working on systems without dirfd (at least Irix and OSF1/Tru64).
95176
95177 2003-01-23  Bruno Haible  <bruno@clisp.org>
95178
95179         * modules/minmax: New module.
95180         * MODULES.html.sh (func_all_modules): Add it.
95181
95182 2003-01-23  Bruno Haible  <bruno@clisp.org>
95183
95184         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
95185         Eggert.
95186
95187 2003-01-22  Bruno Haible  <bruno@clisp.org>
95188
95189         * modules/exit: New module.
95190         * MODULES.html.sh (func_all_modules): Add it.
95191
95192 2003-01-22  Bruno Haible  <bruno@clisp.org>
95193
95194         * lib/exit.h: New file, from GNU gettext.
95195
95196 2003-01-19  Bruno Haible  <bruno@clisp.org>
95197
95198         * gnulib-tool: Recognize option --extract-maintainer.
95199         (func_get_maintainer): New function.
95200         * modules/*: Add Maintainer entry.
95201
95202 2003-01-16  Jim Meyering  <jim@meyering.net>
95203
95204         * m4/regex.m4: The `regex' struct is both input and output.
95205         Initialize it before each use.  Patch by Tim Waugh.
95206
95207 2003-01-16  Bruno Haible  <bruno@clisp.org>
95208
95209         * MODULES.html.sh: Add a table of contents. Add the module name as
95210         leftmost column. Add hyperlinks.
95211
95212 2003-01-15  Bruno Haible  <bruno@clisp.org>
95213
95214         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
95215
95216 2003-01-15  Bruno Haible  <bruno@clisp.org>
95217
95218         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
95219         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
95220         suffix.
95221
95222 2003-01-15  Bruno Haible  <bruno@clisp.org>
95223
95224         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
95225
95226 2003-01-15  Bruno Haible  <bruno@clisp.org>
95227
95228         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
95229         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
95230
95231 2003-01-14  Jim Meyering  <jim@meyering.net>
95232
95233         * lib/same.c (same_name): Tweak a comment.
95234
95235 2003-01-14  Bruno Haible  <bruno@clisp.org>
95236
95237         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
95238         when a string comparison is sufficient.
95239
95240 2003-01-14  Bruno Haible  <bruno@clisp.org>
95241
95242         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
95243         'unsigned int'.
95244
95245 2003-01-14  Bruno Haible  <bruno@clisp.org>
95246
95247         * lib/hash-pjw.c: Add comment about low quality of this function.
95248
95249 2003-01-13  Bruno Haible  <bruno@clisp.org>
95250
95251         * modules/stpcpy: Distribute lib/stpcpy.h.
95252         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
95253
95254 2003-01-13  Bruno Haible  <bruno@clisp.org>
95255
95256         * modules/*: Add a description.
95257         * modules/strpbrk: Fix Makefile.am snippet.
95258         * modules/strtoimax: Fix dependencies.
95259         * modules/strtoumax: Likewise.
95260
95261 2003-01-13  Bruno Haible  <bruno@clisp.org>
95262
95263         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
95264         * modules/alloca (Makefile.am): All object files depend on alloca.h.
95265         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
95266
95267 2003-01-13  Bruno Haible  <bruno@clisp.org>
95268
95269         * gnulib-tool (func_create_testdir): Store config/* files in the main
95270         directory.
95271         * config.rpath: Move to ...
95272         * config/config.rpath: ... here.
95273         * modules/gettext: Contains config/config.rpath, not config.rpath.
95274         * modules/iconv: Likewise.
95275
95276 2003-01-12  Paul Eggert  <eggert@twinsun.com>
95277
95278         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
95279         to avoid collisions with libcurses and libreadline.
95280
95281         * m4/getstr.m4: Remove.
95282         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
95283
95284 2003-01-12  Paul Eggert  <eggert@twinsun.com>
95285
95286         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
95287         to avoid collisions with libcurses and libreadline.
95288
95289         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
95290         * lib/getstr.h, getstr.c: Remove.
95291         * lib/getline.c: Include "getline.h", to check interface.
95292         Move body of old getstr.c here: this defines MIN_CHUNK and
95293         declares getdelim2, which is renamed from getstr.
95294         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
95295
95296         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
95297         All uses changed.
95298         * lib/linebuffer.h: Likewise.
95299         (readline): Remove backward-compatibility macro.
95300
95301 2003-01-12  Paul Eggert  <eggert@twinsun.com>
95302
95303         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
95304         to avoid collisions with libcurses and libreadline.
95305         * getstr: Remove.
95306         * MODULES.html.sh: Remove getstr.
95307         * modules/getline: Depend on unlocked-io, not getstr.
95308
95309 2003-01-12  Jim Meyering  <jim@meyering.net>
95310
95311         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
95312
95313 2003-01-10  Bruno Haible  <bruno@clisp.org>
95314
95315         * modules/alloca: Change Makefile.am requirements. Simplify Include
95316         requirements. Add lib/alloca_.h to file list.
95317
95318 2003-01-10  Bruno Haible  <bruno@clisp.org>
95319
95320         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
95321
95322 2003-01-10  Bruno Haible  <bruno@clisp.org>
95323
95324         * lib/alloca_.h: New file.
95325         * lib/getdate.y: Unconditionally include alloca.h.
95326         * lib/makepath.c: Likewise.
95327         * lib/setenv.c: Likewise.
95328         * lib/userspec.c: Likewise.
95329
95330 2003-01-09  Karl Berry  <karl@gnu.org>
95331
95332         * MODULES.html.sh: include `dirname $0` in PATH, to find
95333         gnulib-tool.
95334
95335 2003-01-09  Bruno Haible  <bruno@clisp.org>
95336
95337         * modules/stdbool: Change configure.ac, Makefile.am requirements.
95338         Simplify Include requirements. Add lib/stdbool.h.in to file list.
95339
95340 2003-01-09  Bruno Haible  <bruno@clisp.org>
95341
95342         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
95343
95344 2003-01-09  Bruno Haible  <bruno@clisp.org>
95345
95346         * lib/stdbool.h.in: New file.
95347
95348 2003-01-09  Bruno Haible  <bruno@clisp.org>
95349
95350         * gnulib-tool (func_all_modules): Ignore files ending in ~.
95351         * MODULES.html.sh: Likewise.
95352
95353 2003-01-08  Jim Meyering  <jim@meyering.net>
95354
95355         * lib/full-write.c: Undefine and define-away `const' after inclusion
95356         of errno.h, not before.  Suggestion from Bruno Haible.
95357
95358 2003-01-08  Bruno Haible  <bruno@clisp.org>
95359
95360         * modules/full-read: Depend on full-write.
95361
95362 2003-01-08  Bruno Haible  <bruno@clisp.org>
95363
95364         * lib/safe-read.c: Include specification header first, to ensure its
95365         selfcontainedness.
95366         * lib/full-write.c: Likewise.
95367
95368 2003-01-07  Jim Meyering  <jim@meyering.net>
95369
95370         * lib/full-write.c: Rework so that it may serve to define full_read,
95371         too.
95372         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
95373
95374 2003-01-07  Bruno Haible  <bruno@clisp.org>
95375
95376         * lib/strtoimax.c: Include <stdint.h> as an alternative to
95377         <inttypes.h>.
95378         * lib/xstrtol.h: Likewise.
95379         * lib/xstrtoimax.c: Likewise.
95380         * lib/xstrtoumax.c: Likewise.
95381         * lib/human.h: Likewise.
95382
95383         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
95384         on systems that have <inttypes.h> but not <stdint.h>.
95385
95386 2003-01-07  Bruno Haible  <bruno@clisp.org>
95387
95388         * MODULES.html.sh: Add copyright notice.
95389         (missed_files): Omit CVS directory entries.
95390         (func_module): Make it work with sed-3.02.
95391         * MODULES.txt: Remove file.
95392
95393 2003-01-06  Jim Meyering  <jim@meyering.net>
95394
95395         * lib/version-etc.c: Update year in translatable copyright string.
95396
95397 2003-01-03  Karl Berry  <karl@gnu.org>
95398
95399         * config/config.{guess,sub}: update from prep.
95400
95401 2003-01-02  Karl Berry  <karl@gnu.org>
95402
95403         * doc/COPYING.DOC: belatedly updated to 1.2.
95404
95405 2003-01-01  Karl Berry  <karl@gnu.org>
95406
95407         * gnulib-tool (func_verify_module): report module name $module in
95408         error message, not $1.
95409         * gnulib-tool (create-testdir): don't complain if destdir couldn't
95410         be created, only if it doesn't exist.
95411         * gnulib-tool (last_checkin_date): don't expand the $Date here.
95412
95413 2002-12-31  Paul Eggert  <eggert@twinsun.com>
95414
95415         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
95416
95417 2002-12-31  Paul Eggert  <eggert@twinsun.com>
95418
95419         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
95420         memcmp if strcoll doesn't work.
95421
95422 2002-12-31  Bruno Haible  <bruno@clisp.org>
95423
95424         * lib/utime.c (utime_null): No need to call ftruncate if the file was
95425         nonempty.
95426
95427 2002-12-31  Bruno Haible  <bruno@clisp.org>
95428
95429         * lib/memcoll.c (STRCOLL): New macro.
95430         (memcoll): Use it.
95431
95432 2002-12-31  Bruno Haible  <bruno@clisp.org>
95433
95434         * lib/localcharset.h: New file.
95435         * lib/localcharset.c: Include it.
95436         * lib/unicodeio.c: Likewise.
95437
95438 2002-12-31  Bruno Haible  <bruno@clisp.org>
95439
95440         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
95441         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
95442
95443 2002-12-31  Bruno Haible  <bruno@clisp.org>
95444
95445         * lib/getline.h: Include <stddef.h>, for size_t.
95446
95447         * lib/unicodeio.h: Include <stddef.h>, for size_t.
95448         * lib/unicodeio.c: Don't include <stddef.h>.
95449
95450 2002-12-31  Bruno Haible  <bruno@clisp.org>
95451
95452         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
95453         HAVE_TM_ZONE.
95454
95455 2002-12-24  Karl Berry  <karl@gnu.org>
95456
95457         * config/config.guess: update from prep.
95458
95459 2002-12-24  Bruno Haible  <bruno@clisp.org>
95460
95461         General infrasructure.
95462         * m4/README: Rewritten.
95463         * m4/onceonly.m4: New file.
95464         * m4/onceonly_2_57.m4: New file.
95465
95466         Module atexit.
95467         * m4/atexit.m4: New file.
95468
95469         Module strtod.
95470         * m4/strtod.m4: New file.
95471
95472         Module strtol.
95473         * m4/strtol.m4: New file.
95474
95475         Module strtoul.
95476         * m4/strtoul.m4: New file.
95477
95478         Module memchr.
95479         * m4/memchr.m4: New file.
95480
95481         Module memcmp.
95482         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
95483         (jm_FUNC_MEMCMP): Invoke it.
95484
95485         Module memcpy.
95486         * m4/memcpy.m4: New file.
95487
95488         Module memmove.
95489         * m4/memmove.m4: New file.
95490
95491         Module memset.
95492         * m4/memset.m4: New file.
95493
95494         Module strcspn.
95495         * m4/strcspn.m4: New file.
95496
95497         Module strpbrk.
95498         * m4/strpbrk.m4: New file.
95499
95500         Module strstr.
95501         * m4/strstr.m4: New file.
95502
95503         Module strerror.
95504         * m4/strerror.m4: New file.
95505
95506         Module mktime.
95507         * m4/mktime.m4: Renamed from jm-mktime.m4.
95508         (gl_PREREQ_MKTIME): New macro.
95509         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
95510
95511         Module malloc.
95512         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
95513         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
95514         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
95515
95516         Module realloc.
95517         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
95518         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
95519         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
95520
95521         Module strftime.
95522         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
95523         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
95524         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
95525         gl_TM_GMTOFF.
95526         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
95527
95528         Module xalloc.
95529         * m4/xalloc.m4: New file.
95530
95531         Module alloca.
95532         * m4/alloca.m4: New file.
95533
95534         Module putenv.
95535         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
95536         (jm_FUNC_PUTENV): Invoke it.
95537
95538         Module setenv.
95539         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
95540         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
95541         when invoked twice.
95542         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
95543         gt_FUNC_SETENV.
95544
95545         Module memrchr.
95546         * m4/memrchr.m4: New file.
95547
95548         Module stpcpy.
95549         * m4/stpcpy.m4: New file.
95550
95551         Module strcase.
95552         * m4/strcase.m4: New file.
95553
95554         Module strdup.
95555         * m4/strdup.m4: New file.
95556
95557         Module strnlen.
95558         * m4/strnlen.m4: New file.
95559
95560         Module strndup.
95561         * m4/strndup.m4: New file.
95562
95563         Module xstrtod.
95564         * m4/xstrtod.m4: New file.
95565
95566         Module xstrtol.
95567         * m4/xstrtol.m4: New file.
95568
95569         Module getdate.
95570         * m4/getdate.m4: New file.
95571
95572         Module unlocked-io.
95573         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
95574         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
95575         * m4/jm-glibc-io.m4n: Remove file.
95576
95577         Module long-options.
95578         * m4/long-options.m4: New file.
95579
95580         Module md5.
95581         * m4/md5.m4: New file.
95582
95583         Module sha.
95584         * m4/sha.m4: New file.
95585
95586         Module getstr.
95587         * m4/getstr.m4: New file.
95588
95589         Module getline.
95590         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
95591         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
95592         <sys/types.h>, for size_t. Use the function name gnu_getline, not
95593         simply getline. Infoke gl_PREREQ_GETLINE.
95594
95595         Module obstack.
95596         * m4/obstack.m4: New file.
95597
95598         Module hash.
95599         * m4/hash.m4: New file.
95600
95601         Module readtokens.
95602         * m4/readtokens.m4: New file.
95603
95604         Module strverscmp.
95605         * m4/strverscmp.m4: New file.
95606
95607         Module stdbool.
95608         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
95609         OSF/1.
95610
95611         Module strtoll.
95612         * m4/strtoll.m4: New file.
95613
95614         Module strtoull.
95615         * m4/strtoull.m4: New file.
95616
95617         Module strtoimax.
95618         * m4/strtoimax.m4: New file.
95619
95620         Module strtoumax.
95621         * m4/strtoumax.m4: New file.
95622
95623         Module xstrtoimax.
95624         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
95625         jm_AC_PREREQ_XSTRTOIMAX.
95626         Moved the strtol prerequisites to strtol.m4.
95627         Moved the strtoll prerequisites to strtoll.m4.
95628         Moved the strtoimax prerequisites to strtoimax.m4.
95629
95630         Module xstrtoumax.
95631         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
95632         jm_AC_PREREQ_XSTRTOUMAX.
95633         Moved the strtoul prerequisites to strtoul.m4.
95634         Moved the strtoull prerequisites to strtoull.m4.
95635         Moved the strtoumax prerequisites to strtoumax.m4.
95636
95637         Module chown.
95638         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
95639         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
95640
95641         Module dup2.
95642         * m4/dup2.m4: New file.
95643
95644         Module ftruncate.
95645         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
95646         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
95647
95648         Module getgroups.
95649         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
95650         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
95651
95652         Module gettimeofday.
95653         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
95654         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
95655         gl_PREREQ_GETTIMEOFDAY.
95656
95657         Module mkdir.
95658         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
95659         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
95660
95661         Module mkstemp.
95662         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
95663         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
95664         jm_AC_TYPE_UINTMAX_T.
95665         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
95666
95667         Module stat.
95668         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
95669         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
95670
95671         Module lstat.
95672         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
95673         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
95674
95675         Module timespec.
95676         * m4/timespec.m4 (gl_TIMESPEC): New macro.
95677         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
95678         * m4/st_mtim.m4: Indentation.
95679
95680         Module nanosleep.
95681         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
95682         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
95683         gl_PREREQ_NANOSLEEP.
95684
95685         Module regex.
95686         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
95687         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
95688         (gl_REGEX): New macro.
95689
95690         Module rename.
95691         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
95692         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
95693
95694         Module rmdir.
95695         * m4/rmdir.m4: New file.
95696
95697         Module utime.
95698         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
95699         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
95700         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
95701
95702         Module dirname.
95703         * m4/dirname.m4: New file.
95704
95705         Module getopt.
95706         * m4/getopt.m4: New file.
95707
95708         Module unistd-safer.
95709         * m4/unistd-safer.m4: New file.
95710
95711         Module fnmatch.
95712         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
95713         declaration.
95714         (gl_PREREQ_FNMATCH_EXTRA): New macro.
95715         (gl_FUNC_FNMATCH_POSIX): New macro.
95716         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
95717         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
95718         simply fnmatch.
95719
95720         Module exclude.
95721         * m4/exclude.m4: New file.
95722
95723         Module human.
95724         * m4/human.m4: New file.
95725
95726         Module acl.
95727         * m4/acl.m4: Nop.
95728
95729         Module backupfile.
95730         * m4/backupfile.m4: New file.
95731         * m4/d-ino.m4: Indentation.
95732
95733         Module fsusage.
95734         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
95735         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
95736         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
95737
95738         Module dirfd.
95739         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
95740         requirements.
95741
95742         Module euidaccess.
95743         * m4/euidaccess.m4: New file.
95744
95745         Module file-type.
95746         * m4/file-type.m4: New file.
95747
95748         Module fileblocks.
95749         * m4/fileblocks.m4: New file.
95750
95751         Module filemode.
95752         * m4/filemode.m4: New file.
95753
95754         Module isdir.
95755         * m4/isdir.m4: New file.
95756
95757         Module lchown.
95758         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
95759         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
95760
95761         Module makepath.
95762         * m4/makepath.m4: New file.
95763
95764         Module modechange.
95765         * m4/modechange.m4: New file.
95766
95767         Module mountlist.
95768         * m4/mountlist.m4: New file.
95769         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
95770         Indentation.
95771
95772         Module path-concat.
95773         * m4/path-concat.m4: New file.
95774
95775         Module pathmax.
95776         * m4/pathmax.m4: New file.
95777
95778         Module same.
95779         * m4/same.m4: New file.
95780
95781         Module save-cwd.
95782         * m4/save-cwd.m4: New file.
95783
95784         Module savedir.
95785         * m4/savedir.m4: New file.
95786
95787         Module xgetcwd.
95788         * m4/xgetcwd.m4: New file.
95789         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
95790
95791         Module xreadlink.
95792         * m4/xreadlink.m4: New file.
95793
95794         Module safe-read.
95795         * m4/safe-read.m4: New file.
95796
95797         Module safe-write.
95798         * m4/safe-write.m4: New file.
95799
95800         Module closeout.
95801         * m4/closeout.m4: New file.
95802
95803         Module stdio-safer.
95804         * m4/stdio-safer.m4: New file.
95805
95806         Module getpass.
95807         * m4/getpass.m4: New file.
95808
95809         Module getugroups.
95810         * m4/getugroups.m4: New file.
95811
95812         Module group-member.
95813         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
95814         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
95815
95816         Module idcache.
95817         * m4/idcache.m4: New file.
95818
95819         Module userspec.
95820         * m4/userspec.m4: New file.
95821
95822         Module gettime.
95823         * m4/clock_time.m4: New file.
95824         * m4/gettime.m4: New file.
95825
95826         Module settime.
95827         * m4/settime.m4: New file.
95828
95829         Module posixtm.
95830         * m4/posixtm.m4: New file.
95831
95832         Module gethostname.
95833         * m4/gethostname.m4: New file.
95834
95835         Module canon-host.
95836         * m4/canon-host.m4: New file.
95837
95838         Module gettext.
95839         * m4/codeset.m4: New file, from gettext-0.11.5.
95840         * m4/gettext.m4: New file, from gettext-0.11.5.
95841         * m4/glibc21.m4: New file, from gettext-0.11.5.
95842         * m4/iconv.m4: New file, from gettext-0.11.5.
95843         * m4/intdiv0.m4: New file, from gettext-0.11.5.
95844         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
95845         * m4/inttypes.m4: New file, from gettext-0.11.5.
95846         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
95847         * m4/isc-posix.m4: New file, from gettext-0.11.5.
95848         * m4/lcmessage.m4: New file, from gettext-0.11.5.
95849         * m4/lib-ld.m4: New file, from gettext-0.11.5.
95850         * m4/lib-link.m4: New file, from gettext-0.11.5.
95851         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
95852         * m4/progtest.m4: New file, from gettext-0.11.5.
95853         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
95854         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
95855         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
95856
95857         Module localcharset.
95858         * m4/localcharset.m4: New file.
95859
95860         Module hard-locale.
95861         * m4/hard-locale.m4: New file.
95862
95863         Module mbswidth.
95864         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
95865         onceonly macros.
95866         * m4/mbrtowc.m4: Add comment.
95867
95868         Module memcasecmp.
95869         * m4/memcasecmp.m4: New file.
95870
95871         Module memcoll.
95872         * m4/memcoll.m4: New file.
95873
95874         Module unicodeio.
95875         * m4/unicodeio.m4: New file.
95876
95877         Module rpmatch.
95878         * m4/rpmatch.m4: New file.
95879
95880         Module yesno.
95881         * m4/yesno.m4: New file.
95882
95883         Module exitfail.
95884         * m4/exitfail.m4: New file.
95885
95886         Module c-stack.
95887         * m4/c-stack.m4 (gl_C_STACK): New macro.
95888         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
95889
95890         Module error.
95891         * m4/error.m4 (gl_ERROR): New macro.
95892         (jm_PREREQ_ERROR): Use onceonly macros.
95893
95894         Module fatal.
95895         * m4/fatal.m4: New file.
95896
95897         Module getloadavg.
95898         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
95899         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
95900
95901         Module getpagesize.
95902         * m4/getpagesize.m4: New file.
95903
95904         Module getusershell.
95905         * m4/getusershell.m4: New file.
95906
95907         Module physmem.
95908         * m4/physmem.m4: New file.
95909
95910         Module posixver.
95911         * m4/posixver.m4: New file.
95912
95913         Module quotearg.
95914         * m4/quotearg.m4: New file.
95915
95916         Module quote.
95917         * m4/quote.m4: New file.
95918
95919         Module readutmp.
95920         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
95921
95922         Module sig2str.
95923         * m4/sig2str.m4: New file.
95924
95925         Other.
95926         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
95927         ulonglong.m4.
95928         * m4/intmax_t.m4: New file.
95929         * m4/d-type.m4: Indentation.
95930         * m4/jm-macros.m4: Update.
95931         * m4/prereq.m4 (jm_PREREQ): Update.
95932         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
95933         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
95934         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
95935         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
95936         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
95937         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
95938         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
95939         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
95940         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
95941         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
95942         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
95943         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
95944         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
95945         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
95946         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
95947         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
95948         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
95949         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
95950         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
95951
95952 2002-12-24  Bruno Haible  <bruno@clisp.org>
95953
95954         * MODULES.txt: Update according to m4/ changes.
95955
95956         Module gettext.
95957         * config.rpath: New file, from gettext-0.11.5.
95958
95959         * modules/*: New module descriptions.
95960         * gnulib-tool: New file.
95961         * MODULES.html.sh: New file.
95962
95963 2002-12-21  Karl Berry  <karl@gnu.org>
95964
95965         * doc/fdl.texi: update to version 1.2.
95966
95967 2002-12-19  Karl Berry  <karl@gnu.org>
95968
95969         * config/config.guess: update from prep.
95970
95971 2002-12-18  Bruno Haible  <bruno@clisp.org>
95972
95973         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
95974         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
95975
95976 2002-12-17  Bruno Haible  <bruno@clisp.org>
95977
95978         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
95979         stdlib.h, string.h.
95980
95981 2002-12-17  Bruno Haible  <bruno@clisp.org>
95982
95983         * lib/canon-host.c (strdup): Remove unused declaration.
95984
95985         * lib/fsusage.c: Include full_read.h.
95986         (get_fs_usage): Use full_read instead of safe_read.
95987
95988         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
95989
95990 2002-12-12  Karl Berry  <karl@gnu.org>
95991
95992         * config/config.guess: update from prep.
95993
95994 2002-12-11  Bruno Haible  <bruno@clisp.org>
95995
95996         * m4/setenv.m4: New file, from gettext-0.11.5.
95997
95998 2002-12-11  Bruno Haible  <bruno@clisp.org>
95999
96000         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
96001         not unsetenv().
96002         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
96003         modifications:
96004
96005         2002-12-11  Bruno Haible  <bruno@clisp.org>
96006
96007                 * setenv.c (alloca): Fall back to malloc.
96008                 (freea): New macro.
96009                 (setenv): Use freea() to free memory allocated with alloca().
96010
96011         2002-11-13  Bruno Haible  <bruno@clisp.org>
96012
96013                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
96014                 function declarations.
96015                 * unsetenv.c (unsetenv): Likewise.
96016
96017         2002-03-04  Bruno Haible  <bruno@clisp.org>
96018
96019                 Portability to AIX 4.3.3.
96020                 * unsetenv.c: New file, extracted from setenv.c.
96021                 * setenv.c: Move the unsetenv() function to unsetenv.c.
96022
96023         2001-12-20  Bruno Haible  <bruno@clisp.org>
96024
96025                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
96026                 use malloc instead. For SunOS 4.
96027
96028         2001-12-11  Bruno Haible  <bruno@clisp.org>
96029
96030                 * setenv.c: Declare alloca.
96031                 (compar_fn_t): New typedef.
96032                 (KNOWN_VALUE, STORE_VALUE): Use it.
96033
96034         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
96035         setenv.h.
96036
96037 2002-12-10  Paul Eggert  <eggert@twinsun.com>
96038
96039         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
96040         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
96041         Choose values that are less likely to collide with system fnmatch
96042         options.
96043         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
96044         defined (e.g., a pure POSIX system).
96045         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
96046         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
96047
96048 2002-12-06  Paul Eggert  <eggert@twinsun.com>
96049
96050         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
96051         a pain in practice to deal with generated m4 files.  This change
96052         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
96053
96054         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
96055         and jm-glibc-io.m4, as they are no longer a special case.
96056         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
96057         kludge and the auto-generation stuff.  Check only whether the
96058         functions are declared, not whether they exist, since older hosts
96059         that don't declare the functions can't use the optimization anyway.
96060
96061 2002-12-06  Jim Meyering  <jim@meyering.net>
96062
96063         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
96064
96065         Merge in changes from libc's misc/error.c, in preparation
96066         for the merge of gnulib's changes back into libc.
96067
96068         * lib/error.c (_): Define only if not already defined.
96069         Move definition to follow all #include directives.
96070         Include unlocked-io.h only if !_LIBC.
96071         [_LIBC]: Include <libio/libioP.h>.
96072         [USE_IN_LIBIO]: Include <libio/iolibio.h>
96073         (fflush): Tweak definition to use INTUSE.
96074         (putc): Define.
96075
96076 2002-12-05  Paul Eggert  <eggert@twinsun.com>
96077
96078         * lib/alloca.c [defined emacs]: Include "lisp.h".
96079         (xalloc_die) [defined emacs]: New macro.
96080         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
96081         [! defined emacs]: Include <xalloc.h>.
96082         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
96083         (pointer): Typedef to POINTER_TYPE *.
96084         (malloc): Remove decl; we now always use xmalloc.
96085         (alloca): Use old-style definition, since Emacs needs this.
96086         Check for arithmetic overflow when computing combined size.
96087
96088 2002-12-04  Paul Eggert  <eggert@twinsun.com>
96089
96090         Do not generate unlocked-io.h automatically, since it's easier to
96091         maintain it by hand.
96092
96093         * lib/unlocked-io.h: New file, from GNU diffutils,
96094         but with proper copyright notice and attribution.
96095         * lib/gen-uio: Remove.
96096         * lib/Makefile.am: Add copyright notice.
96097         (libfetish_a_SOURCES): Add unlocked-io.h.
96098         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
96099         (DISTCLEANFILES, io_functions): Remove macros.
96100         (EXTRA_DIST): Remove gen_uio.
96101         (unlocked-io.h): Remove rule.
96102
96103 2002-12-04  Jim Meyering  <jim@meyering.net>
96104
96105         Reflect the fact that stat.c and lstat.c are no longer generated.
96106         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
96107         (DISTCLEANFILES): Likewise.
96108         (EXTRA_DIST): Likewise.
96109         (all_local): Don't depend on stat.c or lstat.c.
96110         (stat.c, lstat.c): Remove rules.
96111         (EXTRA_DIST): Remove xstat.in.
96112
96113         * lib/xstat.in: Remove file.  Contents moved into stat.c.
96114         * lib/stat.c: New file.  Contents mostly from xstat.in.
96115         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
96116         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
96117
96118         * lib/safe-read.c: Rework so that it may serve to define safe_write,
96119         too.
96120         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
96121
96122 2002-12-03  Jim Meyering  <jim@meyering.net>
96123
96124         * lib/safe-read.c, safe-write.c: Change variable names and comments,
96125         but not semantics, to minimize the differences between these two files.
96126         (safe_read): Change comment to mention SAFE_READ_ERROR.
96127
96128         * lib/safe-read.c (IS_EINTR): Define.
96129         (safe_read): Use IS_EINTR in place of in-function cpp directives.
96130
96131 2002-12-02  Jim Meyering  <jim@meyering.net>
96132
96133         * lib/safe-read.c (EINTR): Define.
96134         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
96135         (INT_MAX): Provide fallback.
96136         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
96137
96138         * lib/safe-read.h (SAFE_READ_ERROR): Define.
96139
96140 2002-12-02  Bruno Haible  <bruno@clisp.org>
96141
96142         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
96143         Define, taken from safe-read.c.
96144         (INT_MAX): Provide fallback.
96145         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
96146         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
96147
96148         * lib/safe-read.c (EINTR): Remove definition.
96149         (safe_read): Don't use EINTR if it is absent.
96150
96151 2002-12-01  Jim Meyering  <jim@meyering.net>
96152
96153         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
96154         zero.
96155         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
96156
96157 2002-11-27  Paul Eggert  <eggert@twinsun.com>
96158
96159         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
96160         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
96161         with `if (! (value < limit)) abort ();', for readability.
96162
96163 2002-11-26  Karl Berry  <karl@gnu.org>
96164
96165         * lib/strdup.c: copy from libc again, with jim's ok.
96166         * lib/.cppi-disable: re-add strdup.c
96167
96168 2002-11-25  Karl Berry  <karl@gnu.org>
96169
96170         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
96171         instead of "strtol.c".
96172
96173 2002-11-25  Karl Berry  <karl@gnu.org>
96174
96175         * config/install-sh: update from automake for variable quoting, $0 in
96176         error msgs, etc.
96177
96178         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
96179         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
96180         entry.
96181
96182 2002-11-25  Jim Meyering  <jim@meyering.net>
96183
96184         * lib/mktime.c: Sync from libc, now that it has the latest fix.
96185
96186 2002-11-24  Karl Berry  <karl@gnu.org>
96187
96188         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
96189         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
96190
96191 2002-11-24  Jim Meyering  <jim@meyering.net>
96192
96193         Update from coreutils:
96194
96195         * lib/mktime.c: Merge in changes from libc.
96196
96197         Avoid a link-time failure on some Linux systems.
96198         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
96199         (otherwise).
96200         (__mon_yday): Declare with the STATIC attribute.
96201         (__mktime_internal): Likewise.
96202         Based on a report from Greg Schafer.
96203
96204 2002-11-23  Jim Meyering  <jim@meyering.net>
96205
96206         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
96207         Use `unsigned', not `int', as type of index.
96208
96209         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
96210
96211         * lib/fsusage.c: Remove unneeded parentheses around operands of
96212         `defined'.
96213
96214 2002-11-22  Paul Eggert  <eggert@twinsun.com>
96215
96216         * lib/quotearg.h: Allow multiple inclusion by surrounding with
96217         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
96218         so that we can be included first.
96219         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
96220         * lib/quotearg.c: Include quotearg.h immediately after config.h.
96221         No need to include stddef.h or sys/types.h any more.
96222         Surround local include files with "", not "<>".
96223         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
96224         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
96225         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
96226         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
96227         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
96228         (ISPRINT): Remove; no longer needed now that we assume C89.
96229
96230         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
96231         Preserve errno.
96232
96233         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
96234         quotearg_char): Use SIZE_MAX rather than
96235         (size_t) -1 when we are talking about "infinity".
96236
96237         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
96238
96239 2002-11-22  Paul Eggert  <eggert@twinsun.com>
96240
96241         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
96242         hint that one should use `if (! x) abort ();' rather than `assert
96243         (x);', and anyway it's one less thing to worry about configuring.
96244         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
96245         hash_rehash, hash_insert): Use abort rather than assert.
96246
96247 2002-11-22  Bruno Haible  <bruno@clisp.org>
96248
96249         * lib/safe-read.h: Assume C89. Add comments.
96250         (safe_read): Change return type to size_t.
96251         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
96252         byte counts > SSIZE_MAX correctly.
96253         * lib/safe-write.h: New file.
96254         * lib/safe-write.c: New file.
96255         * lib/full-read.h: New file.
96256         * lib/full-read.c: New file.
96257         * lib/full-write.h: Assume C89. Add comments.
96258         * lib/full-write.c: Include safe-write.h.
96259         (full_write): Rewritten to use safe_write.
96260         Suggested by Jim Meyering and Paul Eggert.
96261
96262 2002-11-21  Jim Meyering  <jim@meyering.net>
96263
96264         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
96265
96266         Merge in changes from the coreutils.
96267
96268         2002-09-25  Paul Eggert  <eggert@twinsun.com>
96269         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
96270         <stdint.h>.
96271         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
96272         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
96273         int.  Work more efficiently if X is the same width as uintmax_t.
96274         Do not compare X to -1, to avoid bogus compiler warning.
96275         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
96276         Don't assume that f_frsize and f_bsize are the same type.
96277
96278         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
96279         warning on FreeBSD.
96280
96281         * lib/makepath.c (make_path): Restore umask *before* creating the final
96282         component.
96283         (make_path): Minor reformatting.
96284
96285         * lib/xmalloc.c: Adjust to work with new autoconf macros,
96286         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
96287         HAVE_MALLOC/HAVE_REALLOC.
96288
96289         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
96290         dummy ones.  At least on GNU/Linux systems, `auto' means something
96291         else.
96292         From Michael Stone.
96293
96294 2002-11-21  Bruno Haible  <bruno@clisp.org>
96295
96296         Remove case insensitive option matching.
96297         * lib/argmatch.h (argcasematch): Remove declaration.
96298         (ARGCASEMATCH): Remove macro.
96299         (__xargmatch_internal): Remove case_sensitive argument.
96300         (XARGMATCH): Update.
96301         (XARGCASEMATCH): Remove macro.
96302         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
96303         case_sensitive argument.
96304         (argcasematch): Remove function.
96305         (__xargmatch_internal): Remove case_sensitive argument.
96306         (main): Use XARGMATCH instead of XARGCASEMATCH.
96307
96308         * lib/xmalloc.c: Change compile-time error message. Add comment about
96309         required autoconf version.
96310
96311 2002-11-20  Paul Eggert  <eggert@twinsun.com>
96312
96313         Merge argmatch cleanups from Bison.  Assume C89.
96314
96315         * lib/argmatch.c: Include config.h here, not in argmatch.h.
96316         Include stdlib.h, for EXIT_FAILURE.
96317         Always include <string.h>, since we assume C89.
96318         (EXIT_FAILURE): Remove pre-C89 bug workaround.
96319         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
96320         Include <stddef.h> instead, since it's all we need for size_t.
96321         (PARAMS): Remove.  All uses removed.
96322         (ARRAY_CARDINALITY): Do not bother to #undef.
96323         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
96324         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
96325         Remove unnecessary parentheses.
96326         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
96327         Insert necessary parentheses.
96328         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
96329         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
96330
96331 2002-11-19  Bruno Haible  <bruno@clisp.org>
96332
96333         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
96334         * lib/mbswidth.h: Include <stddef.h>, for size_t.
96335
96336         * lib/mbswidth.h (PARAMS): Remove macro.
96337         (mbswidth, mbsnwidth): Use ANSI C function declarations.
96338         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
96339
96340         * lib/gcd.h (PARAMS): Remove macro.
96341         (gcd): Use ANSI C function declarations.
96342         * lib/gcd.c (gcd): Likewise.
96343
96344 2002-11-15  Bruno Haible  <bruno@clisp.org>
96345
96346         * lib/strcspn.c: Include <stddef.h>.
96347         (strcspn): Use ANSI C function declaration. Change return type to
96348         size_t. Use NULL.
96349         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
96350         (strpbrk): Use NULL.
96351         * lib/strpbrk.h (PARAMS): Remove macro.
96352         (strpbrk): Use ANSI C function declaration.
96353         * lib/strstr.c: Don't include <sys/types.h>.
96354         * lib/strstr.h (PARAMS): Remove macro.
96355         (strstr): Use ANSI C function declarations.
96356
96357 2002-11-14  Karl Berry  <karl@gnu.org>
96358
96359         * config/mkinstalldirs: `do' on separate line, instead of
96360         `for var; do'.
96361
96362 2002-11-06  Bruno Haible  <bruno@clisp.org>
96363
96364         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
96365         * lib/gcd.c (gcd): Likewise.
96366
96367 2002-11-05  Bruno Haible  <bruno@clisp.org>
96368
96369         * lib/gcd.h: New file, from gettext-0.11.5.
96370         * lib/gcd.c: New file, from gettext-0.11.5.
96371
96372 2002-11-05  Bruno Haible  <bruno@clisp.org>
96373
96374         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
96375         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
96376         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
96377         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
96378
96379         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
96380         <libintl.h>.
96381         * lib/makepath.c: Include gettext.h instead of <locale.h> and
96382         <libintl.h>.
96383
96384         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
96385         * lib/human.c: Include gettext.h instead of <libintl.h>.
96386         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
96387         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
96388         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
96389         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
96390         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
96391         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
96392         (textdomain): Remove definition.
96393         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
96394
96395         * lib/long-options.c: Remove include of <libintl.h> and definition of
96396         _.
96397         * lib/same.c: Remove include of <libintl.h> and definition of _.
96398
96399 2002-11-04  Owen Taylor  <otaylor@redhat.com>
96400
96401         * lib/config.charset: A few additions for Solaris.
96402
96403 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
96404
96405         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
96406         * lib/localcharset.c (locale_charset): Declare as extern "C".
96407
96408 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
96409
96410         * lib/config.charset: msdos in uk_UA uses CP1125.
96411
96412 2002-11-04  Bruno Haible  <bruno@clisp.org>
96413
96414         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
96415         * lib/strcase.h: New file, from GNU gettext-0.11.5.
96416         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
96417         * lib/strstr.h: New file, from GNU gettext-0.11.5.
96418         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
96419
96420 2002-11-04  Bruno Haible  <bruno@clisp.org>
96421
96422         * lib/localcharset.c (locale_charset): Don't return an empty string.
96423
96424 2002-11-04  Bruno Haible  <bruno@clisp.org>
96425
96426         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
96427         aliases.
96428
96429 2002-11-04  Bruno Haible  <bruno@clisp.org>
96430
96431         * lib/config.charset: Update for newest glibc. Add canonical names
96432         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
96433
96434 2002-11-04  Bruno Haible  <bruno@clisp.org>
96435
96436         * lib/config.charset: Add support for NetBSD.
96437
96438 2002-11-04  Bruno Haible  <bruno@clisp.org>
96439
96440         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
96441
96442 2002-11-01  Bruno Haible  <bruno@clisp.org>
96443
96444         * configure.in: Add AC_CONFIG_AUX_DIR call.
96445         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
96446         test/Makefile.
96447         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
96448
96449 2002-09-28  Karl Berry  <karl@gnu.org>
96450
96451         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
96452         installed automake until the next release, since changes have been
96453         made.
96454
96455 2002-09-25  Karl Berry  <karl@gnu.org>
96456
96457         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
96458         * lib/getopt*: copy from libc/posix.
96459         * lib/gettext.h: copy from gettext.
96460         * lib/.cppi-disable: add strdup.c, gettext.h.
96461
96462 2002-09-25  Karl Berry  <karl@gnu.org>
96463
96464         * config/srclist.txt: enable gettext.h check.
96465         * config/config.{guess,sub}: update from prep.
96466         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
96467                 from automake 1.6.3.
96468         See srclist*.
96469
96470 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
96471
96472         * regex.c (PATFETCH): Remove the translating fetch.
96473         (PATFETCH_RAW): Rename to PATFETCH.
96474         (set_image_of_range): New fun.
96475         (SET_RANGE_TABLE_WORK_AREA): Use it.
96476         (regex_compile): Don't translate the pattern chars so eagerly.
96477         Only do it when inserting an `exactn' bytecode or when handling
96478         a char-range.
96479         (mutually_exclusive_p): Avoid empty statement.
96480
96481 2002-07-06  Jim Meyering  <meyering@lucent.com>
96482
96483         * m4/README: Don't mention Makefile.am.in.
96484         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
96485
96486 2002-07-01  Jim Meyering  <meyering@lucent.com>
96487
96488         * lib/c-stack.c: Include sys/time.h.
96489         From Volker Borchert.
96490
96491 2002-06-26  Paul Eggert  <eggert@twinsun.com>
96492
96493         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
96494
96495 2002-06-26  Paul Eggert  <eggert@twinsun.com>
96496
96497         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
96498         New macro.  Use it uniformly instead of
96499         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
96500         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
96501         reported by Vin Shelton.
96502
96503 2002-06-22  Paul Eggert  <eggert@twinsun.com>
96504
96505         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
96506         Do not assume SA_SIGINFO behavior.
96507         Bug reported by Jim Meyering on NetBSD 1.5.2.
96508
96509 2002-06-22  Jim Meyering  <meyering@lucent.com>
96510
96511         * m4/c-stack.m4: New file, from diffutils-2.8.2.
96512         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
96513
96514         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
96515         now that configure.ac uses AC_GNU_SOURCE.
96516         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
96517         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
96518
96519         Update to latest tools.  Suggestions from Paul Eggert.
96520         * m4/stdbool.m4: New file, from diffutils-2.8.2.
96521         * m4/gnu-source.m4: Update from diffutils-2.8.2.
96522         * m4/fnmatch.m4: Likewise.
96523         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
96524         to AC_HEADER_STDBOOL
96525
96526 2002-06-22  Jim Meyering  <meyering@lucent.com>
96527
96528         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
96529         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
96530
96531 2002-06-22  Jim Meyering  <meyering@lucent.com>
96532
96533         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
96534
96535         * lib/exitfail.c, exitfail.h: Likewise.
96536         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
96537
96538         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
96539         of fnmatch.h.
96540         (EXTRA_DIST): Add fnmatch_loop.c.
96541         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
96542
96543         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
96544         * lib/fnmatch.c: Update from diffutils-2.8.2.
96545         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
96546         * lib/fnmatch.h: Remove file.
96547
96548 2002-06-21  Jim Meyering  <meyering@lucent.com>
96549
96550         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
96551         * m4/mbrtowc.m4: Likewise.
96552
96553         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
96554         * m4/mbswidth.m4: Reflect name change:
96555         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
96556         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
96557
96558         * m4/lib-link.m4: Update from gettext-0.11.2.
96559         * m4/gettext.m4: Likewise.
96560
96561         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
96562         From Alfred M. Szmidt.
96563
96564 2002-06-18  Paul Eggert  <eggert@twinsun.com>
96565
96566         * lib/file-type.h: Report an error if neither S_ISREG nor
96567         S_IFREG is defined, instead of using a test specific to glibc
96568         2.2.  This should be safe, since POSIX requires S_ISREG and
96569         Unix Version 7 had S_IFREG.  We don't need to check for
96570         <sys/types.h> since we don't use any symbols that it defines.
96571
96572 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
96573
96574         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
96575         $@-t, so that each temporary file name is unique and valid in the first
96576         8 characters, for operation under DOS.
96577
96578 2002-06-15  Paul Eggert  <eggert@twinsun.com>
96579
96580         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
96581
96582 2002-06-15  Jim Meyering  <meyering@lucent.com>
96583
96584         Work even with DJGPP 2.03, which lacks support for symlinks.
96585         From Richard Dawe.
96586         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
96587         is defined.
96588         * lib/lchown.c (S_ISLNK): Likewise.
96589
96590 2002-06-15  Jim Meyering  <meyering@lucent.com>
96591
96592         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
96593         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
96594         have been included before this file.
96595
96596 2002-06-14  Jim Meyering  <meyering@lucent.com>
96597
96598         * lib/file-type.h: Use the version from diffutils-2.8.2.
96599         * lib/file-type.c: Likewise.
96600
96601 2002-06-07  Jim Meyering  <meyering@lucent.com>
96602
96603         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
96604         They're needed at least for NetBSD 1.5.2.
96605         ($statxfs_includes): Include those same headers.
96606         ($statxfs_includes): Include sys/vfs.h if available.
96607         ($statxfs_includes): Likewise for sys/statvfs.h.
96608         Check for the following members in both structs statfs and statvfs:
96609         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
96610
96611 2002-06-01  Jim Meyering  <meyering@lucent.com>
96612
96613         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
96614         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
96615
96616 2002-05-28  Jim Meyering  <meyering@lucent.com>
96617
96618         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
96619         Reported by Volker Borchert.
96620
96621 2002-05-27  Jim Meyering  <meyering@lucent.com>
96622
96623         Fix a problem seen only on nonconforming systems whereby ls.c's
96624         use of localtime, and then of gettimeofday would cause trouble:
96625         the localtime call used to initialize rpl_gettimeofday's save
96626         mechanism would clobber ls's current local time information so
96627         that in any long listing the first file would always be listed
96628         with date 1970-01-01.  Analysis by Volker Borchert.
96629
96630         * lib/gettimeofday.c (localtime): Undefine.
96631         (rpl_localtime): New function.
96632
96633 2002-05-27  Jim Meyering  <meyering@lucent.com>
96634
96635         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
96636         localtime.
96637
96638         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
96639         use the replacement function; it wouldn't resolve at link time.
96640         Reported by Volker Borchert.
96641
96642 2002-05-22  Jim Meyering  <meyering@lucent.com>
96643
96644         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
96645         file-type.h.
96646         * lib/file-type.h: New file.
96647         * lib/file-type.c (file_type): New file/function.  Extracted from
96648         diffutils.
96649
96650 2002-04-30  Jim Meyering  <meyering@lucent.com>
96651
96652         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
96653
96654 2002-04-29  Paul Eggert  <eggert@twinsun.com>
96655
96656         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
96657
96658 2002-04-29  Paul Eggert  <eggert@twinsun.com>
96659
96660         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
96661         Do not check for alloca.h (no longer used) or stdbool.h (was never
96662         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
96663
96664 2002-04-29  Paul Eggert  <eggert@twinsun.com>
96665
96666         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
96667
96668 2002-04-29  Jim Meyering  <meyering@lucent.com>
96669
96670         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
96671         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
96672         Use AC_FUNC_STRNLEN here instead.
96673
96674         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
96675         With autoconf-2.53a, it's part of AC_PROG_CC.
96676
96677 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96678
96679         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
96680         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
96681
96682 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96683
96684         * lib/sig2str.h, lib/sig2str.c: New files.
96685         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
96686
96687 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96688
96689         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
96690         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
96691         of 127, since 64 is the largest conceivable number for ancient
96692         nonstandard hosts.
96693         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
96694
96695 2002-04-28  Jim Meyering  <meyering@lucent.com>
96696
96697         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
96698
96699 2002-04-24  Jim Meyering  <meyering@lucent.com>
96700
96701         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
96702         (jm_PREREQ): Use it.
96703
96704         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
96705         mach/mach.h fcntl.h.
96706         Check for this function: setlocale.
96707
96708 2002-04-24  Jim Meyering  <meyering@lucent.com>
96709
96710         * lib/gettext.h: New file, from Gettext.
96711         * lib/Makefile.am (INCLUDES): Remove -I../intl.
96712         (libfetish_a_SOURCES): Add gettext.h.
96713
96714 2002-04-16  Jim Meyering  <meyering@lucent.com>
96715
96716         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
96717         ut_pid, ut_id, ut_exit.
96718
96719 2002-04-16  Jim Meyering  <meyering@lucent.com>
96720
96721         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
96722         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
96723         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
96724
96725 2002-04-12  Jim Meyering  <meyering@lucent.com>
96726
96727         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
96728         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
96729         existence of the getmntinfo function.  Needed for Darwin 5.3.
96730
96731         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
96732         This is necessary at least on Darwin 5.3.
96733
96734         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
96735         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
96736         strnlen.o in the library, and that makes some versions of ranlib
96737         object.
96738
96739 2002-04-12  Jim Meyering  <meyering@lucent.com>
96740
96741         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
96742
96743 2002-04-09  Jim Meyering  <meyering@lucent.com>
96744
96745         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
96746         to be more precise.  Rather than saying we're checking whether the
96747         function `works', say what we're testing.
96748         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
96749         Reported by Bruno Haible.
96750
96751 2002-03-10  Jim Meyering  <meyering@lucent.com>
96752
96753         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
96754         Suggestion from Santiago Vila.
96755
96756 2002-03-08  Jim Meyering  <meyering@lucent.com>
96757
96758         * lib/rename.c: Mention that this wrapper is needed also on
96759         mips-dec-ultrix4.4 systems.
96760
96761 2002-03-02  Jim Meyering  <meyering@lucent.com>
96762
96763         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
96764         not HAVE_CLOCK_SETTIME.
96765
96766 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96767
96768         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
96769         Check for clock_settime.
96770
96771 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96772
96773         * lib/nanosleep.h: Rename to....
96774         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
96775
96776         * lib/gettime.c: New file.
96777         * lib/settime.c: New file.
96778         * lib/stime.c: Remove.
96779
96780         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
96781         timespec.h.  Remove nanosleep.h.
96782
96783 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96784
96785         * m4/acl.m4: New file.
96786         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
96787         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
96788
96789 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96790
96791         * lib/acl.c, lib/acl.h: New files.
96792         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
96793
96794 2002-02-24  Jim Meyering  <meyering@lucent.com>
96795
96796         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
96797         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
96798         cause trouble.  Reported by Nelson Beebe.
96799
96800 2002-02-23  Paul Eggert  <eggert@twinsun.com>
96801
96802         * lib/path-concat.c (xpath_concat): Reorder code to pacify
96803         compilers that don't know that xalloc_die never returns.
96804
96805 2002-02-20  Jim Meyering  <meyering@lucent.com>
96806
96807         * lib/getdate.c: Regenerate using bison-1.33.
96808
96809 2002-02-17  Jim Meyering  <meyering@lucent.com>
96810
96811         * config/config.guess (main): Don't use `head -1'; it's no longer
96812         portable. Use `sed 1q' instead.
96813
96814 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
96815
96816         * m4/codeset.m4: Upgrade to gettext-0.11.
96817         * m4/gettext.m4: Upgrade to gettext-0.11.
96818         * m4/glibc21.m4: Upgrade to gettext-0.11.
96819         * m4/iconv.m4: Upgrade to gettext-0.11.
96820         * m4/isc-posix.m4: Upgrade to gettext-0.11.
96821         * m4/lcmessage.m4: Upgrade to gettext-0.11.
96822         * m4/lib-ld.m4: New file, from gettext-0.11.
96823         * m4/lib-link.m4: New file, from gettext-0.11.
96824         * m4/lib-prefix.m4: New file, from gettext-0.11.
96825         * m4/progtest.m4: Upgrade to gettext-0.11.
96826
96827 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96828
96829         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
96830         (jm_PREREQ): Use it.
96831
96832 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96833
96834         * lib/posixver.c, lib/posixver.h: New files.
96835         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96836
96837 2002-02-02  Paul Eggert  <eggert@twinsun.com>
96838             Bruno Haible  <bruno@clisp.org>
96839
96840         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
96841         (fwrite_success_callback): New declaration.
96842         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
96843         print_unicode_char. Call failure callback instead of error.
96844         (fwrite_success_callback): New function.
96845         (exit_failure_callback): New function.
96846         (fallback_failure_callback): New function.
96847         (print_unicode_char): Call unicode_to_mb.
96848
96849 2002-01-26  Jim Meyering  <meyering@lucent.com>
96850
96851         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
96852         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
96853
96854 2002-01-26  Jim Meyering  <meyering@lucent.com>
96855
96856         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
96857
96858 2002-01-22  Paul Eggert  <eggert@twinsun.com>
96859
96860         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
96861
96862 2002-01-22  Jim Meyering  <meyering@lucent.com>
96863
96864         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
96865         Otherwise, some versions of automake would omit the rule that makes
96866         Makefile from Makefile.in.
96867
96868 2002-01-21  Paul Eggert  <eggert@twinsun.com>
96869
96870         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
96871         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96872         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
96873         (memcoll): Set errno to zero if there is no error.
96874
96875         * lib/quotearg.c (quotearg_buffer_restyled):
96876         Fix bug with quoting buffers containing NUL when backslashing escapes.
96877         This bug was exposed by the other changes in this patch.
96878         (quotearg_n_options): New arg ARGSIZE.
96879         All callers changed.
96880         (quoting_options_from_style): New function.
96881         (quotearg_n_style): Use it.
96882         (quotearg_n_style_mem): New function.
96883
96884         * lib/quotearg.h (quotearg_n_style_mem): New function.
96885
96886 2002-01-19  Jim Meyering  <meyering@lucent.com>
96887
96888         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
96889         Remove useless quotes: DF_PROG="df".
96890         * m4/strnlen.m4: New file.
96891
96892 2002-01-16  Paul Eggert  <eggert@twinsun.com>
96893
96894         * lib/backupfile.c (ISDIGIT): Comment fix.
96895         * lib/getdate.y (ISDIGIT): Likewise.
96896         * lib/posixtm.c (ISDIGIT, year): Likewise.
96897         * lib/strverscmp.c (ISDIGIT): Likewise.
96898         * lib/userspec.c (ISDIGIT): Likewise.
96899
96900 2002-01-16  Jim Meyering  <meyering@lucent.com>
96901
96902         * lib/getdate.y: Add three semicolons, each just before a closing
96903         brace. Bison (as of version 1.31) no longer papers over that mistake.
96904
96905 2002-01-05  Jim Meyering  <meyering@lucent.com>
96906
96907         * lib/version-etc.c (version_etc_copyright): Update copyright year.
96908
96909 2001-12-19  Paul Eggert  <eggert@twinsun.com>
96910
96911         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
96912         not silently exit merely because the output buffer happens to
96913         have nothing pending.
96914
96915 2001-12-18  Paul Eggert  <eggert@twinsun.com>
96916
96917         See the big note in ../ChangeLog.
96918         * lib/human.c (suffixes): Prefer K to k for 1024.
96919         (generate_suffix_backwards): New function.
96920         (human_readable_inexact): Use it.
96921         * lib/xstrtol.c (__xstrtol): If there is no number but there
96922         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
96923         Accept 'K' as well as 'k'.
96924
96925 2001-12-15  Jim Meyering  <meyering@lucent.com>
96926
96927         * lib/regex.h (__restrict_arr): Update from libc.
96928
96929         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
96930         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
96931         (STREQ): Define.
96932
96933 2001-12-14  Jim Meyering  <meyering@lucent.com>
96934
96935         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
96936         Suggestion from Bruno Haible.
96937
96938 2001-12-10  Jim Meyering  <meyering@lucent.com>
96939
96940         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
96941         xrealloc, Instead, include "xalloc.h".
96942         (initbuffer): Don't cast xmalloc return value to char*.
96943         (readline): Reword comment.
96944         Don't cast xrealloc return value to char*
96945         Return NULL, not 0.
96946
96947 2001-12-09  Jim Meyering  <meyering@lucent.com>
96948
96949         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
96950         about `signed and unsigned type in conditional expression'.
96951         * lib/posixtm.c (posix_time_parse): Likewise.
96952
96953         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
96954
96955         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
96956         to avoid a pedantic warning.
96957
96958         * lib/getstr.c: Don't include assert.h.
96959         (getstr): Remove warning-evoking assertions.
96960         Return -1 if offset parameter is out of bounds.
96961         Change the type of a local from int to size_t.
96962
96963         * lib/strftime.c (my_strftime_localtime_r): Include this function
96964         definition in the `#if ! HAVE_TM_GMTOFF' block.
96965
96966         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
96967         Include xalloc.h instead.
96968
96969 2001-12-02  Jim Meyering  <meyering@lucent.com>
96970
96971         * lib/tempname.c: Don't declare getenv, thus reverting the change of
96972         2001-11-18.  It's no longer necessary, now that stdlib.h is always
96973         included.
96974
96975         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
96976         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
96977
96978 2001-11-30  Akim Demaille  <akim@epita.fr>
96979
96980         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
96981         before being defined.
96982
96983 2001-11-27  Paul Eggert  <eggert@twinsun.com>
96984
96985         * lib/quotearg.h (quotearg_n, quotearg_n_style):
96986         First arg is int, not unsigned.
96987         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
96988         (SIZE_MAX, UINT_MAX): New macros.
96989         (quotearg_n_options): Abort if N is negative.
96990         Avoid overflow check on hosts where size_t is 64 bits and int
96991         is 32 bits, as overflow is impossible there.
96992         Fix off-by-one typo that caused unnecessary reallocation.
96993
96994 2001-11-27  Jim Meyering  <meyering@lucent.com>
96995
96996         * lib/tempname.c: Merge with version from libc.
96997         * lib/regex.c: Likewise.
96998
96999         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
97000         systems for which STDC_HEADERS is 0, it was not included, resulting in
97001         a warning about an integer-to-pointer conversion problem with getenv.
97002         Reported by Volker Borchert.
97003
97004 2001-11-26  Jim Meyering  <meyering@lucent.com>
97005
97006         * lib/gtod.h: Remove file.
97007         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
97008         * lib/gettimeofday.c: Don't include gtod.h.
97009         (GTOD_init): Remove function.
97010         (rpl_gettimeofday): Do its job here instead, rather than aborting.
97011         Suggestion from Volker Borchert.
97012
97013 2001-11-23  Jim Meyering  <meyering@lucent.com>
97014
97015         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
97016         it.
97017         * lib/hash.c (struct hash_table): Define it here instead.
97018
97019 2001-11-22  Jim Meyering  <meyering@lucent.com>
97020
97021         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
97022
97023 2001-11-20  Jim Meyering  <meyering@lucent.com>
97024
97025         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
97026         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
97027
97028 2001-11-19  Jim Meyering  <meyering@lucent.com>
97029
97030         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
97031         directory.  Use "conftestXXXXXX" as the template.
97032         Suggestion from Paul Eggert.
97033
97034         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
97035         immediately, so the test doesn't mistakenly hit the max-open-files
97036         limit.
97037
97038 2001-11-18  Paul Eggert  <eggert@twinsun.com>
97039
97040         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
97041         (TEMPORARIES): New macro.
97042         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
97043         removes an artificial limitation (e.g. HP-UX 10.20, where
97044         TMP_MAX is 17576).
97045
97046 2001-11-18  Jim Meyering  <meyering@lucent.com>
97047
97048         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
97049
97050 2001-11-18  Jim Meyering  <meyering@lucent.com>
97051
97052         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
97053         on SunOS 4.
97054
97055         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
97056         files will be created before anything else.
97057
97058 2001-11-17  Paul Eggert  <eggert@twinsun.com>
97059
97060         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
97061         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
97062
97063 2001-11-17  Jim Meyering  <meyering@lucent.com>
97064
97065         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
97066         Prompted by a report from Bob Proulx.
97067
97068         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
97069         Instead, require UTILS_FUNC_MKSTEMP.
97070
97071 2001-11-17  Jim Meyering  <meyering@lucent.com>
97072
97073         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
97074         Now, that's done as part of AC_FUNC_STRTOD.
97075
97076 2001-11-17  Jim Meyering  <meyering@lucent.com>
97077
97078         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
97079         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
97080         rather than group writable.  Patch by Juan F. Codagnone.
97081
97082         * lib/readtokens.c: Remove explicit declarations of xmalloc and
97083         xrealloc, Instead, include "xalloc.h".
97084
97085         * lib/mountlist.c: Include unlocked-io.h after all system headers.
97086         Remove explicit declarations of xmalloc, xrealloc,
97087         and xstrdup.  Instead, include "xalloc.h".
97088
97089         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
97090         unlocked-io.h.
97091         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
97092         Likewise.
97093         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
97094
97095         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
97096         Reported by Padraig Brady.
97097
97098         * lib/mkstemp.c: #undef mkstemp.
97099         Include config.h.
97100         (rpl_mkstemp): Rename from mkstemp.
97101         Protoize.
97102
97103 2001-11-16  Jim Meyering  <meyering@lucent.com>
97104
97105         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
97106         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
97107         determine the amount of total physical memory, use pstat_getstatic.
97108         HPUX-11 doesn't define _SC_PHYS_PAGES.
97109         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
97110         If sysconf couldn't be used to determine the amount of available
97111         physical memory, use both pstat_getstatic and pstat_getdynamic.
97112         Based on a patch from Bob Proulx.
97113
97114 2001-11-10  Jim Meyering  <meyering@lucent.com>
97115
97116         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
97117         (jm_PREREQ): Use it.
97118
97119 2001-11-09  Jim Meyering  <meyering@lucent.com>
97120
97121         * m4/jm-macros.m4: Require autoconf-2.52f.
97122         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
97123         Use these AC_-prefixed names, not the AM_-prefixed ones.
97124
97125         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
97126
97127 2001-11-05  Jim Meyering  <meyering@lucent.com>
97128
97129         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
97130
97131 2001-11-04  Jim Meyering  <meyering@lucent.com>
97132
97133         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
97134         $DEFS.
97135
97136 2001-11-03  Jim Meyering  <meyering@lucent.com>
97137
97138         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
97139         of AC_DEFUN.
97140
97141         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
97142         know the name of the variable in the macro definition.
97143
97144 2001-11-03  Jim Meyering  <meyering@lucent.com>
97145
97146         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
97147         in argmatch_to_argument call.
97148
97149         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
97150         argument.
97151
97152         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
97153         e.g., a fault due to an attempt to free a NULL pointer.
97154
97155 2001-11-01  Jim Meyering  <meyering@lucent.com>
97156
97157         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
97158         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
97159
97160 2001-11-01  Jim Meyering  <meyering@lucent.com>
97161
97162         * lib/dirfd.c, lib/dirfd.h: New files.
97163         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
97164
97165         * lib/hash.c (hash_print) [TESTING]: Clean up.
97166
97167 2001-10-22  Paul Eggert  <eggert@twinsun.com>
97168
97169         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
97170         to avoid a warning if -Wall.
97171
97172 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
97173
97174         * README: New file
97175         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
97176         (per RMS's instructions, this is now the canonical source)
97177         * lgpl/, gpl/: New directories.
97178
97179 2001-10-21  Paul Eggert  <eggert@twinsun.com>
97180
97181         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
97182
97183 2001-10-21  Jim Meyering  <meyering@lucent.com>
97184
97185         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
97186         this code would end up calling gettext even in packages built
97187         with --disable-nls.
97188         * lib/getopt.c (_): Likewise.
97189         * lib/regex.c (_): Likewise.
97190
97191 2001-10-20  Paul Eggert  <eggert@twinsun.com>
97192
97193         * m4/error.m4 (jm_PREREQ_ERROR):
97194         Do not invoke AC_CHECK_FUNCS with strerror_r, as
97195         AC_FUNC_STRERROR_R does that.
97196         Check for strerror declaration.
97197
97198         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
97199         are supposed to have them these days.
97200         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
97201         Merge changes from latest Autoconf CVS.
97202         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
97203         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
97204         POSIX decided to standardize on the int flavor of strerror_r.
97205
97206 2001-10-20  Paul Eggert  <eggert@twinsun.com>
97207
97208         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
97209         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
97210         Use strerror_r that is only a macro, even if it is not a function.
97211         (strerror): Check for HAVE_DECL_STRERROR before declaring.
97212         (private_strerror): Use prototypes, not old-style function definition.
97213         (print_errno_message): New function.
97214         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
97215         char*-flavored one.
97216         (error_tail, error, error_at_line): Use it.
97217
97218 2001-10-11  Jim Meyering  <meyering@lucent.com>
97219
97220         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
97221         and quote_n (1, ... to avoid clobbering a buffer.
97222
97223 2001-10-05  Jim Meyering  <meyering@lucent.com>
97224
97225         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
97226         hash-pjw.h.
97227         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
97228         * lib/hash-pjw.h: New file.
97229
97230 2001-09-30  Jim Meyering  <meyering@lucent.com>
97231
97232         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
97233         `struct fsstat' has the `f_fstypename' member.
97234         Use that to define FS_TYPE, which is now used to make
97235         the getfsstat link test tighter.
97236
97237 2001-09-30  Jim Meyering  <meyering@lucent.com>
97238
97239         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
97240         Include <sys/ucred.h>, for Apple Darwin.
97241         Include sys/mount.h and sys/fs_types.h only if available.
97242         (FS_TYPE): Define.
97243         (read_filesystem_list): Use FS_TYPE.
97244
97245 2001-09-29  Paul Eggert  <eggert@twinsun.com>
97246
97247         * lib/exclude.c (excluded_filename): 0 -> false, since it's
97248         a boolean context.
97249
97250 2001-09-29  Jim Meyering  <meyering@lucent.com>
97251
97252         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
97253         [one-argument getmntent function]): Include stdio.h before mntent.h.
97254         SunOS 4.1.x needs it for the declaration of `FILE'.
97255         Patch by Volker Borchert.
97256
97257         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
97258         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
97259         sys/fs_types.h, and make the link-test for getfsstat guard #include
97260         directives with appropriate #if HAVE_*_H tests so that we can
97261         detect getfsstat on Apple Darwin1.3.7 systems.
97262         Reported by Nelson Beebe.
97263         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
97264
97265 2001-09-28  Paul Eggert  <eggert@twinsun.com>
97266
97267         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
97268         #defines strtoimax.  Also treat the other strto* functions
97269         like strtoimax.
97270
97271         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
97272         Check for strtoul and strtoumax,
97273         as those declarations are made even in the signed case.
97274         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
97275         Likewise, for strtol and strtoimax.
97276
97277 2001-09-28  Paul Eggert  <eggert@twinsun.com>
97278
97279         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
97280         #defines strtoimax.  Also treat the other strto* functions
97281         like strtoimax.
97282
97283         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
97284         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
97285         (strtoimax, strtoumax): Do not declare if already defined as a macro.
97286
97287 2001-09-26  Jim Meyering  <meyering@lucent.com>
97288
97289         Most macros in unlocked-io.h had the wrong number of arguments.
97290         * lib/gen-uio: New script.
97291         (USE_UNLOCKED_IO): Define to 1 if not already defined.
97292         * lib/unlocked-io.hin: Remove file.
97293         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
97294         rather than trying to embed it here.
97295         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
97296         Reported by Padraig Brady.
97297
97298 2001-09-25  Volker Borchert  <bt@teknon.de>
97299
97300         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
97301         `result'.
97302
97303 2001-09-24  Jim Meyering  <meyering@lucent.com>
97304
97305         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
97306
97307 2001-09-23  Jim Meyering  <meyering@lucent.com>
97308
97309         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
97310         instead of the mere test for existence of mntent.h.  The latter
97311         would get a false-positive on AIX 3.4 systems.
97312         In the outer getmntent if-block, don't die if neither of the getmntent
97313         tests succeeds.  Instead, just fall through and continue with the
97314         remaining tests.
97315
97316 2001-09-23  Jim Meyering  <meyering@lucent.com>
97317
97318         * lib/mountlist.c: Remove useless parentheses in #if directives.
97319         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
97320         the deprecated MOUNTED symbol is no longer defined in mntent.h.
97321
97322 2001-09-22  Jim Meyering  <meyering@lucent.com>
97323
97324         * m4/gettext.m4: New file.  From gettext.
97325         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
97326         * m4/progtest.m4: Likewise
97327         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
97328         * m4/glibc21.m4: Likewise.
97329
97330         * m4/libintl.m4: Remove.  No longer used.
97331
97332 2001-09-22  Jim Meyering  <meyering@lucent.com>
97333
97334         * lib/localcharset.c: Update from latest gettext.
97335         * lib/config.charset: Likewise.
97336
97337 2001-09-20  Jim Meyering  <meyering@lucent.com>
97338
97339         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
97340         strtoimax.
97341         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
97342         strtoumax.
97343
97344 2001-09-20  Jim Meyering  <meyering@lucent.com>
97345
97346         * lib/xstrtol.c (strtoimax): Guard declaration with
97347         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
97348         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
97349         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
97350         (strtoumax): Likewise, for completeness (it wasn't necessary).
97351
97352 2001-09-17  Paul Eggert  <eggert@twinsun.com>
97353
97354         * lib/strtoimax.c (HAVE_LONG_LONG):
97355         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
97356         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
97357         to work around bug in IBM C compiler.
97358
97359 2001-09-17  Jim Meyering  <meyering@lucent.com>
97360
97361         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
97362         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
97363         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
97364         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
97365         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
97366         whenever the right hand side need not be expanded by the shell.
97367
97368 2001-09-16  Paul Eggert  <eggert@twinsun.com>
97369
97370         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
97371         library.  It's not correct, as some older glibcs are buggy.
97372         fnmatch wasn't fixed until glibc 2.2.
97373
97374         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
97375         special shell magic here.
97376
97377 2001-09-16  Jim Meyering  <meyering@lucent.com>
97378
97379         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
97380         * m4/jm-macros.m4: Require it.
97381
97382 2001-09-16  Jim Meyering  <meyering@lucent.com>
97383
97384         * lib/mkdir.c: New file.
97385
97386 2001-09-15  Jim Meyering  <meyering@lucent.com>
97387
97388         * m4/jm-macros.m4: Check for help2man.
97389
97390 2001-09-11  Jim Meyering  <meyering@lucent.com>
97391
97392         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
97393         The body, by Paul Eggert, was moved here from configure.in.
97394         * m4/jm-macros.m4: Require UTILS_HOST_OS.
97395
97396 2001-09-04  Paul Eggert  <eggert@twinsun.com>
97397
97398         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
97399         (jm_PREREQ): Use it.
97400
97401 2001-09-04  Paul Eggert  <eggert@twinsun.com>
97402
97403         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
97404         Use ssize_t, not int, to store result of readlink.
97405         Check for ssize_t overflow as well as size_t overflow,
97406         as POSIX says the result of readlink is implementation-defined
97407         when ssize_t overflows.
97408         Remove unnecessary cast to char*.
97409         Use free+malloc instead of realloc, as the storage doesn't need
97410         to be preserved and it's clearer and can be more efficient that way.
97411         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
97412         * lib/xreadlink.h (xreadlink): Update prototype.
97413
97414 2001-09-04  Paul Eggert  <eggert@twinsun.com>
97415
97416         * lib/xgetcwd.c: Revert some of the previous change; intead,
97417         fix the HAVE_GETCWD_NULL code to behave more like the
97418         !HAVE_GETCWD_NULL code used to.
97419
97420         Include "xalloc.h".
97421         (xgetcwd): Do not return NULL when memory is exhausted; instead,
97422         invoke xalloc_die.
97423
97424 2001-09-03  Paul Eggert  <eggert@twinsun.com>
97425
97426         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
97427         sys/param.h, as pathmax.h includes them.
97428
97429 2001-09-03  Paul Eggert  <eggert@twinsun.com>
97430
97431         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
97432         (jm_PREREQ_XGETCWD): New macro.
97433
97434         * m4/getcwd.m4: New file.
97435
97436 2001-09-03  Paul Eggert  <eggert@twinsun.com>
97437
97438         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
97439         like the HAVE_GETCWD_NULL code.
97440         Include pathmax.h if not HAVE_GETCWD.
97441         Do not include xalloc.h.
97442         (INITIAL_BUFFER_SIZE): New symbol.
97443         Do not use xmalloc / xrealloc, since the caller is responsible for
97444         handling errors.  Preserve errno around `free' during failure.
97445         Do not overrun buffer when using getwd.
97446
97447 2001-09-03  Paul Eggert  <eggert@twinsun.com>
97448
97449         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
97450         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
97451         getcwd (NULL, 0).
97452
97453 2001-09-03  Paul Eggert  <eggert@twinsun.com>
97454
97455         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
97456         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
97457         spotted by Jim Meyering.
97458
97459 2001-09-03  Jim Meyering  <meyering@lucent.com>
97460
97461         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
97462         failure.
97463
97464 2001-09-02  Jim Meyering  <meyering@lucent.com>
97465
97466         * lib/error.c: Update from GNU libc.
97467
97468 2001-09-01  Jim Meyering  <meyering@lucent.com>
97469
97470         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
97471         Used by df.
97472
97473 2001-09-01  Jim Meyering  <meyering@lucent.com>
97474
97475         * lib/xreadlink.c: New file.
97476         * lib/xreadlink.h: New file.
97477         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
97478         xreadlink.h.
97479
97480         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
97481         doesn't conflict with sparc Solaris 7's definition in
97482         /usr/include/sys/int_types.h.
97483
97484         * lib/exclude.c: Use `""', not `<>' to #include non-system header
97485         files.
97486         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
97487         and strncasecmp as r-values.  Unixware didn't have declarations.
97488
97489 2001-08-31  Paul Eggert  <eggert@twinsun.com>
97490
97491         * lib/xstrtol.h: Add copyright notice.
97492         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
97493         LONGINT_INVALID_SUFFIX_CHAR.
97494
97495 2001-08-31  Paul Eggert  <eggert@twinsun.com>
97496
97497         * lib/xstrtol.c (strtoimax): New decl.
97498
97499 2001-08-31  Paul Eggert  <eggert@twinsun.com>
97500
97501         * lib/xgetcwd.c: Don't include pathmax.h.
97502         Include stdlib.h and unistd.h if available.
97503         Include xalloc.h.
97504         (xmalloc, xstrdup, free): Remove decls.
97505         (xgetcwd): Don't assume sizes fit in unsigned.
97506         Check for overflow when computing sizes.
97507         Simplify reallocation code.
97508
97509 2001-08-31  Paul Eggert  <eggert@twinsun.com>
97510
97511         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
97512         a directory's st_size can have an arbitrary value, so the old
97513         usage could waste an arbitrary amount of memory.  All uses
97514         changed.
97515         * lib/savedir.h: Update prototype.
97516
97517 2001-08-31  Paul Eggert  <eggert@twinsun.com>
97518
97519         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
97520
97521         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
97522         old strtoimax.c.
97523
97524         Also, make the following further changes to make this file's
97525         configuration more similar to that of strtol.c:
97526         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
97527         (strtoumax, uintmax_t, strtoull, strtol): Remove.
97528         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
97529         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
97530         changed to signed values.
97531
97532         And make the following changes as well:
97533         Fix copyright notice, as 1999 was missing.
97534         (verify): New macro.
97535         (strtoimax): Check sizes at compile-time, not run-time.
97536         Prefer strtol to strtoll if both work.
97537         (main): Remove; it was not that useful and was a pain to maintain.
97538
97539         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
97540
97541 2001-08-31  Jim Meyering  <meyering@lucent.com>
97542
97543         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
97544         Use an initial, malloc'd, buffer of length 128 rather than
97545         a statically allocated one of length 1024.
97546
97547 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97548
97549         Simplify code, partly by assuming autoconf 2.52 semantics.
97550
97551         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
97552
97553         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
97554         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
97555         All uses removed.
97556         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
97557         Move AC_REQUIRE to next-to-top level, to avoid confusion.
97558         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
97559         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
97560         jm_AC_HEADER_INTTYPES_H.
97561         * m4/jm-macros.m4 (jm_MACROS): Likewise.
97562
97563         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
97564
97565         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
97566         Quote first arg of AC_DEFUN.
97567         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
97568         since they are needed to parse the include file even if we need
97569         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
97570         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
97571         but with opposite signedness.
97572
97573 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97574
97575         Merge 'exclude' changes from tar 1.13.22.
97576         This fixes one or two unlikely storage allocation overflow bugs,
97577         but doesn't change user-visible behavior otherwise.
97578
97579 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97580
97581         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
97582         (jm_PREREQ_EXCLUDE): New macro.
97583
97584 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97585
97586         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
97587         tm to be declared.
97588
97589 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97590
97591         * lib/hash.c: Remove '2001' from copyright notice.
97592
97593 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97594
97595         * lib/full-write.h: New file.
97596         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
97597         * lib/full-write.c: Correct credits, as cccp.c no longer
97598         exists and anyway it was so heavily changed from the old cccp
97599         code as to be unrecognizable.  Include full-write.h.
97600         (full_write): Return size_t, with short writes meaning failure.
97601         All callers changed.  This fixes a bug with large buffers
97602         on 64-bit hosts.
97603         * lib/utime.c: Include full-write.h.
97604
97605 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97606
97607         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
97608         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
97609         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
97610         Include if available.
97611         (<xalloc.h>): Include
97612         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
97613         (verify): New macro.  Use it to verify that EXCLUDE macros do not
97614         collide with FNM macros.
97615         (struct patopts): New struct.
97616         (struct exclude): Use it, as exclude patterns now come with options.
97617         (new_exclude): Support above changes.
97618         (new_exclude, add_exclude_file):
97619         Initial size must now be a power of two to simplify overflow checking.
97620         (free_exclude, fnmatch_no_wildcards): New function.
97621         (excluded_filename): No longer requires options arg, as the options
97622         are determined by add_exclude.  Now returns bool, not int.
97623         (excluded_filename, add_exclude):
97624         Add support for the fancy new exclusion options.
97625         (add_exclude, add_exclude_file): Now takes int options arg.
97626         Check for arithmetic overflow when computing sizes.
97627         (add_exclude_file): xrealloc might modify errno, so don't
97628         realloc until after errno might be used.
97629
97630         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
97631         New macros.
97632         (free_exclude): New decl.
97633         (add_exclude, add_exclude_file): Now takes int options arg.
97634         (excluded_filename): No longer requires options arg, as the options
97635         are determined by add_exclude.  Now returns bool, not int.
97636
97637 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97638
97639         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
97640
97641 2001-08-27  Jim Meyering  <meyering@lucent.com>
97642
97643         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
97644
97645         * lib/version-etc.c (N_): Remove definition.
97646         Revert most of last change.
97647         Instead, simply don't mark the `Copyright...' string for translation.
97648         Based on advice from Paul Eggert.
97649
97650         * lib/strtoxmax.c: Tweak comment.
97651
97652 2001-08-26  Jim Meyering  <meyering@lucent.com>
97653
97654         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
97655
97656         * m4/xstrtoimax.m4: New file.
97657         * m4/xstrtoumax.m4: Add comments explaining why we
97658         AC_REPLACE_FUNCS(strtol).
97659
97660 2001-08-26  Jim Meyering  <meyering@lucent.com>
97661
97662         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
97663         of copyright with `%s' so translators don't get an untranslated
97664         message in 2002.
97665         (COPYRIGHT_YEAR): Define.
97666         (version_etc): Use fprintf rather than fputs.
97667         Suggestion from Ulrich Drepper.
97668
97669         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
97670
97671         * lib/strtoll.c: New file, from GNU libc.
97672         * lib/xstrtoimax.c: New file.
97673
97674         * lib/xstrtol.h: Add xstrtoimax.
97675         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
97676         * lib/strtoimax.c: New file.  Likewise, but first define
97677         STRTOUXMAX_SIGNED.
97678
97679         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
97680         ...
97681         * lib/strtoxmax.c: ... then renamed to this.
97682
97683 2001-08-18  Paul Eggert  <eggert@twinsun.com>
97684
97685         * m4/inttypes.m4: Add AC_PREREQ(2.13).
97686         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
97687         (jm_AC_TYPE_INTMAX_T): New macro.
97688         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
97689
97690         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
97691
97692         * m4/longlong.m4: Renamed from ulonglong.m4.
97693         * m4/inttypes.m4: Renamed from inttypes_h.m4.
97694         * m4/uintmax_t.m4: Removed.
97695
97696 2001-08-13  Paul Eggert  <eggert@twinsun.com>
97697
97698         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
97699         Port to Solaris 8, where 'sed' requires a space after the 'r'
97700         command, and where sh dislikes "$/".  Clean up the spacing a bit.
97701         Redirect output to $tmp just once.
97702
97703 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
97704
97705         * lib/addext.c (<errno.h>): Include.
97706         (errno): Declare if not defined.
97707         (addext): Work correctly when pathconf returns -1 and leaves
97708         errno alone because there is no limit.  Also, work even if
97709         pathconf returns a value greater than SIZE_MAX.
97710
97711 2001-08-12  Jim Meyering  <meyering@lucent.com>
97712
97713         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
97714         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
97715         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
97716         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
97717         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
97718         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
97719         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
97720         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
97721         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
97722         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
97723         utime.m4, utimes.m4, xstrtoumax.m4:
97724         Quote the first argument in each use of AC_DEFUN.
97725
97726 2001-08-12  Jim Meyering  <meyering@lucent.com>
97727
97728         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
97729         Simply `return getcwd (NULL, 0);'.
97730         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
97731         Use 1300 as initial value for length, not PATH_MAX.
97732
97733         * lib/pathmax.h: Clean up cpp syntax.
97734
97735 2001-08-12  Jim Meyering  <meyering@lucent.com>
97736
97737         * lib/gettimeofday.c: New file.
97738         * lib/gtod.h: New file.
97739         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
97740
97741 2001-08-05  Jim Meyering  <meyering@lucent.com>
97742
97743         * m4/jm-macros.m4: Require autoconf-2.52.
97744
97745 2001-08-04  Jim Meyering  <meyering@lucent.com>
97746
97747         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
97748         stmt, to get in sync with glibc.
97749
97750 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97751
97752         The following changes are from gettext 0.10.39 as maintained by
97753         Bruno Haible.
97754
97755         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
97756         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
97757         with inverted sense.  All uses changed.
97758
97759         * lib/mbswidth.c: Don't include <limits.h>.
97760         Include <stdlib.h> and <string.h> unconditionally.
97761         (iswcntrl, mbsinit, ISCNTRL): New macros.
97762         (mbsnwidth): Use K&R style function declarations.
97763         Don't bother checking for MB_LEN_MAX == 1, since the compiler
97764         can optimize it when MB_CUR_MAX == 1.
97765         The width of control characters is zero, not 1.
97766
97767 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97768
97769         The following changes are from gettext 0.10.39 as maintained by
97770         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
97771
97772         * m4/codeset.m4: Upgrade to serial AM1.
97773         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
97774         all uses changed.  Quote first arg of AC_DEFUN.
97775         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
97776
97777         * m4/iconv.m4: Upgrade to serial AM2.
97778         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
97779         Add --with-libconv-prefix.
97780         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
97781         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
97782         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
97783         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
97784         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
97785
97786         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
97787         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
97788         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
97789         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
97790         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
97791         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
97792         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
97793         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
97794         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
97795
97796         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
97797         string.h any more.
97798
97799         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
97800         not the default value.
97801
97802         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
97803         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
97804         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
97805         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
97806         Also check for iswcntrl, used for wcwidth fallback.
97807         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
97808         to Autoconf 2.13.
97809
97810 2001-08-03  Jim Meyering  <meyering@lucent.com>
97811
97812         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
97813         as it was in the original.  Reported by Paul Eggert.
97814
97815 2001-07-16  Jim Meyering  <meyering@lucent.com>
97816
97817         * m4/gettimeofday.m4: New file.
97818         Prompted by a report from Bernhard Baehr.
97819
97820 2001-07-15  Jim Meyering  <meyering@lucent.com>
97821
97822         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
97823         stuff. Now it's in ../Makefile.cfg.
97824
97825 2001-07-15  Jim Meyering  <meyering@lucent.com>
97826
97827         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
97828         (BUILT_SOURCES): Add unlocked-io.h.
97829         (io_functions): Define.
97830         (unlocked-io.h): New rule.
97831         (DISTCLEANFILES): Add unlocked-io.h.
97832         (all-local): Depend on unlocked-io.h, to ensure it is created.
97833
97834         * lib/unlocked-io.hin: New file
97835
97836         * lib/regex.c: Update from glibc.
97837
97838 2001-07-05  Jim Meyering  <meyering@lucent.com>
97839
97840         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
97841         recommendation.
97842         (libfetish_a_SOURCES): Put all .h files here instead.
97843         Remove a thus-exposed (better checks in automake) duplicate and
97844         two unnecessary .h files.
97845
97846 2001-07-04  Jim Meyering  <meyering@lucent.com>
97847
97848         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
97849         that generates jm-glibc-io.m4 so that it doesn't trigger any make
97850         distcheck failure.
97851
97852 2001-07-02  Jim Meyering  <meyering@lucent.com>
97853
97854         The following changes were prompted by suggestions from Bruno Haible.
97855
97856         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
97857         is now generated.
97858         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
97859         definition of EXTRA_DIST.
97860         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
97861         ensure that the generated file is created/updated whenever the list
97862         of $(unlocked_functions) is changed.
97863         (jm-glibc-io.m4): New rule.
97864         (unlocked-io.h): New rule -- currently unused.
97865
97866 2001-06-24  Jim Meyering  <meyering@lucent.com>
97867
97868         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
97869         unmatched right bracket, rather than kludging it with an extra,
97870         falsely-matching quote in a comment.  Patch by Akim Demaille.
97871
97872 2001-06-11  Jim Meyering  <meyering@lucent.com>
97873
97874         * lib/regex.c: Update from GNU libc.
97875
97876 2001-05-27  Jim Meyering  <meyering@lucent.com>
97877
97878         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
97879         Check for ut_type in struct utmp.
97880
97881 2001-05-27  Jim Meyering  <meyering@lucent.com>
97882
97883         * lib/readutmp.h (UT_TYPE): Define.
97884
97885 2001-05-24  Jim Meyering  <meyering@lucent.com>
97886
97887         * lib/argmatch.c: Include "quote.h".
97888         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
97889         quote function.  Reported by Göran Uddeborg.
97890
97891 2001-05-22  Jim Meyering  <meyering@lucent.com>
97892
97893         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
97894         now that we use the package-supplied version unconditionally.
97895         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
97896
97897 2001-05-21  Jim Meyering  <meyering@lucent.com>
97898
97899         * m4/regex.m4: Change a couple backticks to single quotes to avoid
97900         shell syntax errors.
97901
97902 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97903
97904         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
97905
97906 2001-05-20  Paul Eggert  <eggert@twinsun.com>
97907
97908         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
97909         Don't bother to check library strftime, since
97910         we'll be using our own my_strftime function anyway.
97911         Define my_strftime instead of strftime.
97912
97913 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
97914
97915         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
97916         which is not yet declared.
97917
97918 2001-05-15  Jim Meyering  <meyering@lucent.com>
97919
97920         * m4/regex.m4: Use proper quoting so brackets appear in the test
97921         program.
97922         Reported by, and with help from, Bruno Haible.
97923
97924 2001-05-13  Jim Meyering  <meyering@lucent.com>
97925
97926         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
97927         undefined.
97928
97929 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97930
97931         dirname code cleanup.  base_name now behaves more compatibly
97932         with POSIX basename when given file names that have trailing
97933         slashes, and similarly for dir_name.  Add new primitives
97934         base_len and dir_len.  Put the directory-name-related decls
97935         into dirname.h.
97936
97937         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
97938         * lib/backupfile.c (base_name): Likewise.
97939         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
97940         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
97941         * lib/makepath.c (strip_trailing_slashes): Likewise.
97942         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
97943         ISSLASH): Likewise.
97944         * lib/rename.c (strip_trailing_slashes): Likewise.
97945         * lib/same.c (base_name): Likewise.
97946         * lib/stripslash.c (ISSLASH): Likewise.
97947
97948         * lib/addext.c: Include <dirname.h> after size_t is defined.
97949         * lib/backupfile.c: Likewise.
97950
97951         * lib/addext.c (addext): Use base_len to trim redundant
97952         trailing slashes instead of doing it ourselves.
97953         But do not trim the last slash if it is not redundant.
97954
97955         * lib/backupfile.c (find_backup_file_name,
97956         max_backup_version): Use base_len instead of rolling it ourselves.
97957         Handle the case of "" and (on DOS) "C:" correctly.
97958
97959         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
97960         needed. Include <string.h>, <dirname.h>.
97961         (base_name): Allow file names ending in slashes, other than names
97962         that are all slashes.  In this case, return the basename followed
97963         by the slashes.  This is more general, and can be used in places
97964         where the original base_name purposely had an assertion failure.
97965         (base_len): New function.
97966
97967         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
97968         Do not include <assert.h>; no longer needed.
97969         Include xalloc.h.
97970         (memrchr): Remove decl.
97971         (dir_name_r): Remove.
97972         (dir_len): Renamed from dirlen.  All callers changed.
97973         Rewrite in terms of base_name, for simplicity and consistency.
97974         (dir_name): Never return NULL.  All callers changed.
97975         Do not include <stdlib.h> in test program; no longer needed.
97976         return 0; is fine for test program.
97977
97978         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
97979         New macros.
97980         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
97981
97982         * lib/path-concat.c (path_concat): Use base_len to compute
97983         base length, not strlen; this means we cannot rely on memcpy
97984         to null-terminate.
97985
97986         * lib/same.c (STREQ): Remove.
97987         (same_name): Handle the case where the basename ends in trailing '/'.
97988
97989         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
97990         a slash was stripped.  Do not strip the last slash after a
97991         file system prefix.
97992
97993 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97994
97995         * lib/Makefile.am (libfetish_a_SOURCES):
97996         Add strftime.c, since we now compile it on all hosts.
97997
97998         * lib/strftime.c (my_strftime):
97999         Define to nstrftime if emacs, but only if my_strftime is not defined.
98000         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
98001         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
98002         Add one more extra argument: a nanoseconds value.
98003         All uses changed.
98004         (ns): New macro.
98005         (my_strftime function): Add %N format.
98006         (emacs_strftimeu): Renamed from emacs_strftime,
98007         with extra ut argument.
98008
98009 2001-05-09  Paul Eggert  <eggert@twinsun.com>
98010
98011         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
98012
98013 2001-04-21  Jim Meyering  <meyering@lucent.com>
98014
98015         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
98016         doesn't interfere.
98017
98018 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
98019
98020         * m4/ftruncate.m4: Check for chsize.
98021         Link with ftruncate.o unconditionally if ftruncate is missing.
98022         This was required when cross-compiling to i586-mingw32msvc.
98023
98024 2001-04-08  Jim Meyering  <meyering@lucent.com>
98025
98026         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
98027         recomputed; that's necessary when the offset spans a DST transition.
98028         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
98029
98030 2001-04-02  Jim Meyering  <meyering@lucent.com>
98031
98032         * lib/regex.h, regex.c: Update from GNU libc.
98033
98034 2001-03-24  Jim Meyering  <meyering@lucent.com>
98035
98036         * m4/jm-macros.m4: Require autoconf-2.49d.
98037
98038 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
98039
98040         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
98041
98042 2001-03-19  Paul Eggert  <eggert@twinsun.com>
98043
98044         * lib/version-etc.c (version_etc_copyright): Update to 2001.
98045
98046 2001-03-17  Jim Meyering  <meyering@lucent.com>
98047
98048         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
98049         now that the version in autoconf is equivalent.
98050         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
98051
98052         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
98053         Suggestion from Akim Demaille.
98054
98055         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
98056         (jm_PREREQ_TEMPNAME): New function.
98057
98058 2001-03-16  Paul Eggert  <eggert@twinsun.com>
98059
98060         * lib/tempname.c (uint64_t): Define to uintmax_t if
98061         not defined, and if UINT64_MAX is not defined.
98062         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
98063         Reported by John David Anglin.
98064
98065 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
98066
98067         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
98068         resolve alias if codeset is empty.
98069         * lib/config.charset (BeOS): Use wildcard syntax.
98070
98071 2001-03-13  Jim Meyering  <meyering@lucent.com>
98072
98073         * lib/path-concat.c (path_concat)
98074         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
98075         concatenating e.g., `C:' and `foo'.
98076         From Bruno Haible.
98077
98078 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
98079
98080         * lib/localcharset.c (locale_charset): Don't use
98081         setlocale(LC_CTYPE,NULL). Don't return NULL.
98082         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
98083
98084 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
98085
98086         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
98087         support for DOS/DJGPP.
98088
98089 2001-03-01  Paul Eggert  <eggert@twinsun.com>
98090
98091         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
98092         lacks mkstemp.  Compile our own tempname.c if we compile our own
98093         mkstemp.c, as mkstemp relies on tempname.
98094
98095 2001-03-01  Jim Meyering  <meyering@lucent.com>
98096
98097         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
98098         AH_VERBATIM really does output its argument verbatim.
98099
98100 2001-02-28  Paul Eggert  <eggert@twinsun.com>
98101
98102         * lib/Makefile.am (libfetish_a_SOURCES):
98103         Add dup-safer.c, fopen-safer.c.
98104         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
98105
98106         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
98107         * lib/unistd-safer.h: New files.
98108
98109 2001-02-25  Paul Eggert  <eggert@twinsun.com>
98110
98111         The mkstemp replacement is taken from glibc 2.2.2, with some
98112         portability fixes for use outside glibc, as follows:
98113
98114         * lib/tempname.c (struct_stat64): New macro.
98115         (direxists, __gen_tempname): Use it.
98116         This avoids a portability problem with Solaris 8.
98117
98118         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
98119         (<stddef.h>, <stdint.h>, <string.h>):
98120         Include only if STDC_HEADERS || _LIBC.
98121         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
98122         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
98123         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
98124         (__set_errno): Define this macro if <errno.h> doesn't.
98125         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
98126         Define these macros if <stdio.h> doesn't.
98127         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
98128         Define these macros if <sys/stat.h>
98129         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
98130         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
98131         __xstat64): Define if not _LIBC.
98132         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
98133         (__gen_tempname): Invoke gettimeofday only if
98134         HAVE_GETTIMEOFDAY || _LIBC;
98135         otherwise, fall back on plain "time".
98136         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
98137
98138         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
98139
98140         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
98141
98142 2001-02-18  Paul Eggert  <eggert@twinsun.com>
98143
98144         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
98145
98146 2001-02-17  Paul Eggert  <eggert@twinsun.com>
98147
98148         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
98149         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
98150         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
98151         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
98152
98153 2001-02-17  Paul Eggert  <eggert@twinsun.com>
98154
98155         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
98156         Remove workaround macros for hosts that have mbrtowc but not
98157         mbstate_t, as we now insist on proper declarations for both
98158         before using mbrtowc.
98159
98160 2001-02-17  Jim Meyering  <meyering@lucent.com>
98161
98162         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
98163         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
98164         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
98165         UnixWare 7.1.1.
98166
98167         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
98168         rather than AC_CACHE_VAL.
98169
98170 2001-02-17  Jim Meyering  <meyering@lucent.com>
98171
98172         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
98173         around included file name.
98174
98175         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
98176
98177         * lib/strftime.c: Update from GNU libc (the only changes were to
98178         comments).
98179
98180 2001-02-17  Jim Meyering  <meyering@lucent.com>
98181
98182         * lib/regex.c: Update from libc.
98183
98184 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
98185
98186         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
98187         clash.
98188
98189 2001-02-16  Paul Eggert  <eggert@twinsun.com>
98190
98191         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
98192         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
98193         Reported by Mark Hounschell via Paul Eggert.
98194
98195 2001-02-07  Jim Meyering  <meyering@lucent.com>
98196
98197         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
98198
98199 2001-02-05  Jim Meyering  <meyering@lucent.com>
98200
98201         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
98202         it includes the patch required for `large file' support with at least
98203         HP-UX's 10.20 /bin/cc.
98204
98205 2001-02-03  Jim Meyering  <meyering@lucent.com>
98206
98207         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
98208         AS_IF, now that it works once again (mysteriously).
98209         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
98210
98211 2001-01-30  Jim Meyering  <meyering@lucent.com>
98212
98213         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
98214         * m4/chown.m4: Rename conftestchown to conftest.chown.
98215         * m4/rename.m4: s/conftestdir/conftest.d1/ and
98216         s/conftestdir2/conftest.d2/.
98217         * m4/utimes.m4: s/conftestdata/conftest.data/
98218         Inspired by Pavel Roskin's change in autoconf.
98219
98220 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
98221
98222         * lib/config.charset: Update for FreeBSD 4.2.
98223
98224 2001-01-27  Jim Meyering  <meyering@lucent.com>
98225
98226         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
98227         a use of AS_IF.
98228         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
98229
98230 2001-01-26  Jim Meyering  <meyering@lucent.com>
98231
98232         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
98233         quotearg.c includes it.
98234
98235 2001-01-26  Jim Meyering  <meyering@lucent.com>
98236
98237         * lib/quotearg.c: Include stddef.h.
98238         * lib/quote.c: Include stddef.h.
98239         Reported by Axel Kittenberger.
98240
98241         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
98242         line in double quotes so that it evokes a better diagnostic.
98243         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
98244         Reported by Axel Kittenberger.
98245
98246 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
98247
98248         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
98249         as if it was a `charset'.
98250
98251 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
98252
98253         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
98254         has const.
98255
98256 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
98257
98258         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
98259         to avoid a warning.  Add back 'const' to inptr.
98260
98261 2001-01-20  Jim Meyering  <meyering@lucent.com>
98262
98263         Be sure that headers are checked before used in code compiled
98264         for the type checks.
98265         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
98266         In place of that, invoke jm_CHECK_ALL_TYPES.
98267         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
98268         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
98269         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
98270         The check for ssize_t was mistakenly run before the test for unistd.h.
98271
98272         The configure-time check for stdbool.h was missing.
98273         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
98274         (jm_PREREQ_HASH): New function.
98275
98276 2001-01-17  Jim Meyering  <meyering@lucent.com>
98277
98278         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
98279         for autoconf-2.49c.
98280         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
98281
98282 2001-01-16  Jim Meyering  <meyering@lucent.com>
98283
98284         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
98285         From Bruno Haible.
98286
98287 2001-01-14  Jim Meyering  <meyering@lucent.com>
98288
98289         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
98290         foo and bar.  Create conftestdir/ in the script, not in the C code.
98291         Remove directories in the script, not in the C code.
98292         Remove conftestdir{,2} before trying to create the directory.
98293         Make the entire configure script fail if the mkdir fails.
98294
98295 2001-01-14  Jim Meyering  <meyering@lucent.com>
98296
98297         * lib/rename.c: New file.  From Volker Borchert.
98298         Include stdlib.h, string.h or strings.h, and xalloc.h.
98299         Use strip_trailing_slashes rather than open-coding it.
98300
98301 2001-01-03  Paul Eggert  <eggert@twinsun.com>
98302
98303         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
98304
98305 2001-01-03  Jim Meyering  <meyering@lucent.com>
98306
98307         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
98308         of local `inptr' to avoid warning with some system declarations of
98309         iconv.
98310
98311 2001-01-02  Volker Borchert  <bt@teknon.de>
98312
98313         * m4/rename.m4: New file.
98314         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
98315
98316 2001-01-01  Jim Meyering  <meyering@lucent.com>
98317
98318         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
98319         even on systems with utmpx.h.  It's necessary for the declaration of
98320         utmp's ut_user member.  Reported by Andreas Jaeger.
98321
98322         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
98323         available. They are required for the declarations of getgrgid and
98324         getpwuid resp.
98325         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
98326         Reported by Andreas Jaeger.
98327
98328 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
98329
98330         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
98331         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
98332         so `make install' also works in VPATH builds.
98333
98334 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
98335
98336         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
98337         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
98338         can be used in subdirectories.
98339
98340 2000-12-29  Paul Eggert  <eggert@twinsun.com>
98341
98342         * lib/modechange.c: Do not assume that mode_t uses the
98343         traditional octal encoding.  E.g. "chmod 1 FOO" should set
98344         the other-execute bit of FOO even if S_IXOTH != 1.
98345
98346         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
98347         WOTH, XOTH, ALLM): New macros.
98348         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
98349          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
98350         Use them.
98351         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
98352         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
98353         (mode_compile):
98354         No need to use uintmax_t; unsigned long is long enough.
98355         Don't bother to get suffix since we don't use it.
98356
98357 2000-12-26  Jim Meyering  <meyering@lucent.com>
98358
98359         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
98360         better with autoheader.
98361
98362 2000-12-24  Jim Meyering  <meyering@lucent.com>
98363
98364         * lib/hash.c (is_prime): Return explicit boolean values.
98365         (hash_get_first): Return NULL to appease Irix5.6's 89.
98366         Reported by Nelson Beebe.
98367
98368 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
98369
98370         * lib/localcharset.c (locale_charset): Add support for Win32.
98371
98372 2000-12-18  Paul Eggert  <eggert@twinsun.com>
98373
98374         * lib/physmem.h, lib/physmem.c: New files.
98375
98376         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
98377         (noinst_HEADERS): Add physmem.h.
98378
98379         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
98380         't' for compatibility with Solaris 8 sort.
98381
98382 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
98383
98384         * lib/config.charset: Add support for BeOS.
98385
98386 2000-12-17  Jim Meyering  <meyering@lucent.com>
98387
98388         * m4/dos.m4 (jm_AC_DOS): New file and macro.
98389         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
98390
98391 2000-12-16  Jim Meyering  <meyering@lucent.com>
98392
98393         This bug had a serious impact on chown: `chown N:M FILE' (for integer
98394         N and M) would have treated it like `chown N:N FILE'.
98395
98396         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
98397
98398 2000-12-16  Jim Meyering  <meyering@lucent.com>
98399
98400         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
98401         SHELLS_FILE to a file name that's useful on djgpp systems.
98402         Include stdlib.h.
98403         (ADDITIONAL_DEFAULT_SHELLS): Define.
98404         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
98405         Based mostly on a patch from Prashant TR.
98406
98407 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
98408
98409         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
98410         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
98411         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
98412
98413 2000-12-08  Andreas Schwab  <schwab@suse.de>
98414
98415         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
98416         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
98417
98418 2000-12-07  Jim Meyering  <meyering@lucent.com>
98419
98420         * lib/stripslash.c (ISSLASH): Define.
98421         (strip_trailing_slashes): Use ISSLASH rather than comparing against
98422         `/'.
98423         From Prashant TR.
98424
98425         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
98426         (dir_name_r): Declare this function as static.
98427         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
98428         manifest itself on a name containing a mix of slashes and
98429         backslashes.
98430         Make this function work with names starting with a DOS-style
98431         drive letter and colon prefix.
98432         (dir_name): Append `.' if necessary.
98433         Based mostly on patches from Prashant TR and Eli Zaretskii.
98434
98435         * lib/dirname.h (dir_name_r): Remove prototype.
98436
98437 2000-12-06  Paul Eggert  <eggert@twinsun.com>
98438
98439         * m4/off_t-format.m4: Remove this file.
98440         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
98441
98442 2000-12-06  Jim Meyering  <meyering@lucent.com>
98443
98444         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
98445         replacement strtoull, we may well need the replacement strtoul, too.
98446         Check for declarations of strtoul and strtoull.
98447         Check for strtol.  Mainly as a cue to cause automake to include
98448         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
98449         Check for limits.h -- strtol.c needs it.
98450
98451 2000-12-05  Jim Meyering  <meyering@lucent.com>
98452
98453         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
98454
98455 2000-12-04  Jim Meyering  <meyering@lucent.com>
98456
98457         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
98458         Also include memory.h, stdlib.h, unistd.h if appropriate.
98459         Reported by Andreas Jaeger (conflicting declaration of malloc).
98460
98461 2000-12-02  Jim Meyering  <meyering@lucent.com>
98462
98463         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
98464         * m4/jm-macros.m4 (jm_MACROS): require it.
98465
98466 2000-12-02  Jim Meyering  <meyering@lucent.com>
98467
98468         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
98469
98470 2000-12-01  Paul Eggert  <eggert@twinsun.com>
98471
98472         * lib/memrchr.c: Include <config.h> before any system include file.
98473
98474 2000-11-30  Jim Meyering  <meyering@lucent.com>
98475
98476         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
98477
98478 2000-11-30  Jim Meyering  <meyering@lucent.com>
98479
98480         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
98481
98482 2000-11-29  Paul Eggert  <eggert@twinsun.com>
98483
98484         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
98485
98486 2000-11-26  Jim Meyering  <meyering@lucent.com>
98487
98488         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
98489
98490 2000-11-22  Paul Eggert  <eggert@twinsun.com>
98491
98492         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
98493         size of (size_t) -1; it's not portable.
98494
98495 2000-11-17  Jim Meyering  <meyering@lucent.com>
98496
98497         * lib/strstr.c: Update from GNU libc.
98498
98499 2000-11-17  Akim Demaille  <akim@epita.fr>
98500
98501         * lib/obstack.h: Formatting changes.
98502         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
98503         prevent type checking.
98504         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
98505         cast the value to (void *): assigning a `foo *' to a `void *'
98506         variable is valid.
98507         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
98508
98509 2000-11-16  Jim Meyering  <meyering@lucent.com>
98510
98511         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
98512
98513 2000-11-11  Jim Meyering  <meyering@lucent.com>
98514
98515         * lib/error.c: Add a couple #includes, merging from GNU libc version.
98516
98517 2000-11-10  Jim Meyering  <meyering@lucent.com>
98518
98519         * lib/obstack.h: Update from GNU libc.
98520         * lib/obstack.c: Likewise.
98521
98522 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
98523
98524         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
98525
98526 2000-11-06  Paul Eggert  <eggert@twinsun.com>
98527
98528         * lib/getusershell.c (setusershell): Use rewind rather than
98529         fseek/fseeko, to avoid configuration hassles with fseeko.
98530         Don't bother opening SHELLS_FILE if shellstream is NULL;
98531         it's not necessary.
98532
98533 2000-11-05  Jim Meyering  <meyering@lucent.com>
98534
98535         * lib/makepath.h (make_dir): Declare.
98536         * lib/makepath.c (make_dir): Remove `static' attribute.
98537         Tweak a comment.
98538
98539 2000-11-04  Jim Meyering  <meyering@lucent.com>
98540
98541         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
98542
98543 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
98544
98545         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
98546         last one in a bucket, advance to the next bucket.
98547
98548 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
98549
98550         * lib/fnmatch.c: Do not comment out all the code if we are using
98551         the GNU C library, because in some cases we are replacing buggy
98552         code in the GNU C library itself.
98553
98554 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
98555
98556         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
98557         (regex_compile): Catch bogus \(\1\).
98558
98559 2000-10-30  Paul Eggert  <eggert@twinsun.com>
98560
98561         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
98562         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
98563         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
98564
98565 2000-10-30  Paul Eggert  <eggert@twinsun.com>
98566
98567         * lib/error.h, getline.h, modechange.h:
98568         Remove "2000" from Copyright line, as the file hasn't been
98569         changed this year other than in the copyright notice.
98570
98571         * lib/xalloc.h: Add "2000" to Copyright line, as this file
98572         was changed this year.
98573
98574 2000-10-29  Jim Meyering  <meyering@lucent.com>
98575
98576         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
98577         renaming.
98578         * m4/ls-mntd-fs.m4: Likewise
98579
98580 2000-10-29  Jim Meyering  <meyering@lucent.com>
98581
98582         * lib/xstat.in: Fix grammar in comment.
98583
98584 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
98585
98586         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
98587         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
98588         doesn't define __restrict_arr.
98589
98590 2000-10-28  Jim Meyering  <meyering@lucent.com>
98591
98592         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
98593         (jm_PREREQ_MEMCHR): New function.
98594
98595 2000-10-28  Jim Meyering  <meyering@lucent.com>
98596
98597         * lib/memchr.c: Update from libc.
98598         Adjust for portability:
98599         [HAVE_STDLIB_H]: Include stdlib.h.
98600         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
98601         Undef __memchr, too.
98602         [!weak_alias]: Define __memchr to memchr.
98603
98604         * lib/regex.c: Update from libc.
98605         * lib/regex.h: Likewise.
98606         * lib/getopt1.c: Likewise.
98607         * lib/memcmp.c: Likewise.
98608
98609         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
98610         Avoid using fseek, when possible -- it's broken by design.
98611         Patch by Ulrich Drepper.
98612
98613 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
98614
98615         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
98616         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
98617         Giving in to popular pressure to shut up the compiler with casts.
98618
98619 2000-10-26  Jim Meyering  <meyering@lucent.com>
98620
98621         * lib/strftime.c: Update from libc.
98622
98623 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
98624
98625         * regex.c: More `unsigned char' -> `re_char' changes.
98626         Also change several `int' into `re_wchar_t'.
98627         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
98628         (PUSH_FAILURE_POINTER): Don't cast any more.
98629         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
98630         We want GCC to complain, since this piece of code makes
98631         re_match non-reentrant, which *should* be fixed.
98632         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
98633         (EXTEND_BUFFER): Use RETALLOC.
98634         (SET_LIST_BIT): Don't cast.
98635         (re_wchar_t): New type.
98636         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
98637         that those two functions will always properly return.
98638         (IMMEDIATE_QUIT_CHECK): Cast to void.
98639         (analyse_first): Use recursion rather than an explicit stack.
98640         (re_compile_fastmap): Can't fail anymore.
98641         (re_search_2): Don't check re_compile_fastmap for failure.
98642         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
98643         Now also sets the new value (passed in a new argument).
98644         (re_match_2_internal): Use it.
98645         Also, use a new var `reg' of type size_t when looping through regs
98646         rather than reuse the inappropriate `mcnt'.
98647
98648 2000-10-25  Jim Meyering  <meyering@lucent.com>
98649
98650         * lib/obstack.c: Update from libc.
98651
98652 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
98653
98654         * regex.c (regex_compile): Change the way of handling a range from
98655         a char less than 256 to a char not less than 256.
98656
98657 2000-10-24  Andrew Innes  <andrewi@gnu.org>
98658
98659         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
98660         NT-Emacs only.
98661         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
98662         so that re_search functions only quit when callers expect them to.
98663
98664 2000-10-23  Jim Meyering  <meyering@lucent.com>
98665
98666         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
98667         wrong.  That set_locale call must not have any side effects.
98668         From Paul Eggert.
98669
98670 2000-10-22  Jim Meyering  <meyering@lucent.com>
98671
98672         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
98673         [CYCLIC]: Remove now-unused definition.
98674
98675         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
98676         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
98677         Suggestion from Ulrich Drepper.
98678
98679 2000-10-21  Jim Meyering  <meyering@lucent.com>
98680
98681         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
98682         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
98683         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
98684
98685 2000-10-21  Jim Meyering  <meyering@lucent.com>
98686
98687         * lib/dirname.c (memrchr): Declare if necessary.
98688         (dir_name): Remove the restriction that there be no
98689         trailing slashes.  Now, this code skips past them, effectively
98690         ignoring them.
98691         [TEST_DIRNAME] (main): New unit tests.
98692
98693         * lib/memrchr.c: New file from GNU libc.
98694         Undef __memrchr, too.
98695         [!weak_alias]: Define __memrchr to memrchr.
98696         Guard weak_alias use with `#ifdef weak_alias'.
98697
98698 2000-10-21  Jim Meyering  <meyering@lucent.com>
98699
98700         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
98701         (dir_name): Use dir_name_r.
98702         * lib/dirname.h (dir_name_r): Declare it.
98703
98704 2000-10-17  Jim Meyering  <meyering@lucent.com>
98705
98706         * lib/quote.h (PARAMS): Define and use.
98707         Reported by Akim Demaille.
98708
98709         * lib/getopt.c: Update from libc.
98710
98711 2000-10-16  Jim Meyering  <meyering@lucent.com>
98712
98713         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
98714         setlocale.
98715         From Jan Fedak.
98716
98717 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
98718
98719         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
98720
98721 2000-09-25  Jim Meyering  <meyering@lucent.com>
98722
98723         * lib/md5.h (rol): Define (from GnuPG).
98724
98725         * lib/sha.c: Give credit (GnuPG) where due.
98726         (M): Use rol rather than open-coding it.
98727         Add a FIXME comment.
98728
98729 2000-09-21  Jim Meyering  <meyering@lucent.com>
98730
98731         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
98732         Reported by Michael Stone.
98733
98734 2000-09-20  Jim Meyering  <meyering@lucent.com>
98735
98736         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
98737         (noinst_HEADERS): Add sha.h.
98738         Based on code from Scott G. Miller and from GnuPG.
98739
98740 2000-09-18  Jim Meyering  <meyering@lucent.com>
98741
98742         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
98743         LIBS. Otherwise, everyone ends up linking with -lelf for some
98744         configurations.
98745         Reported by Mike Stone.
98746
98747 2000-09-15  Jim Meyering  <meyering@lucent.com>
98748
98749         * lib/regex.c: Update from libc.
98750
98751 2000-09-10  Jim Meyering  <meyering@lucent.com>
98752
98753         * lib/getopt.c (_getopt_internal): Update from glibc.
98754
98755 2000-09-09  Jim Meyering  <meyering@lucent.com>
98756
98757         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
98758         think it should be used as a general replacement for isascii.
98759         * lib/fnmatch.c: Likewise.
98760         * lib/mbswidth.c: Likewise
98761         * lib/regex.c: Likewise.
98762
98763         Don't use atoi.
98764         * lib/userspec.c: Include sys/param.h and limits.h.
98765         Include xstrtol.h.
98766         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
98767         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
98768         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
98769         UID, GID.  Check range.
98770
98771 2000-09-06  Jim Meyering  <meyering@lucent.com>
98772
98773         * lib/getopt.c (_getopt_internal): Update from glibc.
98774
98775 2000-08-30  Jim Meyering  <meyering@lucent.com>
98776
98777         * lib/strftime.c: Merge in changes from GNU libc.
98778
98779 2000-08-26  Jim Meyering  <meyering@lucent.com>
98780
98781         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
98782         * m4/fpending.m4: New file.
98783
98784 2000-08-26  Jim Meyering  <meyering@lucent.com>
98785
98786         * lib/closeout.c: Include "__fpending.h".
98787         (close_stdout_status): Return right away if there's nothing to flush.
98788
98789         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
98790         * lib/__fpending.c: New file.
98791         * lib/__fpending.h: New file.
98792
98793 2000-08-20  Jim Meyering  <meyering@lucent.com>
98794
98795         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
98796         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
98797         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
98798
98799 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
98800
98801         Improve fileutils installation on systems where running
98802         programs (like install) can't be unlinked.
98803         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
98804         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
98805
98806 2000-08-07  Paul Eggert  <eggert@twinsun.com>
98807
98808         Standardize on "memory exhausted" instead of "Memory exhausted"
98809         or "virtual memory exhausted".
98810         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
98811         "virtual memory exhausted".
98812         * lib/same.c (same_name): Invoke xalloc_die instead of printing
98813         our own message.
98814         * lib/userspec.c (parse_user_spec): Likewise.
98815         * lib/bumpalloc.h: comment fix
98816         * lib/same.c, userspec.c: Include xalloc.h.
98817
98818         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
98819         not char *const and pointing to a constant array.
98820         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
98821         (xrealloc): Comment fix.
98822
98823         * lib/userspec.c (parse_user_spec):
98824         Don't translate a message until just before returning,
98825         to avoid unnecessary translation.
98826
98827 2000-08-07  Jim Meyering  <meyering@lucent.com>
98828
98829         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
98830         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
98831         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
98832         getgroups.c, gethostname.c, getopt.h, group-member.c,
98833         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
98834         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
98835         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
98836         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
98837         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
98838         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
98839         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
98840         yesno.c: Back out Copyright date changes for each file with no change
98841         this year.  This eases coordination with other programs using the same
98842         source code modules.  From Paul Eggert.
98843
98844 2000-08-06  Paul Eggert  <eggert@twinsun.com>
98845
98846         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
98847         not char, for compatibility with glibc 2.1.3 strftime.c.
98848
98849 2000-08-03  Greg McGary  <greg@mcgary.org>
98850
98851         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
98852         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
98853         (EXTEND_BUFFER): Use them.
98854
98855 2000-08-01  Jim Meyering  <meyering@lucent.com>
98856
98857         * lib/dirname.c (ISSLASH): Define.
98858         (BACKSLASH_IS_PATH_SEPARATOR): Define.
98859         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
98860         both `\' and `/' may be use as path separators.
98861         Based on a patch from Prashant TR.
98862
98863 2000-07-31  Paul Eggert  <eggert@twinsun.com>
98864
98865         * lib/quotearg.c (quotearg_n_options): Don't make the initial
98866         slot vector a constant, since it might get modified.
98867
98868 2000-07-31  Jim Meyering  <meyering@lucent.com>
98869
98870         * lib/xmalloc.c: Use `virtual memory exhausted', not
98871         `Memory exhausted'.
98872         * lib/obstack.c (print_and_abort): Likewise.
98873
98874 2000-07-30  Paul Eggert  <eggert@twinsun.com>
98875
98876         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
98877         buffer, so that the caller can always quote one small
98878         component of a "memory exhausted" message in slot 0.
98879         From a suggestion by Jim Meyering.
98880
98881 2000-07-30  Jim Meyering  <meyering@lucent.com>
98882
98883         * lib/makepath.c (make_path): Quote the other instance, too.
98884
98885         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
98886         (STATIC_BUF_SIZE): Define.
98887         (quotearg_n_options): Use only statically allocated storage when
98888         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
98889         than STATIC_BUF_SIZE.
98890
98891 2000-07-29  Jim Meyering  <meyering@lucent.com>
98892
98893         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
98894         * lib/dirname.c (dir_name): Likewise.
98895
98896         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
98897         `/'.
98898
98899         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
98900         (dir_name): Assert that there are no trailing slashes.
98901
98902 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
98903
98904         * lib/mbswidth.h (mbswidth): Add a flags argument.
98905         (mbswidth): New declaration.
98906         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
98907         * lib/mbswidth.c (mbswidth): Add a flags argument.
98908         (mbsnwidth): New function.
98909
98910 2000-07-24  Jim Meyering  <meyering@lucent.com>
98911
98912         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
98913
98914 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98915
98916         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
98917
98918 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98919
98920         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
98921         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
98922         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
98923         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
98924         invoke multibyte primitives.
98925
98926 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98927
98928         * lib/quotearg.c:
98929         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
98930         so that mbstate_t is always defined.
98931
98932         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
98933         be 1 in at least one GCC installation, and this configuration
98934         error is likely to be common.  Ignoring MB_LEN_MAX hurts
98935         performance on hosts that have mbrtowc but have only unibyte
98936         locales, but I assume these hosts are rare.
98937
98938 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98939
98940         * lib/mbswidth.c (_XOPEN_SOURCE):
98941         Don't define; this causes problems on Solaris 7.
98942         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
98943
98944 2000-07-23  Jim Meyering  <meyering@lucent.com>
98945
98946         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
98947         too: getgrgid, getpwuid, getuid.
98948
98949 2000-07-23  Jim Meyering  <meyering@lucent.com>
98950
98951         * lib/basename.c (base_name): Add an assertion.
98952
98953 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
98954
98955         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
98956         shadow its mbsinit function.
98957
98958 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98959
98960         * lib/mbswidth.h: New file.
98961         * lib/mbswidth.c: New file.
98962         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
98963         (noinst_HEADERS): Add mbswidth.h.
98964
98965 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98966
98967         * lib/config.charset: Add support for FreeBSD. Improve support for
98968         HP-UX and IRIX 6.
98969
98970 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
98971
98972         * m4/mbswidth.m4: New file.
98973         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
98974
98975 2000-07-15  Jim Meyering  <meyering@lucent.com>
98976
98977         * lib/makepath.c: Include quote.h.
98978         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
98979         corresponding argument in a `quote (...)' call.
98980         Give better diagnostics.
98981
98982         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
98983         (noinst_HEADERS): Add quote.h.
98984
98985         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
98986         from tar's src/misc.c.
98987         * lib/quote.h: New file.  Prototypes for same.
98988
98989 2000-07-14  Paul Eggert  <eggert@twinsun.com>
98990
98991         From a suggestion by Bruno Haible.
98992         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
98993         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
98994         to decide whether to define the BeOS workaround macro;
98995         this adjusts to the change to AC_MBSTATE_T.
98996
98997 2000-07-14  Jim Meyering  <meyering@lucent.com>
98998
98999         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
99000         jm_AC_TYPE_UINTMAX_T.
99001
99002 2000-07-13  Paul Eggert  <eggert@twinsun.com>
99003
99004         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
99005
99006         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
99007         quotearg_buffer_restyled): Add support for
99008         clocale_quoting_style.  Undo previous change to
99009         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
99010         and "{RIGHT QUOTATION MARK}" msgids.
99011
99012 2000-07-10  Paul Eggert  <eggert@twinsun.com>
99013
99014         From a suggestion by Bruno Haible.
99015         * m4/mbstate_t.m4 (AC_MBSTATE_T):
99016         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
99017         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
99018         and mbstate_t, to a single-part test that simply defines mbstate_t.
99019         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
99020         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
99021
99022 2000-07-10  Jim Meyering  <meyering@lucent.com>
99023
99024         * m4/strerror_r.m4: Mirror the correction made in autoconf.
99025
99026         * m4/gnu-source.m4: Output to confdefs.h directly.
99027         Suggestion from Akim Demaille.
99028
99029 2000-07-09  Paul Eggert  <eggert@twinsun.com>
99030
99031         The old behavior of quoting `like this' doesn't look good with
99032         newer, ISO-style fonts.  See:
99033         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
99034
99035         Instead, quote "like this" by default.  Let the translator
99036         tailor the locale-specific quoting behavior by providing
99037         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
99038
99039         * lib/quotearg.c (N_): New macro.
99040         (gettext_default): New function.
99041         (quotearg_buffer_restyled): Use
99042         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
99043         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
99044
99045 2000-07-09  Jim Meyering  <meyering@lucent.com>
99046
99047         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
99048         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
99049
99050         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
99051         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
99052
99053 2000-07-09  Jim Meyering  <meyering@lucent.com>
99054
99055         * lib/Most files: Update copyright dates to include 2000.
99056
99057 2000-07-08  Jim Meyering  <meyering@lucent.com>
99058
99059         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
99060         if not defined.
99061         (xgethostname): Remove now-unnecessary #ifdef.
99062         Move declaration of `err' into loop where it's used.
99063
99064 2000-07-05  Paul Eggert  <eggert@twinsun.com>
99065         and Bruno Haible  <haible@clisp.cons.org>
99066
99067         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
99068         only if the test for an object-type mbstate_t fails.  This
99069         prevents us from mistakenly reporting that mbstate_t is a
99070         system object type after we "#define mbstate_t int" to work
99071         around its lack.
99072
99073 2000-07-05  Paul Eggert  <eggert@twinsun.com>
99074         and Bruno Haible  <haible@clisp.cons.org>
99075
99076         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
99077
99078 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
99079
99080         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
99081         to strerror_r.
99082         Include <ctype.h> for use of isalpha.
99083
99084 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
99085
99086         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
99087         by allocating a larger buffer. Test the gethostname return value for
99088         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
99089         returns an error and ENAMETOOLONG isn't defined.
99090
99091 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
99092
99093         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
99094         dimension.
99095
99096 2000-07-04  Jim Meyering  <meyering@lucent.com>
99097
99098         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
99099         of the deprecated AC_CHECKING.
99100
99101 2000-07-04  Jim Meyering  <meyering@lucent.com>
99102
99103         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
99104         Reported by Bruno Haible.
99105
99106 2000-07-04  Jim Meyering  <meyering@lucent.com>
99107
99108         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
99109         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
99110         lacks mbrtowc.
99111
99112 2000-07-03  Paul Eggert  <eggert@twinsun.com>
99113
99114         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
99115         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
99116
99117 2000-07-03  Paul Eggert  <eggert@twinsun.com>
99118         and Bruno Haible  <haible@clisp.cons.org>
99119
99120         * lib/quotearg.c (mbrtowc):
99121         Assign to *pwc, and return 1 only if result is nonzero.
99122         (iswprint): Use ISPRINT when substituting our own mbrtowc.
99123
99124 2000-07-03  Jim Meyering  <meyering@lucent.com>
99125
99126         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
99127
99128 2000-07-03  Jim Meyering  <meyering@lucent.com>
99129
99130         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
99131         This is necessary to get a definition of e.g., UTMP_FILE on
99132         HP-UX 10.20.
99133         From Bob Proulx.
99134
99135 2000-07-02  Jim Meyering  <meyering@lucent.com>
99136
99137         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
99138
99139         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
99140         AC_LIBOBJ(function_name).
99141         * m4/chown.m4: Likewise.
99142         * m4/fnmatch.m4: Likewise.
99143         * m4/ftruncate.m4: Likewise.
99144         * m4/getgroups.m4: Likewise.
99145         * m4/getline.m4: Likewise.
99146         * m4/group-member.m4: Likewise.
99147         * m4/jm-macros.m4: Likewise.
99148         * m4/lstat.m4: Likewise.
99149         * m4/malloc.m4: Likewise.
99150         * m4/memcmp.m4: Likewise.
99151         * m4/nanosleep.m4: Likewise.
99152         * m4/putenv.m4: Likewise.
99153         * m4/realloc.m4: Likewise.
99154         * m4/regex.m4: Likewise.
99155         * m4/stat.m4: Likewise.
99156         * m4/strftime.m4: Likewise.
99157
99158 2000-07-02  Jim Meyering  <meyering@lucent.com>
99159
99160         * lib/quotearg.c (mbstate_t): Don't define here.
99161
99162 2000-07-02  Jim Meyering  <meyering@lucent.com>
99163
99164         * lib/nanosleep.c (SIGCONT): Define if not already defined.
99165
99166 2000-07-01  Jim Meyering  <meyering@lucent.com>
99167
99168         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
99169
99170 2000-07-01  Jim Meyering  <meyering@lucent.com>
99171
99172         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
99173         problem.
99174
99175 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
99176
99177         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
99178         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
99179
99180 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
99181
99182         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
99183         per change in ../m4/ls-mntd-fs.m4.
99184         (read_filesystem_list): Ignore symbolic links.
99185
99186 2000-06-29  Jim Meyering  <meyering@lucent.com>
99187
99188         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
99189         for declaration of strcmp.
99190
99191         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
99192
99193         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
99194         Avoid warning by casting result to `char *' to remove `const'.
99195
99196 2000-06-28  Jim Meyering  <meyering@lucent.com>
99197
99198         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
99199         included by quotearg.c, for which we perform this test.  From
99200         Bruno Haible.
99201
99202 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
99203
99204         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
99205         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
99206         <utmpx.h> exists, put readutmp.o into LIBOBJS.
99207
99208 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
99209
99210         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
99211
99212 2000-06-26  Paul Eggert  <eggert@twinsun.com>
99213
99214         savedir now sets errno on failure and invokes xmalloc to get memory.
99215         Fix a couple of other minor bugs while we're at it.
99216
99217         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
99218         (NAMLEN): Remove macro.
99219         (malloc, realloc): Remove decls.
99220         (stpcpy): Likewise.
99221         ("xalloc.h"): Include.
99222         (NAME_SIZE_DEFAULT): New macro.
99223         (savedir): Use xmalloc / xrealloc to allocate memory.
99224         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
99225         Skip "" directory entries.
99226         Use strlen to calculate directory entry length, since the old method
99227         is rarely used these days and isn't worth supporting.
99228         Don't use a pointer after freeing it.
99229         Check for integer overflow when calculating allocation size.
99230         Use memcpy to copy entries, instead of stpcpy.
99231         Set errno properly when returning NULL.
99232         Check for readdir error.
99233
99234 2000-06-26  Jim Meyering  <meyering@lucent.com>
99235
99236         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
99237
99238 2000-06-25  Jim Meyering  <meyering@lucent.com>
99239
99240         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
99241         Linux header bug when _XOPEN_SOURCE is defined to 500.
99242
99243 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
99244
99245         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
99246         deficiency.
99247
99248 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
99249
99250         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
99251         Include xalloc.h.
99252         Don't include <stdlib.h>.  Don't declare malloc, realloc.
99253
99254 2000-06-24  Jim Meyering  <meyering@lucent.com>
99255
99256         * m4/strerror_r.m4: Revive this file -- to try out an experimental
99257         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
99258         for which strerror does return char*, but which lacks a conveniently
99259         accessible declaration of the function.  If the compile-test says
99260         strerror_r doesn't work, then resort to a `run'-test that works on
99261         BeOS and segfaults on DEC Unix.
99262
99263 2000-06-24  Jim Meyering  <meyering@lucent.com>
99264
99265         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
99266
99267 2000-06-23  Paul Eggert  <eggert@twinsun.com>
99268
99269         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
99270         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
99271
99272 2000-06-23  Paul Eggert  <eggert@twinsun.com>
99273
99274         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
99275         (mbrtowc, mbstate_t): Define substitutes if
99276         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
99277         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
99278         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
99279
99280 2000-06-23  Jim Meyering  <meyering@lucent.com>
99281
99282         * m4/afs.m4: Add missing AC_MSG_RESULT.
99283         Reported by Bruno Haible.
99284
99285         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
99286         Suggestion from Bruno Haible.
99287
99288 2000-06-23  Jim Meyering  <meyering@lucent.com>
99289
99290         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
99291
99292 2000-06-21  Jim Meyering  <meyering@lucent.com>
99293
99294         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
99295
99296 2000-06-21  Jim Meyering  <meyering@lucent.com>
99297
99298         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
99299         (noinst_HEADERS): Add getstr.h.
99300
99301         * lib/getline.c (getstr): Move into a separate file.
99302         * lib/getstr.c (getstr): New file, extracted from getline.c, with
99303         the following changes: new parameter, delim2; both delim[12]
99304         parameters have type `int', not `char'.  The latter would lose
99305         with 8-bit delimiters.
99306         * lib/getstr.h: New file.
99307
99308 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
99309
99310         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
99311         than 1024, return a memory chunk of least possible size, instead
99312         of size PATH_MAX + 2. In the loop, increment the size proportionally.
99313         Use free/xmalloc instead of xrealloc to avoid copying for very long
99314         paths.
99315
99316 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
99317
99318         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
99319         the empty string.
99320
99321 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
99322
99323         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
99324         address, not strdup.  Include <stdlib.h> and don't declare free().
99325
99326 2000-06-19  Jim Meyering  <meyering@lucent.com>
99327
99328         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
99329
99330 2000-06-18  Jim Meyering  <meyering@lucent.com>
99331
99332         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
99333
99334         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
99335         `checking whether...' message to be consistent with that of the
99336         lstat test.
99337
99338 2000-06-18  Jim Meyering  <meyering@lucent.com>
99339
99340         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
99341         Besides, these days every porting target provides a mkdir function.
99342
99343         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
99344         needed. (this snippet comes from src/system.h).
99345
99346 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
99347
99348         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
99349
99350 2000-06-15  Paul Eggert  <eggert@twinsun.com>
99351
99352         * lib/human.c (adjust_value): New function.
99353         (human_readable_inexact): Apply rounding style even when
99354         printing approximate values.
99355
99356 2000-06-14  Paul Eggert  <eggert@twinsun.com>
99357
99358         * lib/human.c (human_readable_inexact): Allow an input block
99359         size that is not a multiple of the output block size, and vice versa.
99360         Reported by Piergiorgio Sartor.
99361
99362 2000-06-14  Paul Eggert  <eggert@twinsun.com>
99363
99364         * lib/getdate.y (get_date): Apply relative times after time
99365         zone indicator, not before.  Reported by Todd A. Jacobs.
99366
99367 2000-06-13  Jim Meyering  <meyering@lucent.com>
99368
99369         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
99370
99371         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
99372
99373 2000-06-12  Paul Eggert  <eggert@twinsun.com>
99374
99375         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
99376
99377 2000-06-12  Jim Meyering  <meyering@lucent.com>
99378
99379         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
99380         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
99381         optional argument.
99382         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
99383         the optional argument, `lib'.
99384
99385 2000-06-08  Jim Meyering  <meyering@lucent.com>
99386
99387         * m4/largefile.m4: Remove file (now that it's part of autoconf).
99388
99389 2000-06-04  Paul Eggert  <eggert@twinsun.com>
99390
99391         Rewrite largefile configuration so that we don't need to run
99392         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
99393         AC_CANONICAL_HOST in configure.in -- jmm]
99394
99395         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
99396         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
99397         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
99398         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
99399         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
99400         All uses changed.
99401         Instead of inspecting the output of getconf, try to compile the
99402         test program without and with the macro definition.
99403         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
99404         for getconf.  Instead, check for the needed flags by compiling
99405         test programs.
99406
99407 2000-06-04  Paul Eggert  <eggert@twinsun.com>
99408
99409         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
99410
99411 2000-06-04  Jim Meyering  <meyering@lucent.com>
99412
99413         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
99414         SunOS 4.1.4 for which gid_t is an unsigned type.
99415
99416 2000-06-03  Jim Meyering  <meyering@lucent.com>
99417
99418         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
99419         now that autoconf requires that.
99420
99421         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
99422         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
99423         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
99424
99425 2000-06-03  Jim Meyering  <meyering@lucent.com>
99426
99427         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
99428
99429 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
99430
99431         * m4/glibc21.m4: New file.
99432         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
99433
99434 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
99435
99436         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
99437         newer, don't install charset.alias.
99438         * lib/config.charset: Change the Linux/glibc rules so they become empty
99439         on glibc-2.1 or newer.
99440
99441 2000-06-02  Jim Meyering  <meyering@lucent.com>
99442
99443         * lib/mountlist.c: Back out last change.  Instead, do this...
99444         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
99445         me_dummy member using the same `ignore'-testing code.
99446         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
99447         fs_type strings.
99448         From Mark D. Roth.
99449
99450 2000-05-29  Jim Meyering  <meyering@lucent.com>
99451
99452         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
99453         mounts with the `ignore' attribute.  Based on a patch from
99454         Mark D. Roth.
99455
99456 2000-05-28  Jim Meyering  <meyering@lucent.com>
99457
99458         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
99459         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99460         * m4/stat.m4: Likewise.
99461         * m4/lstat.m4: Likewise.
99462         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
99463
99464         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
99465         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
99466
99467 2000-05-26  Jim Meyering  <meyering@lucent.com>
99468
99469         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
99470
99471 2000-05-24  Jim Meyering  <meyering@lucent.com>
99472
99473         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
99474         autoconf requires that.
99475         * m4/lib-check.m4: Likewise.
99476         * m4/jm-macros.m4: Likewise.
99477         * m4/strftime.m4: Likewise.
99478
99479         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
99480         AC_CHECK_DECLS, now that autoconf requires that.
99481
99482 2000-05-22  Jim Meyering  <meyering@lucent.com>
99483
99484         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99485         * m4/lstat.m4: Likewise.
99486
99487 2000-05-22  Jim Meyering  <meyering@lucent.com>
99488
99489         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
99490
99491 2000-05-20  Jim Meyering  <meyering@lucent.com>
99492
99493         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
99494         (jm_PREREQ): Use it.
99495
99496 2000-05-18  Jim Meyering  <meyering@lucent.com>
99497
99498         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
99499         back, too, since it may have been modified by allocate_entry.
99500         (hash_delete): Rewrite to use neither the assignment operator
99501         nor the comma operator in an if-expression.
99502
99503 2000-05-15  Paul Eggert  <eggert@twinsun.com>
99504
99505         * lib/closeout.c:
99506         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
99507         Remove; no longer needed.
99508         "quotearg.h": Add include.
99509         (file_name): Do not bother to explicitly initialize to NULL; it's less
99510         efficient on some hosts.
99511         (close_stdout_status): Remove test as to whether stdout was already
99512         closed; it breaks for the case "echo x | sort >&-".
99513         Quote file name colons.
99514         Do not assume that _("write error") lacks format strings.
99515
99516 2000-05-15  Jim Meyering  <meyering@lucent.com>
99517
99518         * lib/version-etc.c (version_etc_copyright): Update the copyright
99519         string used in all --version output.
99520
99521 2000-05-14  Jim Meyering  <meyering@lucent.com>
99522
99523         * lib/closeout.c (close_stdout_set_file_name): New function.
99524         (close_stdout_status): Use new file-scoped global.
99525         Return right away if fstat says the stdout file descriptor is invalid.
99526         * lib/closeout.h (close_stdout_set_file_name): Declare.
99527
99528 2000-05-10  Jim Meyering  <meyering@lucent.com>
99529
99530         * lib/closeout.c [default_exit_status]: New file-scoped variable.
99531         (close_stdout_set_status): New function.
99532         * lib/closeout.h (close_stdout_set_status): Declare.
99533
99534 2000-05-09  Jim Meyering  <meyering@lucent.com>
99535
99536         * m4/gettext.m4: Rename this...
99537         * m4/libintl.m4: ...to this.
99538
99539 2000-05-08  Jim Meyering  <meyering@lucent.com>
99540
99541         * lib/long-options.c: Don't include closeout.h.
99542         (parse_long_options): Don't call close_stdout for --version.
99543
99544 2000-05-06  Paul Eggert  <eggert@twinsun.com>
99545
99546         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
99547         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
99548         2.1.3 bug.  This avoids a clash when files like regex.c define
99549         _GNU_SOURCE.
99550
99551 2000-05-06  Jim Meyering  <meyering@lucent.com>
99552
99553         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
99554         (AC_REPLACE_FUNCS): Add strnlen.
99555
99556         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
99557         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
99558
99559         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
99560         AC_SEARCH_LIBS call for nanosleep.
99561         (LIB_NANOSLEEP): Set and AC_SUBST.
99562
99563 2000-05-06  Jim Meyering  <meyering@lucent.com>
99564
99565         * lib/strnlen.c: Undefine __strnlen and strnlen.
99566         [!weak_alias]: Define __strnlen to strnlen.
99567
99568         * lib/atexit.c: New file, from libiberty.
99569
99570 2000-05-06  Jim Meyering  <meyering@lucent.com>
99571
99572         * lib/closeout.c (close_stdout_status): Also check for errors on the
99573         stderr stream.
99574
99575 2000-05-05  Jim Meyering  <meyering@lucent.com>
99576
99577         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
99578         AC_SEARCH_LIBS call for clock_gettime.
99579         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
99580
99581         * m4/search-libs.m4: Update from autoconf.
99582
99583         su doesn't work on Solaris 2.6.
99584         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
99585         <shadow.h>.  Reported by Dragos Harabor.
99586
99587 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
99588
99589         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
99590         memcpy instead of xmalloc, xrealloc, path_concat.
99591         (locale_charset): Treat empty environment variables as absent.
99592         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
99593
99594 2000-05-04  Jim Meyering  <meyering@lucent.com>
99595
99596         * lib/getopt.c: Update from glibc.
99597         * lib/obstack.c: Likewise.
99598         * lib/obstack.h: Likewise.
99599         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
99600         file
99601
99602         * lib/regex.h: Likewise.
99603         * lib/strndup.c: Likewise.
99604         * lib/strnlen.c: New file, from glibc.
99605
99606 2000-05-03  Jim Meyering  <meyering@lucent.com>
99607
99608         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
99609
99610 2000-05-02  Paul Eggert  <eggert@twinsun.com>
99611
99612         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
99613         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
99614         compile-time test, rather than inspecting host and OS, to
99615         decide whether to define _LARGEFILE_SOURCE.
99616
99617 2000-05-01  Jim Meyering  <meyering@lucent.com>
99618
99619         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
99620
99621         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
99622         Based on a patch from Bruno Haible.
99623
99624 2000-05-01  Jim Meyering  <meyering@lucent.com>
99625
99626         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
99627
99628 2000-04-29  Jim Meyering  <meyering@lucent.com>
99629
99630         * lib/path-concat.c: Declare strdup only if it's not defined.
99631         * lib/canon-host.c: Likewise.
99632
99633 2000-04-28  Jim Meyering  <meyering@lucent.com>
99634
99635         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
99636         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
99637         is included first, then limits.h is included by locale.h by libintl.h.
99638         From John David Anglin.
99639
99640 2000-04-25  Jim Meyering  <meyering@lucent.com>
99641
99642         * lib/makepath.c (S_IRWXUGO): Define.
99643         (make_path): Always perform explicit chmod if MODE specifies any
99644         of the `special' permission bits.  Prompted by a bug report against
99645         install from Mate Wierdl and Joost van Baal.
99646
99647 2000-04-18  Jim Meyering  <meyering@lucent.com>
99648
99649         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
99650         (jm_PREREQ): Use it.
99651
99652 2000-04-18  Jim Meyering  <meyering@lucent.com>
99653
99654         * lib/README: New file.
99655
99656         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
99657         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
99658
99659 2000-04-17  Jim Meyering  <meyering@lucent.com>
99660
99661         Get it right :-)
99662         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
99663         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
99664         Suggestion from Akim Demaille.
99665
99666 2000-04-17  Jim Meyering  <meyering@lucent.com>
99667
99668         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
99669         the definition of it to rpl_strftime also defined-away the system's
99670         declaration.
99671
99672 2000-04-15  Jim Meyering  <meyering@lucent.com>
99673
99674         Use `C' to denote so-called `contiguous' files, the same way
99675         that tar does.
99676         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
99677         (ftypelet): Use S_ISCTG.
99678         From Michael Deutschmann.
99679
99680 2000-04-14  Jim Meyering  <meyering@lucent.com>
99681
99682         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
99683         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
99684         clobbered.
99685
99686 2000-04-14  Jim Meyering  <meyering@lucent.com>
99687
99688         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
99689
99690 2000-04-13  Jim Meyering  <meyering@lucent.com>
99691
99692         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
99693         AH_VERBATIM to insert required #ifndef into config.h.in.
99694         Suggestion from Akim Demaille.
99695
99696 2000-04-12  Jim Meyering  <meyering@lucent.com>
99697
99698         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
99699         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
99700         Christian Krackowizer.
99701
99702         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
99703         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
99704         (AC_SYS_LARGEFILE): Require.
99705         (AM_C_PROTOTYPES): Require.
99706
99707 2000-04-08  Jim Meyering  <meyering@lucent.com>
99708
99709         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
99710         names don't conflict.  Reported by Eli Zaretskii.
99711
99712 2000-04-07  Jim Meyering  <meyering@lucent.com>
99713
99714         * lib/putenv.c: Move inclusion of errno.h so it follows that of
99715         sys/types.h, to work around system header problems on AIX 3.2.5.
99716         From Bruno Haible.
99717
99718 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
99719
99720         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
99721         bug.  Deal with the different error behavior of Irix iconv.
99722
99723 2000-04-05  Paul Eggert  <eggert@twinsun.com>
99724
99725         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
99726         IRIX if the installer said otherwise.
99727
99728 2000-04-05  Jim Meyering  <meyering@lucent.com>
99729
99730         Portability tweaks required for ultrix4.3.
99731         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
99732         (jm_CHECK_DECLS): Add getutent to the list of functions.
99733         (_jm_DECL_HEADERS): Add utmpx.h.
99734         From John David Anglin.
99735
99736         * m4/strftime.m4: Back out the 2000-04-02 change.
99737         Instead of that change, simply undefine putenv in the test program.
99738
99739 2000-04-05  Jim Meyering  <meyering@lucent.com>
99740
99741         Portability tweaks required for ultrix4.3.
99742         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
99743         getutent.
99744         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
99745         * lib/canon-host.c: Declare strdup.
99746         * lib/path-concat.c: Likewise.
99747         From John David Anglin.
99748
99749 2000-04-04  Jim Meyering  <meyering@lucent.com>
99750
99751         Be more DOS 8.3-friendly.
99752         * lib/ref-add.sin: Renamed from ref-add.sed.in.
99753         * lib/ref-del.sin: Renamed from ref-del.sed.in.
99754         * lib/Makefile.am: Reflect renaming.
99755         Reported by Eli Zaretskii.
99756
99757         Use a temporary file name that won't clash with `charset.alias'
99758         in the DOS 8.3 name space.
99759         * lib/Makefile.am (charset_tmp): Define.
99760         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
99761         (uninstall-local): Likewise.
99762         Reported by Eli Zaretskii.
99763
99764 2000-04-03  Jim Meyering  <meyering@lucent.com>
99765
99766         * m4/gettext.m4: Fix typo in comment.
99767
99768         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
99769         textutils/configure.in).  Suggestion from Paul Eggert.
99770         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
99771
99772 2000-04-02  Paul Eggert  <eggert@twinsun.com>
99773
99774         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
99775         variable in the shell rather than using putenv, which isn't
99776         portable.  This avoids the configure-time inter-test dependency
99777         on the potentially-renamed putenv function.
99778
99779 2000-03-30  Paul Eggert  <eggert@twinsun.com>
99780
99781         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
99782         before checking struct stat.st_blksize, so that
99783         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
99784
99785 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99786
99787         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
99788         since strftime.c uses HAVE_STRFTIME to decide whether to use
99789         the underlying strftime.
99790
99791 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99792
99793         * lib/time/strftime.c (my_strftime): Make sure we call the system
99794         strftime, not ourselves, when invoking the underlying strftime.
99795
99796 2000-03-24  Jim Meyering  <meyering@lucent.com>
99797
99798         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
99799         (charset_alias): Define.
99800         (install-exec-local): Factor out common code.
99801         (uninstall-local): Split lines longer than 80.
99802         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
99803         (SUFFIXES): Define.
99804         (.sed.in.sed): New rule.  Don't redirect directly to $@.
99805         (CLEANFILES): Add ref-add.sed and ref-del.sed.
99806
99807 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
99808
99809         * lib/config.charset: Output a line containing "Packages using this
99810         file".
99811         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
99812         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
99813         ref-del.sed): New rules.
99814
99815 2000-03-17  Jim Meyering  <meyering@lucent.com>
99816
99817         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
99818         Otherwise, include <strings.h>
99819
99820 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
99821
99822         * lib/unicodeio.c (utf8_wctomb): New function.
99823         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
99824         format instead of in UCS-4 with platform dependent endianness.
99825
99826 2000-03-10  Jim Meyering  <meyering@lucent.com>
99827
99828         * m4/lib-check.m4: Look for getspnam in -lgen, too.
99829         From Marco Franzen.
99830
99831 2000-03-07  Paul Eggert  <eggert@twinsun.com>
99832
99833         * lib/savedir.c (savedir): Work even if directory size is
99834         negative; this can happen with some screwy NFS configurations.
99835
99836 2000-03-06  Jim Meyering  <meyering@lucent.com>
99837
99838         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
99839         if it's NULL (because we ran out of memory).  From Bruno Haible.
99840
99841 2000-03-05  Jim Meyering  <meyering@lucent.com>
99842
99843         * lib/localcharset.c ("path-concat.h"): Include.
99844         (get_charset_aliases): Use path_concat instead of ANSI string
99845         concatenation.
99846
99847         * lib/unicodeio.h (PARAMS): Define.
99848         Use it to guard prototype.
99849
99850 2000-03-04  Jim Meyering  <meyering@lucent.com>
99851
99852         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
99853         for lib/localcharset.c.
99854
99855 2000-03-04  Jim Meyering  <meyering@lucent.com>
99856
99857         * lib/Makefile.am (install-exec-local): Create $(libdir) before
99858         installing into it.
99859         (uninstall-local): Uncomment this rule so `make distcheck' works
99860         once again.
99861
99862         * lib/unicodeio.c (<errno.h>): Include it.
99863         (errno): Declare if not defined.
99864
99865         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
99866
99867         * lib/config.charset: New version, incorporating remarks from a linux
99868         i18n mailing list.  From Bruno Haible.
99869
99870 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
99871
99872         * m4/codeset.m4: New file.
99873         * m4/iconv.m4: New file.
99874         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
99875
99876 2000-03-03  Jim Meyering  <meyering@lucent.com>
99877
99878         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
99879
99880 2000-03-02  Jim Meyering  <meyering@lucent.com>
99881
99882         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
99883         the messages come out on separate lines.
99884
99885         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
99886         rather than jm_CHECK_DECLARATIONS.
99887         * m4/decl.m4: Remove now-unused file.
99888
99889         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
99890         geteuid.
99891
99892 2000-03-02  Jim Meyering  <meyering@lucent.com>
99893
99894         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
99895
99896 2000-03-01  Jim Meyering  <meyering@lucent.com>
99897
99898         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
99899         * lib/unicodeio.c: Likewise.
99900
99901 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
99902
99903         * lib/config.charset: New file.
99904         * lib/localcharset.c: New file.
99905         * lib/unicodeio.h, lib/unicodeio.c: New files.
99906         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
99907         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
99908         (noinst_HEADERS): Add unicodeio.h.
99909         (all-local, install-exec-local, charset.alias): New targets.
99910
99911 2000-02-28  Paul Eggert  <eggert@twinsun.com>
99912
99913         * lib/quotearg.c (ALERT_CHAR): New macro.
99914         (quotearg_buffer_restyled): Use it.
99915
99916 2000-02-27  Jim Meyering  <meyering@lucent.com>
99917
99918         * m4/check-decl.m4: Add getenv to the list.
99919
99920 2000-02-27  Jim Meyering  <meyering@lucent.com>
99921
99922         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
99923         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
99924
99925         * lib/backupfile.c: Guard inclusion of stdlib.h with
99926         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
99927         Declare malloc if needed.
99928
99929         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
99930         `#ifndef HAVE_DECL..'
99931         now that autoconf always defines the HAVE_DECL_ symbols.
99932         * lib/human.c: Likewise.
99933         * lib/same.c: Likewise.
99934         * lib/strtoumax.c: Likewise.
99935
99936         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
99937         declaration check was not run.
99938         * lib/hash.c: Likewise.
99939         * lib/human.c: Likewise.
99940         * lib/same.c: Likewise.
99941         * lib/strtoumax.c: Likewise.
99942
99943         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
99944         `.', then first look up the entire `.'-containing string as a login
99945         name.
99946
99947 2000-02-23  Jim Meyering  <meyering@lucent.com>
99948
99949         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
99950         in place of my hack.
99951
99952 2000-02-18  Paul Eggert  <eggert@twinsun.com>
99953
99954         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
99955         (textint): New typedef.
99956         (parser_control): Member year changed from int to textint.
99957         All uses changed.
99958         (YYSTYPE): Removed; replaced by %union with int and textint members.
99959         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
99960         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
99961         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
99962         (tSNUMBER, tUNUMBER): Now of type <textintval>.
99963         (date, number, to_year): Use width of number in digits, not its value,
99964         to determine whether it's a 2-digit year, or a 2-digit time.
99965         (yylex): Store number of digits of numeric tokens.
99966         Reported by John Kendall.
99967
99968         (parser_control): Changed from struct parser_control to typedef (for
99969         consistency).  All uses changed.
99970
99971         (tID): Removed; not used.
99972         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
99973
99974 2000-02-14  Paul Eggert  <eggert@twinsun.com>
99975
99976         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
99977         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
99978
99979 2000-02-12  Jim Meyering  <meyering@lucent.com>
99980
99981         * lib/userspec.c (ISDIGIT): Define it.
99982         (isdigit): Remove definition.
99983         (is_number): Use ISDIGIT, not isdigit.
99984         <libintl.h>: Include.
99985         (_ and N_): Define.
99986         (parse_user_spec): Mark translatable strings.
99987
99988 2000-02-10  Jim Meyering  <meyering@lucent.com>
99989
99990         With these changes, nanosleep.[ch] are finally enough like the other
99991         lib/* replacement files to compile on a few more losing systems.
99992
99993         * lib/nanosleep.h: Don't include config.h.
99994         Remove prototype from declaration of nanosleep.
99995         (PARAMS): Remove now-unneeded definition.
99996         * lib/nanosleep.c: #undef nanosleep.
99997         (rpl_nanosleep): Rename from nanosleep.
99998
99999 2000-02-10  Jim Meyering  <meyering@lucent.com>
100000
100001         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
100002         gnu_nanosleep to rpl_nanosleep.
100003
100004 2000-02-09  Jim Meyering  <meyering@lucent.com>
100005
100006         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
100007         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
100008
100009 2000-02-08  Akim Demaille  <akim@epita.fr>
100010
100011         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
100012         `[' and `]' and remove uses of `changequote'.
100013         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
100014         (AC_SYS_LARGEFILE): Likewise.
100015         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
100016         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
100017         of changequote.
100018         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
100019         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
100020         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
100021         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
100022
100023 2000-02-05  Jim Meyering  <meyering@lucent.com>
100024
100025         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
100026         Remove explicit use of AC_HEADER_TIME.  It is required by
100027         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
100028         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
100029         in autoconf whereby the expansion of the latter ended up preceding
100030         the expansion of its prerequisite, AC_HEADER_TIME.
100031         Reported by Volker Borchert.
100032
100033 2000-02-03  Jim Meyering  <meyering@lucent.com>
100034
100035         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
100036
100037 2000-02-03  Jim Meyering  <meyering@lucent.com>
100038
100039         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
100040         rather than with `#if HAVE_UTMPNAME'.
100041
100042 2000-02-02  Jim Meyering  <meyering@lucent.com>
100043
100044         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
100045         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
100046         Reported by Eli Zaretskii.
100047
100048 2000-02-01  Jim Meyering  <meyering@lucent.com>
100049
100050         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
100051
100052 2000-01-31  Jim Meyering  <meyering@lucent.com>
100053
100054         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
100055         functions.  Add the time.h and sys/time.h headers along with the
100056         AC_REQUIRE'ment of AC_HEADER_TIME.
100057
100058 2000-01-31  Jim Meyering  <meyering@lucent.com>
100059
100060         * lib/nanosleep.h (nanosleep): Guard declaration with
100061         `#if ! HAVE_DECL_NANOSLEEP'.
100062         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
100063         the declaration in that vendor's sys/timers.h.
100064         Reported by Christian Krackowizer.
100065
100066         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
100067         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
100068         (ISPRINT): Likewise.
100069         Reported by Tom Tromey.
100070
100071 2000-01-30  Jim Meyering  <meyering@lucent.com>
100072
100073         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
100074
100075         * m4/prereq.m4 (utmp_includes): Define.
100076         Check for ut_user and ut_name members in both struct utmpx
100077         and struct utmp.
100078
100079 2000-01-30  Jim Meyering  <meyering@lucent.com>
100080
100081         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
100082         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
100083         header files where only utmpx.ut_user is declared.
100084
100085         * lib/readutmp.h (UT_USER): Define.
100086
100087 2000-01-29  Jim Meyering  <meyering@lucent.com>
100088
100089         * m4/lib-check.m4: New file containing library-related checks from
100090         fileutils and sh-utils (textutils had none).
100091
100092 2000-01-28  Jim Meyering  <meyering@lucent.com>
100093
100094         * m4/perl.m4: Change format of warning message to look more like that
100095         from the missing script.  Suggestion from François Pinard.
100096
100097 2000-01-25  Jim Meyering  <meyering@lucent.com>
100098
100099         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
100100         well as time.h in the compile check.
100101         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
100102         Fix typo in cross-compiling case: s/yes/no/.
100103
100104 2000-01-23  Jim Meyering  <meyering@lucent.com>
100105
100106         * m4/jm-macros.m4: Move df-related tests here from
100107         fileutils/configure.in
100108
100109         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
100110         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
100111
100112         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
100113         s/space/ac_fsusage_space/.
100114         (jm_FILE_SYSTEM_USAGE): Take two parameters.
100115
100116         * m4/ftruncate.m4: New file (derived from part of
100117         fileutils/configure.in).
100118         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
100119         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
100120
100121         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
100122         AC_SUBST these here, rather than just in sh-util/configure.in, so
100123         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
100124         all the same.
100125         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
100126         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
100127         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
100128         (AC_SUBST(POW_LIBM)): Likewise.
100129         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
100130
100131 2000-01-23  Jim Meyering  <meyering@lucent.com>
100132
100133         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
100134         obstack.c.
100135
100136 2000-01-22  Jim Meyering  <meyering@lucent.com>
100137
100138         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
100139
100140         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
100141
100142         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
100143         configure.in
100144         (AC_CHECK_HEADERS): Likewise for sh-utils.
100145         (AC_CHECK_HEADERS): Likewise for textutils.
100146         Merge the three lists of headers.
100147
100148         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
100149         from fileutils' configure.in.
100150
100151         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
100152         code. Moved tests into their own function (_jm_DECL_HEADERS) in
100153         check-decl.m4.
100154
100155         * m4/check-decl.m4: Use #if rather than #ifdef.
100156         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
100157         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
100158         (_jm_DECL_HEADERS): Define new function.
100159         (jm_CHECK_DECLARATIONS): Require it.
100160
100161 2000-01-22  Jim Meyering  <meyering@lucent.com>
100162
100163         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
100164         [! HAVE_DECL_STRTOULL]: Declare strtoull.
100165         Required for some AIX systems.  Reported by Christian Krackowizer.
100166         [TESTING] (main): New function.
100167
100168         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
100169         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
100170         letters.
100171
100172         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
100173         iswprint.
100174
100175         * lib/strverscmp.c (ISDIGIT): Define.
100176         (strverscmp): Use ISDIGIT, not isdigit.
100177
100178 2000-01-19  Jim Meyering  <meyering@lucent.com>
100179
100180         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
100181         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
100182         defines `struct timespec' in <sys/time.h>
100183
100184         * m4/c-bs-a.m4: Remove uses of changequote altogether.
100185         Thanks to Akim for explaining.
100186
100187 2000-01-17  Paul Eggert  <eggert@twinsun.com>
100188
100189         * lib/nanosleep.c (nanosleep):
100190         Don't use SA_INTERRUPT to decide whether to call sigaction, as
100191         POSIX.1 doesn't require SA_INTERRUPT and some systems
100192         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
100193         it's been part of POSIX.1 since day 1 (in 1988).
100194
100195 2000-01-17  Jim Meyering  <meyering@lucent.com>
100196
100197         * lib/interlock: Remove unused file.  Reported by François Pinard.
100198
100199 2000-01-16  Paul Eggert  <eggert@twinsun.com>
100200
100201         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
100202         alert, backslash, formfeed, and vertical tab unnecessarily in
100203         shell quoting style.
100204
100205 2000-01-16  Jim Meyering  <meyering@lucent.com>
100206
100207         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
100208         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
100209         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
100210         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
100211
100212 2000-01-16  Jim Meyering  <meyering@lucent.com>
100213
100214         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
100215         because the latter didn't work.
100216
100217 2000-01-15  Jim Meyering  <meyering@lucent.com>
100218
100219         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
100220         (AC_REPLACE_FUNCS): Add memcpy and memset.
100221         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
100222         Add strpbrk.
100223         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
100224
100225 2000-01-12  Jim Meyering  <meyering@lucent.com>
100226
100227         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
100228         (jm_PREREQ): Use it.
100229         (jm_PREREQ_READUTMP): New macro.
100230         (jm_PREREQ): Use it.
100231
100232 2000-01-11  Paul Eggert  <eggert@twinsun.com>
100233
100234         Quote multibyte characters correctly.
100235         * m4/c-bs-a.m4: New file.
100236         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
100237         (jm_PREREQ): Use it.
100238
100239 2000-01-11  Paul Eggert  <eggert@twinsun.com>
100240
100241         * m4/uintmax_t.m4: Port to autoconf 2.13.
100242
100243 2000-01-08  Jim Meyering  <meyering@ascend.com>
100244
100245         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
100246         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
100247
100248 2000-01-04  Jim Meyering  <meyering@ascend.com>
100249
100250         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
100251         jm_STRUCT_DIRENT_D_TYPE.
100252         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
100253         jm_STRUCT_DIRENT_D_INO.
100254         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
100255         jm_STRUCT_UTIMBUF.
100256         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
100257         renamings.
100258         * m4/utime.m4: Likewise.
100259
100260         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
100261         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
100262
100263 2000-01-03  Paul Eggert  <eggert@twinsun.com>
100264
100265         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
100266         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
100267
100268 2000-01-02  Jim Meyering  <meyering@ascend.com>
100269
100270         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
100271         remember if this is necessary.
100272
100273 1999-12-26  Jim Meyering  <meyering@ascend.com>
100274
100275         * m4/jm-macros.m4: Use it here.
100276         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
100277
100278 1999-12-23  Jim Meyering  <meyering@ascend.com>
100279
100280         * m4/jm-macros.m4: Check for clock_gettime (moved from
100281         fileutils/configure.in)
100282         Check for gettimeofday.
100283
100284 1999-12-20  Jim Meyering  <meyering@ascend.com>
100285
100286         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
100287         autoconf-2.14a-1999-12-20.
100288
100289 1999-12-19  Jim Meyering  <meyering@ascend.com>
100290
100291         * m4/lstat-slash.m4: New file.
100292         * m4/jm-macros.m4: Use the new macro:
100293         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
100294
100295 1999-12-07  Jim Meyering  <meyering@ascend.com>
100296
100297         * m4/perl.m4: Require that File::Compare be available, too.
100298         Too many systems seem to lack it.
100299
100300         * m4/strftime.m4: Add checks for most of the cpp macros tested in
100301         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
100302
100303 1999-11-18  Paul Eggert  <eggert@twinsun.com>
100304
100305         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
100306         problem with the QNX 4.25 shell, which doesn't propagate exit
100307         status of failed commands inside shell assignments.
100308
100309 1999-11-17  Jim Meyering  <meyering@ascend.com>
100310
100311         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
100312
100313 1999-11-07  Jim Meyering  <meyering@ascend.com>
100314
100315         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
100316
100317 1999-11-06  Jim Meyering  <meyering@ascend.com>
100318
100319         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
100320         * m4/jm-macros.m4 (jm_MACROS): Use it here.
100321
100322 1999-11-05  Jim Meyering  <meyering@ascend.com>
100323
100324         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
100325         configure.in of textutils, fileutils, and sh-utils into this one
100326         (shared between those packages) file.
100327         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
100328         AC_STRUCT_ST_BLKSIZE.
100329
100330 1999-11-03  Jim Meyering  <meyering@ascend.com>
100331
100332         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
100333         of AC_CHECK_TYPE checks includes unistd.h.
100334         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
100335         Suggestion from Akim Demaille.
100336
100337 1999-10-30  Jim Meyering  <meyering@ascend.com>
100338
100339         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
100340         m4-quoted string.
100341         * m4/ls-mntd-fs.m4: Likewise.
100342         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
100343         * m4/jm-winsz1.m4: Likewise.
100344
100345         * m4/const.m4: Remove file, since the fix made it into the experimental
100346         version of autoconf.
100347         * m4/mktime.m4: Likewise.
100348
100349         * m4/check-type.m4: Remove file, now that the latest version of
100350         AC_CHECK_TYPE takes a third arg to specify additional #includes.
100351
100352         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
100353         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
100354         AC_CHECK_TYPE.
100355
100356 1999-10-04  Jim Meyering  <meyering@ascend.com>
100357
100358         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
100359
100360 1999-09-22  Paul Eggert  <eggert@twinsun.com>
100361
100362         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
100363         2.95.1 bug with HP-UX 10.20.
100364
100365 1999-09-17  Jim Meyering  <meyering@ascend.com>
100366
100367         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
100368         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
100369         due to missing strdup (against sh-utils-2.0).
100370
100371 1999-08-29  Jim Meyering  <meyering@ascend.com>
100372
100373         * m4/jm-macros.m4: Require jm_BISON.
100374         * m4/bison.m4: New file.
100375
100376 1999-08-17  Paul Eggert  <eggert@twinsun.com>
100377
100378         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
100379         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
100380
100381 1999-08-05  Jim Meyering  <meyering@ascend.com>
100382
100383         * m4/getline.m4: Rename test file from conftestdata to conftest.data
100384         to avoid conflicts with `conftest' on 8+3 filesystems.
100385         Suggestion from Eli Zaretskii.
100386
100387 1999-08-04  Jim Meyering  <meyering@ascend.com>
100388
100389         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
100390         fileutils and sh-utils (textutils's getline test was inadequate).
100391         (AM_FUNC_GETLINE): Run this test.
100392         (AC_CHECK_FUNCS): Check for getdelim.
100393         Reported by Bob Proulx.
100394
100395 1999-08-02  Jim Meyering  <meyering@ascend.com>
100396
100397         * m4/jm-macros.m4: Add a comment.
100398
100399 1999-08-01  Paul Eggert  <eggert@twinsun.com>
100400
100401         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
100402         <inttypes.h> defines strtoumax as a macro (and not as a
100403         function).
100404
100405 1999-08-01  Paul Eggert  <eggert@twinsun.com>
100406
100407         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
100408         that we can shift, multiply and divide unsigned long long
100409         values; Ultrix cc can't do it.
100410
100411 1999-08-01  Paul Eggert  <eggert@twinsun.com>
100412
100413         * m4/mktime.m4: New file, which is a preview of what should appear
100414         in the next public autoconf release.
100415
100416 1999-08-01  Paul Eggert  <eggert@twinsun.com>
100417
100418         * m4/lfs.m4: Remove this file.
100419         * m4/largefile.m4: New file.  It contains the old contents of
100420         lfs.m4, except that all names with prefix AC_LFS have been
100421         changed to use the prefix AC_SYS_LARGEFILE instead, to be
100422         compatible with future autoconf versions.  Also, some minor m4
100423         quoting problems have been fixed.
100424
100425 1999-08-01  Paul Eggert  <eggert@twinsun.com>
100426
100427         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
100428         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
100429         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
100430         and simplify the shell code.
100431
100432 1999-08-01  Jim Meyering  <meyering@ascend.com>
100433
100434         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
100435         m4.
100436
100437 1999-07-20  Jim Meyering  <meyering@ascend.com>
100438
100439         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
100440
100441 1999-07-15  Jim Meyering  <meyering@ascend.com>
100442
100443         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
100444
100445 1999-05-22  Jim Meyering  <meyering@ascend.com>
100446
100447         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
100448
100449 1999-05-20  Jim Meyering  <meyering@ascend.com>
100450
100451         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
100452         Add a colon after each `then' in case $4 is empty.
100453
100454 1999-05-16  Jim Meyering  <meyering@ascend.com>
100455
100456         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
100457
100458 1999-05-10  Jim Meyering  <meyering@ascend.com>
100459
100460         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
100461
100462         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
100463         AC_FUNC_MKTIME.
100464
100465 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
100466
100467         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
100468
100469 1999-05-04  Paul Eggert  <eggert@twinsun.com>
100470
100471         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
100472         not CPPFLAGS, so that linking works correctly in IRIX.
100473
100474 1999-04-30  Paul Eggert  <eggert@twinsun.com>
100475
100476         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
100477
100478 1999-04-20  Paul Eggert  <eggert@twinsun.com>
100479
100480         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
100481         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
100482         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
100483         jm_AC_TYPE_UNSIGNED_LONG_LONG.
100484         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
100485
100486         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
100487
100488 1999-04-20  Jim Meyering  <meyering@ascend.com>
100489
100490         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
100491         AC_REPLACE xstroull if necessary.  From Paul Eggert.
100492         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
100493
100494 1999-04-18  Jim Meyering  <meyering@ascend.com>
100495
100496         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
100497         * m4/jm-macros.m4: Use it.
100498
100499 1999-04-06  Jim Meyering  <meyering@ascend.com>
100500
100501         * m4/strftime.m4: Remove test for %f.
100502
100503 1999-03-29  Jim Meyering  <meyering@ascend.com>
100504
100505         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
100506         superset of the AC_TYPE_* checks in the textutils, fileutils,
100507         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
100508         AC_TYPE_PID_T.
100509
100510 1999-03-28  Jim Meyering  <meyering@ascend.com>
100511
100512         * m4/jm-macros.m4: Define GNU_PACKAGE here.
100513         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
100514         replaced e.g., in the *.sh files of the sh-utils.
100515
100516 1999-03-20  Jim Meyering  <meyering@ascend.com>
100517
100518         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
100519         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
100520         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
100521
100522 1999-03-19  Jim Meyering  <meyering@ascend.com>
100523
100524         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
100525
100526 1999-03-12  Jim Meyering  <meyering@ascend.com>
100527
100528         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
100529
100530 1999-03-07  Jim Meyering  <meyering@ascend.com>
100531
100532         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
100533         declared.
100534
100535 1999-02-17  Jim Meyering  <meyering@ascend.com>
100536
100537         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
100538         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
100539
100540 1999-02-07  Jim Meyering  <meyering@ascend.com>
100541
100542         * m4/group-member.m4: New file -- extracted from sh-utils'
100543         configure.in.
100544
100545         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
100546         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
100547
100548 1999-02-06  Jim Meyering  <meyering@ascend.com>
100549
100550         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
100551         * m4/fnmatch.m4: Likewise.
100552         * m4/getgroups.m4: Likewise.
100553         * m4/lstat.m4: Likewise.
100554         * m4/malloc.m4: Likewise.
100555         * m4/putenv.m4: Likewise.
100556         * m4/realloc.m4: Likewise.
100557         * m4/regex.m4: Likewise.
100558         * m4/stat.m4: Likewise.
100559         * m4/strftime.m4: Likewise.
100560         Suggestion from Alain Magloire.
100561
100562         * m4/chown.m4: Use `.$ac_objext', not `.o'.
100563         * m4/fnmatch.m4: Likewise.
100564         * m4/getgroups.m4: Likewise.
100565         * m4/getline.m4: Likewise.
100566         * m4/lstat.m4: Likewise.
100567         * m4/malloc.m4: Likewise.
100568         * m4/memcmp.m4: Likewise.
100569         * m4/putenv.m4: Likewise.
100570         * m4/realloc.m4: Likewise.
100571         * m4/regex.m4: Likewise.
100572         * m4/stat.m4: Likewise.
100573         * m4/strftime.m4: Likewise.
100574         Suggestion from Alain Magloire.
100575
100576         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
100577         an argument.
100578
100579         * m4/regex.m4: Add a run-time Test for proper operation of
100580         re_compile_pattern.
100581
100582 1999-01-31  Jim Meyering  <meyering@ascend.com>
100583
100584         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
100585
100586 1999-01-30  Jim Meyering  <meyering@ascend.com>
100587
100588         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
100589
100590         * m4/jm-mktime.m4: Make this a wrapper around the official
100591         AM_FUNC_MKTIME rather than my private copy, now that the official one
100592         is up to date.
100593         * m4/mktime.m4: Remove file.
100594
100595         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
100596         * m4/uptime.m4: Likewise.
100597         * m4/uintmax_t.m4: Likewise.
100598
100599 1999-01-28  Jim Meyering  <meyering@ascend.com>
100600
100601         * m4/jm-macros.m4: Use jm_AFS.
100602         * m4/afs.m4: New file (from fileutils' configure.in).
100603
100604         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
100605         * m4/chown.m4: Likewise.
100606         * m4/d-ino.m4: Likewise.
100607         * m4/d-type.m4: Likewise.
100608         * m4/fnmatch.m4: Likewise.
100609         * m4/getgroups.m4: Likewise.
100610         * m4/gettext.m4: Likewise.
100611         * m4/jm-mktime.m4: Likewise.
100612         * m4/jm-winsz2.m4: Likewise.
100613         * m4/lcmessage.m4: Likewise.
100614         * m4/ls-mntd-fs.m4: Likewise.
100615         * m4/malloc.m4: Likewise.
100616         * m4/memcmp.m4: Likewise.
100617         * m4/putenv.m4: Likewise.
100618         * m4/realloc.m4: Likewise.
100619         * m4/st_mtim.m4: Likewise.
100620         * m4/strftime.m4: Likewise.
100621
100622 1999-01-16  Jim Meyering  <meyering@ascend.com>
100623
100624         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
100625         (ARGMATCH_DIE_DECL): Define.
100626
100627 1999-01-12  Jim Meyering  <meyering@ascend.com>
100628
100629         * m4/Makefile.am.in: Rewrite to avoid using fmt.
100630         Reported by Lars Hecking.
100631
100632 1999-01-10  Jim Meyering  <meyering@ascend.com>
100633
100634         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
100635         gross kludge.
100636         * m4/inttypes_h.m4: Likewise.
100637         * m4/lstat.m4: Likewise.
100638         * m4/malloc.m4: Likewise.
100639         * m4/readdir.m4: Likewise.
100640         * m4/realloc.m4: Likewise.
100641         * m4/st_dm_mode.m4: Likewise.
100642         * m4/stat.m4: Likewise.
100643         * m4/utimbuf.m4: Likewise.
100644         * m4/utimes.m4: Likewise.
100645
100646         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
100647         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
100648         comments in config.h.in are meaningful.
100649
100650         * m4/jm-macros.m4: Require autoconf-2.13 here.
100651
100652         * m4/regex.m4: By default, don't use the included regex.c on systems
100653         with glibc 2.  Suggestion from Uli Drepper.
100654
100655 1999-01-02  Jim Meyering  <meyering@ascend.com>
100656
100657         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
100658
100659 1998-12-18  Jim Meyering  <meyering@ascend.com>
100660
100661         * m4/Makefile.am.in (Makefile.am): Simplify rule.
100662         Based on a suggestion from Lars Hecking.
100663
100664 1998-11-16  Paul Eggert  <eggert@twinsun.com>
100665
100666         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
100667
100668 1998-11-16  Jim Meyering  <meyering@ascend.com>
100669
100670         * m4/lfs.m4: Double-quote the `uname...` expression.
100671
100672 1998-11-14  Jim Meyering  <meyering@ascend.com>
100673
100674         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
100675         * m4/stat.m4: Likewise.
100676
100677 1998-11-03  Jim Meyering  <meyering@ascend.com>
100678
100679         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
100680         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
100681
100682 1998-10-18  Jim Meyering  <meyering@ascend.com>
100683
100684         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
100685
100686 1998-10-17  Jim Meyering  <meyering@ascend.com>
100687
100688         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
100689         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
100690         calls for those previously hard-coded headers.  Instead, take a new
100691         parameter.
100692         (jm_CHECK_DECLARATIONS): Reflect interface change.
100693         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
100694         (jm_CHECK_DECL_LOCALTIME_R): New macro.
100695
100696         * m4/mktime.m4: Test for spring-forward gap before long-running test.
100697
100698 1998-10-14  Jim Meyering  <meyering@ascend.com>
100699
100700         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
100701         instead of "TZ=America/Vancouver".  From Paul Eggert.
100702
100703 1998-10-11  Jim Meyering  <meyering@ascend.com>
100704
100705         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
100706         This adds a test for a recently added compatibility fix for mktime.c.
100707         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
100708
100709 1998-09-27  Jim Meyering  <meyering@ascend.com>
100710
100711         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
100712
100713         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
100714         ../configure.in, including a change from Gordon Matzigkeit to allow
100715         cross-compiling for the Hurd.
100716
100717         * m4/glibc.m4: New file/macro to test for the GNU C Library
100718         versions 1 and 2.  From Gordon Matzigkeit.
100719         Indent.
100720
100721 1998-09-21  Jim Meyering  <meyering@ascend.com>
100722
100723         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
100724
100725 1998-08-18  Paul Eggert  <eggert@twinsun.com>
100726
100727         Port nanosecond-resolution times to UnixWare 2.1.2 and
100728         pedantic Solaris 2.6.
100729
100730         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
100731         AC_STRUCT_ST_MTIM.
100732         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
100733         Generate name of ns member, instead of just 1 or undef.
100734         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
100735
100736 1998-08-15  Jim Meyering  <meyering@ascend.com>
100737
100738         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
100739         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
100740         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
100741         instead of jm_TYPE_SSIZE_T.
100742
100743 1998-08-12  Jim Meyering  <meyering@ascend.com>
100744
100745         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
100746
100747 1998-08-02  Jim Meyering  <meyering@ascend.com>
100748
100749         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
100750         in acconfig.h manually.
100751
100752 1998-07-31  Paul Eggert  <eggert@twinsun.com>
100753
100754         * m4/st_mtim.m4: New file.
100755
100756 1998-07-28  Jim Meyering  <meyering@ascend.com>
100757
100758         * m4/utimes.m4: Undef stat.
100759
100760 1998-07-25  Jim Meyering  <meyering@ascend.com>
100761
100762         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
100763         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
100764
100765 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
100766
100767         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
100768         uid and gid actually remain unchanged.
100769
100770 1998-07-07  Jim Meyering  <meyering@ascend.com>
100771
100772         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
100773
100774 1998-07-04  Jim Meyering  <meyering@ascend.com>
100775
100776         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
100777         to prove that this macro can be used in packages without regex.c.
100778
100779 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
100780
100781         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
100782         is to be used.
100783
100784 1998-07-03  Jim Meyering  <meyering@ascend.com>
100785
100786         * m4/gettext.m4: Add -lintl if it's found to be necessary.
100787
100788         * m4/gettext.m4: New file -- from gettext-0.10.35.
100789         * m4/lcmessage.m4: Likewise.
100790         * m4/progtest.m4: Likewise.
100791
100792         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
100793         * m4/jm-macros.m4: Require the new macro.
100794
100795 1998-06-29  Jim Meyering  <meyering@ascend.com>
100796
100797         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
100798         for the definition of NGROUPS (used in a system header included
100799         by sys/mount.h).
100800
100801 1998-06-28  Jim Meyering  <meyering@ascend.com>
100802
100803         * m4/ls-mntd-fs.m4: New file.
100804         * m4/fstypename.m4: New file.
100805
100806         * m4/jm-macros.m4: Require the new macro.
100807         * m4/jm-glibc-io.m4: New file.
100808
100809 1998-05-19  Jim Meyering  <meyering@ascend.com>
100810
100811         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
100812         * m4/lchown.m4: New file.
100813
100814         * m4/Makefile.am.in: New file.
100815         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
100816
100817 1998-05-14  Jim Meyering  <meyering@ascend.com>
100818
100819         * m4/Makefile.am (EXTRA_DIST): Add them.
100820         * m4/jm-macros.m4: New file.
100821         * m4/utimbuf.m4: New file.
100822
100823 1998-05-12  Jim Meyering  <meyering@ascend.com>
100824
100825         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
100826
100827 1998-05-11  Jim Meyering  <meyering@ascend.com>
100828
100829         * m4/isc-posix.m4: New file.
100830
100831 1998-05-10  Jim Meyering  <meyering@ascend.com>
100832
100833         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
100834
100835 1998-05-09  Jim Meyering  <meyering@ascend.com>
100836
100837         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
100838         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
100839         with automake.
100840
100841         * m4/ssize_t.m4: New file.
100842         * m4/mktime.m4: Remove file -- the new automake has this now.
100843
100844 1998-04-26  Jim Meyering  <meyering@ascend.com>
100845
100846         * m4/assert.m4: New file.
100847         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
100848
100849 1998-04-05  Jim Meyering  <meyering@ascend.com>
100850
100851         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
100852         (jm_PREREQ): Use it here.
100853
100854 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
100855
100856         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
100857         in acconfig.h.
100858
100859 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
100860
100861         * m4/prereq.m4: New file.
100862         * m4/error.m4: New file.
100863         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
100864
100865 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
100866
100867         * m4/getline.m4: Don't set am_cv_func_working_getline before the
100868         cache-check for the same variable -- that defeated the purpose of
100869         the test; the test program was never run.  This was a problem only
100870         on systems with losing getline functions -- HP-UX 10.20 is one.
100871         Reported by Bjorn Helgaas.
100872
100873 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
100874
100875         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
100876
100877 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
100878
100879         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
100880
100881         * m4/const.m4: New file.  Use an initializer in this declaration
100882         typedef int charset[2]; const charset x;
100883         Reported by Bob Glickstein.
100884
100885 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
100886
100887         * m4/chown.m4: Fix reversed types on -1 args to chown.
100888         From Kaveh Ghazi.
100889
100890 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
100891
100892         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
100893         Add lseek and memchr.
100894
100895         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
100896         T.E.Dickey <dickey@clark.net> said that some older preprocessors
100897         have a 20-character limit on names.
100898
100899 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
100900
100901         * m4/inttypes_h.m4: New file.
100902         * m4/uintmax_t.m4: New file.
100903         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
100904
100905
100906         -----
100907
100908         Local Variables:
100909         coding: utf-8
100910         End:
100911
100912         Copyright (C) 1997-2013 Free Software Foundation, Inc.
100913
100914         Copying and distribution of this file, with or without
100915         modification, are permitted provided the copyright notice
100916         and this notice are preserved.